After setting idle_session_timeout , impala server, after completing execution of query, moves it into exception state , if there is no client activity.
Example profile excerpt showing this behavior:
Start execution: 0ns (0ns)
Planning finished: 9ms (9ms)
Child queries finished: 8.3m (8.3m)
Metastore update finished: 8.3m (661ms)
Rows available: 8.3m (0ns)
Cancelled: 11.3m (3.0m)
Unregister query: 12.0m (42.55s)
Query status and query state-
Query Type: DDL
Query State: EXCEPTION
Start Time: Dec 22, 2016 11:45:01 AM
End Time: Dec 22, 2016 11:57:01 AM
Duration: 11m, 59s
Admission Result: Unknown
Client Fetch Wait Time: 3.7m
Client Fetch Wait Time Percentage: 31
Connected User: admin
DDL Type: COMPUTE_STATS
Impala Version: impalad version 2.5.0-cdh5.7.2 RELEASE (build 1140f8289dc0d2b1517bcf70454bb4575eb8cc70)
Network Address: 10.17.100.123:44618
Out of Memory: false
Planning Wait Time: 9ms
Planning Wait Time Percentage: 0
Query Status: Query d141e0d996c91e72:bb8726fb917537bb expired due to client inactivity (timeout is 3m)
Session ID: 3043ff5042860968:8f92bc3bd2a0ca83
Session Type: HIVESERVER2
Though query status string is very clear saying "expired due to client inactivity (timeout is 3m)", the problem is with "Query State: EXCEPTION"
This makes user, think something went wrong with query execution.
So I recommend that queries completed, but expired due to client-inactivity be marked as
"Query State: FINISHED"