Thomas Tauber-Marshall created IMPALA-8597:
----------------------------------------------

             Summary: Improve session maintenance timing logic
                 Key: IMPALA-8597
                 URL: https://issues.apache.org/jira/browse/IMPALA-8597
             Project: IMPALA
          Issue Type: Improvement
            Reporter: Thomas Tauber-Marshall


Currently, the coordinator maintains a list of the timeout lengths for all 
sessions that have an idle_session_timeout set. The original intention of this 
was to have the thread that checks for timeouts wake up at an interval of <the 
shortest currently registered timeout> / 2, but this resulted in IMPALA-5108

The fix for that bug changed the session maintenance thread wake up every 1 
second if any timeout is registered, but we still maintain the list of timeout 
values even though only the length of the list is ever used.

Given that the default config is for there to be no session timeouts and that 
the maintenance thread is somewhat inefficient in holding the 
session_state_map_ lock for almost its entire execution, we may want to keep 
the behavior of only waking up once per second if there are any registered 
timeouts, in which case it would be more efficient to just maintain a count of 
timeouts instead of the list.

Or, we may want to just simplify the logic and have the thread always wake up 
once per second, without tracking the registered timeouts at all (esp. with the 
new work in IMPALA-1653 which adds closing of disconnected sessions to the 
maintenance thread), in which case we might want to consider ways to avoid 
holding the session_state_map_ lock for so long, eg. by sharding it the way we 
did with the client_request_state_map_



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org

Reply via email to