Bikramjeet Vig has uploaded this change for review. ( http://gerrit.cloudera.org:8080/14539
Change subject: IMPALA-8995: Fix synchronization in dequeue thread ...................................................................... IMPALA-8995: Fix synchronization in dequeue thread The admission controller's dequeue thread currently wakes up either when queries release their admission resources or when a statestore update is received. The dequeue loop releases the admission lock at the end of the loop, then acquires it back and calls wait on it. In this small window, a query can complete, update the admission stats by acquiring the admission lock, and then call send a notify to wake the dequeue thread. But since the dequeue thread has not called wait yet, it can miss this notify. Moreover if the statestore is down there is no way of waking it up. This will cause the queued queries to eventually timeout. This patch attempts to fix this by removing that window. Testing: Was able to trigger this manually by adding a sleep right before the dequeue loop acquires the admission lock. Change-Id: I91080ce54e59cc7e6361f7c50d6b2156a8a180c8 --- M be/src/scheduling/admission-controller.cc 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/39/14539/1 -- To view, visit http://gerrit.cloudera.org:8080/14539 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I91080ce54e59cc7e6361f7c50d6b2156a8a180c8 Gerrit-Change-Number: 14539 Gerrit-PatchSet: 1 Gerrit-Owner: Bikramjeet Vig <[email protected]>
