Alexey Serbin has uploaded a new patch set (#5). Change subject: KUDU-1894 fixed deadlock in client.Connection ......................................................................
KUDU-1894 fixed deadlock in client.Connection Due to the reverse order of acquiring of the Connection.lock and some lower-level Netty locks, Connection.enqueueMesage() could deadlock if a ChannelDisconnected/ChannelClosed event arrived in the middle. The idea is to not hold the Connection.lock while invoking the Connection.sendCallToWire() method and, overall, avoid doing any calls to Netty while holding that lock. To test the changes, I ran the ITClient test via dist-test apllying Todd's WIP patch on top: https://gerrit.cloudera.org/#/c/7579/ The test passed 3572 out of 3572 times: http://dist-test.cloudera.org/job?job_id=aserbin.1503526685.24101 http://dist-test.cloudera.org/job?job_id=aserbin.1503527340.4787 http://dist-test.cloudera.org/job?job_id=aserbin.1503527848.6921 Change-Id: I1a0edc3e3accbcff60f2cde641ee470312bbd27a --- M java/kudu-client/src/main/java/org/apache/kudu/client/Connection.java 1 file changed, 54 insertions(+), 21 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/65/7765/5 -- To view, visit http://gerrit.cloudera.org:8080/7765 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I1a0edc3e3accbcff60f2cde641ee470312bbd27a Gerrit-PatchSet: 5 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Alexey Serbin <[email protected]> Gerrit-Reviewer: Adar Dembo <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: Dan Burkert <[email protected]> Gerrit-Reviewer: Todd Lipcon <[email protected]>
