Hello Alexey Serbin, Kudu Jenkins, Todd Lipcon,

I'd like you to reexamine a change. Please visit

    http://gerrit.cloudera.org:8080/15032

to look at the new patch set (#2).

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
---
M src/kudu/rpc/connection.cc
M src/kudu/rpc/rpc-test-base.h
M src/kudu/rpc/rpc-test.cc
3 files changed, 18 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/32/15032/2
--
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: newpatchset
Gerrit-Change-Id: I5b97ccc4787809fca8fbc991bb1151940477efca
Gerrit-Change-Number: 15032
Gerrit-PatchSet: 2
Gerrit-Owner: Thomas Tauber-Marshall <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Todd Lipcon <[email protected]>

Reply via email to