Details
-
Bug
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
Impala 2.8.0
-
None
Description
I had a suspended HMS process, which lead to the following error:
[localhost:21000] > describe functional.alltypes; Query: describe functional.alltypes ERROR: AnalysisException: Failed to load metadata for table: functional.alltypes. Running 'invalidate metadata functional.alltypes' may resolve this problem. CAUSED BY: TTransportException: java.net.SocketTimeoutException: Read timed out CAUSED BY: SocketTimeoutException: Read timed out CAUSED BY: TableLoadingException: Failed to load metadata for table: functional.alltypes. Running 'invalidate metadata functional.alltypes' may resolve this problem. CAUSED BY: TTransportException: java.net.SocketTimeoutException: Read timed out CAUSED BY: SocketTimeoutException: Read timed out
This is fine, but when I restarted HMS, describe functional.alltypes still failed with the same error, because it is cached in the IncompleteTable object that is constructed when metadata loading failed. Users would expect Impala to retry when a socket timeout occurs.
Running invalidate metadata functional.alltypes does fix the problem, but the error message doesn't make it clear that you have to do so to have any chance of clearing the exception. Ideally, Impala would retry the loading operation.