Hello Alexey Serbin, Andrew Wong,

I'd like you to do a code review. Please visit

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

to review the following change.


Change subject: KUDU-2946: avoid ServicePool inc/dec in 
Messenger::QueueInboundCall
......................................................................

KUDU-2946: avoid ServicePool inc/dec in Messenger::QueueInboundCall

Before commit 0ecc2c771, this function took the Messenger lock for what
seemed like longer than necessary. To reduce the size of the critical
section, we had to explicitly take an ServicePool ref, then release it at the
end of the function.

This turned out to have unintended side effects: it's possible for the
release to drop the last ref and destroy the ServicePool. The problem with
this is that QueueInboundCall is called by the reactor thread and destroying
the ServicePool is a blocking operation.

Rather than untangle the morass of _how_ the reactor thread ended up with
the last ServicePool ref, let's just revert this portion of that commit.

Change-Id: Id759617dcb13a2533e9ce071880c43678b700d25
---
M src/kudu/rpc/messenger.cc
1 file changed, 5 insertions(+), 3 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/59/14259/1
--
To view, visit http://gerrit.cloudera.org:8080/14259
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Id759617dcb13a2533e9ce071880c43678b700d25
Gerrit-Change-Number: 14259
Gerrit-PatchSet: 1
Gerrit-Owner: Adar Dembo <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Andrew Wong <[email protected]>

Reply via email to