You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2023/06/14 01:53:00 UTC

[jira] [Commented] (IMPALA-12208) DCHECK(pending_rpcs_.empty()) fails with concurrent RPCs

    [ https://issues.apache.org/jira/browse/IMPALA-12208?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17732323#comment-17732323 ] 

ASF subversion and git services commented on IMPALA-12208:
----------------------------------------------------------

Commit e338c311849ca305092e1ceefec8de2490706e39 in impala's branch refs/heads/master from Kurt Deschler
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=e338c3118 ]

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 <jo...@cloudera.com>
Reviewed-by: Csaba Ringhofer <cs...@cloudera.com>
Tested-by: Impala Public Jenkins <im...@cloudera.com>


> DCHECK(pending_rpcs_.empty()) fails with concurrent RPCs
> --------------------------------------------------------
>
>                 Key: IMPALA-12208
>                 URL: https://issues.apache.org/jira/browse/IMPALA-12208
>             Project: IMPALA
>          Issue Type: Bug
>            Reporter: Kurt Deschler
>            Assignee: Kurt Deschler
>            Priority: Major
>
> There is a race condition where concurrent RPCs can register with the ClientRequestState after Finalize has been called. This causes the DCHECK(pending_rpcs_.empty()) since these RPCs are not unregistered in Finalize() as expected.
> Issue reproduces with ASAN builds running tests/hs2/test_hs2.py::TestHS2::test_concurrent_unregister in a loop.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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