[
https://issues.apache.org/jira/browse/KUDU-3042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17017627#comment-17017627
]
ASF subversion and git services commented on KUDU-3042:
-------------------------------------------------------
Commit 0bd417b40e4dfea9bb454414c836ce589a16ca5d in kudu's branch
refs/heads/master from Thomas Tauber-Marshall
[ https://gitbox.apache.org/repos/asf?p=kudu.git;h=0bd417b ]
KUDU-3042: Fix invalid DCHECK when rpc is cancelled then times out
The timeout handling code in Connection::HandleOutboundCallTimeout
assumes that when a timeout is triggered the OutboundCall must still
be valid. In the case of an asynchronous rpc that was cancelled before
the timeout was hit, this will not be the case.
The fix is to check if the OutboundCall is still valid and return
without processing the timeout if it is not.
Testing:
- Added timeout tests to TestCancellation to inject timeouts at
OutboundCall states from READY to SENT.
- Tested in Impala in the context of implementing IMPALA-8712.
Change-Id: I5b97ccc4787809fca8fbc991bb1151940477efca
Reviewed-on: http://gerrit.cloudera.org:8080/15032
Tested-by: Kudu Jenkins
Reviewed-by: Alexey Serbin <[email protected]>
> DCHECK hit in Connection::HandleOutboundCallTimeout
> ---------------------------------------------------
>
> Key: KUDU-3042
> URL: https://issues.apache.org/jira/browse/KUDU-3042
> Project: Kudu
> Issue Type: Bug
> Components: rpc
> Affects Versions: 1.12.0
> Reporter: Thomas Tauber-Marshall
> Priority: Critical
>
> When testing a patch for IMPALA-8712, I ran into the error:
> {noformat}
> F0114 12:18:29.332731 22712 connection.cc:379] Check failed: car->call
> {noformat}
> This occurs when an async rpc is cancelled and then hits its timeout, as the
> timeout handling code assumes that the call is still valid.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)