Joe McDonnell has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/20065 )

Change subject: IMPALA-12208: Avoid registering RPCs with ClientRequestState 
after Finalization
......................................................................

IMPALA-12208: Avoid registering RPCs with ClientRequestState after Finalization

This patch fixes a timing hole where concurrent RPCs could register with
ClientRequestState after Finalize() had already been called, resulting in
DCHECK(pending_rpcs_.empty()) failure in debug builds since the RPCs were
not unregistered before the ClientRequestState was destroyed.
This DCHECK ensures that timing info for registered RPCs is reaped
wherever possible. Prod builds did not exhibit any negative symptoms.

Testing:
-Ran tests/hs2/test_hs2.py::TestHS2::test_concurrent_unregister in a
 loop for several minutes. Previously this would fail within seconds.

Change-Id: I66415e5695c2ed65518efee2d9dbaaec224910e9
Reviewed-on: http://gerrit.cloudera.org:8080/20065
Reviewed-by: Joe McDonnell <[email protected]>
Reviewed-by: Csaba Ringhofer <[email protected]>
Tested-by: Impala Public Jenkins <[email protected]>
---
M be/src/service/client-request-state.cc
M be/src/service/client-request-state.h
2 files changed, 9 insertions(+), 3 deletions(-)

Approvals:
  Joe McDonnell: Looks good to me, approved
  Csaba Ringhofer: Looks good to me, approved
  Impala Public Jenkins: Verified

--
To view, visit http://gerrit.cloudera.org:8080/20065
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I66415e5695c2ed65518efee2d9dbaaec224910e9
Gerrit-Change-Number: 20065
Gerrit-PatchSet: 3
Gerrit-Owner: Kurt Deschler <[email protected]>
Gerrit-Reviewer: Csaba Ringhofer <[email protected]>
Gerrit-Reviewer: Impala Public Jenkins <[email protected]>
Gerrit-Reviewer: Joe McDonnell <[email protected]>
Gerrit-Reviewer: Kurt Deschler <[email protected]>

Reply via email to