[ https://issues.apache.org/jira/browse/HBASE-6313?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13408533#comment-13408533 ]
binlijin commented on HBASE-6313: --------------------------------- For 0.94, in Connection.receiveResponse(), two possible: (1) read from the in (DataInputStream) success, Call.callComplete() is called, client will be wake. (2) read from the in (DataInputStream) failed, throws Exception, Connection.markClosed() will be called and so the thread Connection will exit, all calls in queue(calls) will remove and notify. Without this patch, first remove from the queue(calls), for possible 1, no exception, normal for possible 2, the call is not in queue(calls), so Client wait for the call will not be notified. With this patch, first get from the queue(calls), for possible 1, no exception, normal, call remove from the queue(calls) for possible 2, have a exception the call is still in queue(calls), so Client wait for the call will be notified, because all call in queue(calls) will be removed and notified. > Client hangs because the client is not notified > ------------------------------------------------ > > Key: HBASE-6313 > URL: https://issues.apache.org/jira/browse/HBASE-6313 > Project: HBase > Issue Type: Bug > Affects Versions: 0.92.1, 0.94.0 > Reporter: binlijin > Assignee: binlijin > Fix For: 0.94.1 > > Attachments: HBASE-6313-0.92-2.patch, HBASE-6313-0.92-3.patch, > HBASE-6313-0.92.patch, HBASE-6313-0.94-2.patch, HBASE-6313-0.94.patch, > HBASE-6313-trunk-2.patch, HBASE-6313-trunk.patch, clienthangthread.out > > > If the call first remove from the calls, when some exception happened in > reading from the DataInputStream, the call will not be notified, cause the > client hangs. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira