Alexey Serbin has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/15032 )
Change subject: KUDU-3042: Fix invalid DCHECK when rpc is cancelled then times out ...................................................................... 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 <aser...@cloudera.com> --- M src/kudu/rpc/connection.cc M src/kudu/rpc/rpc-test-base.h M src/kudu/rpc/rpc-test.cc 3 files changed, 22 insertions(+), 9 deletions(-) Approvals: Kudu Jenkins: Verified Alexey Serbin: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/15032 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I5b97ccc4787809fca8fbc991bb1151940477efca Gerrit-Change-Number: 15032 Gerrit-PatchSet: 4 Gerrit-Owner: Thomas Tauber-Marshall <tmarsh...@cloudera.com> Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com> Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Thomas Tauber-Marshall <tmarsh...@cloudera.com> Gerrit-Reviewer: Tidy Bot (241) Gerrit-Reviewer: Todd Lipcon <t...@apache.org>