Earlier when I have seen ImpalaThriftAPICallFailed it was due to a connection timeout between the client and Impala. Through ODBC/JDBC the connection can become inactive when Impala is executing the query, if the client tries to use a closed connection the call fails. The client might be trying to close the connection as well. Possible causes of the connection termination could be:
A load balancer terminates the idle connection
The driver closes the connection because SocketTimeout is reached
The TRACE level driver logs can help to identify how and when was the connection terminated the next steps could be:
Enable TRACE level driver logging, the log level and the log path has to be configured, please see our documentation here. This configuration is often client specific.
Open the connection logs and look for the ImpalaThriftAPICallFailed message.
Check the earlier messages, there could be other errors or the connection was probably closed just before the client request. The timestamps should help identify which timeout was reached, the SocketTimeout is 30s by default.
The timeouts could be reached because a slow query execution or because the client did not close the query. As the dashboard is refreshing it is probably because the client does not close the query. Just in case the query speed should be checked, if that is fine then the socket timeout could be increased a bit to give time for the client to close the query.