[ 
https://issues.apache.org/jira/browse/BOOKKEEPER-668?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13744874#comment-13744874
 ] 

Hudson commented on BOOKKEEPER-668:
-----------------------------------

SUCCESS: Integrated in bookkeeper-trunk #329 (See 
[https://builds.apache.org/job/bookkeeper-trunk/329/])
BOOKKEEPER-668: Race between PerChannelBookieClient#channelDisconnected() and 
disconnect() calls can make clients hang while add/reading entries in case of 
multiple bookie failures (sijie & ivank via ivank) (ivank: rev 1515769)
* /zookeeper/bookkeeper/trunk/CHANGES.txt
* 
/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/PerChannelBookieClient.java
* 
/zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/proto/TestPerChannelBookieClient.java

                
> Race between PerChannelBookieClient#channelDisconnected() and disconnect() 
> calls can make clients hang while add/reading entries in case of multiple 
> bookie failures
> --------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: BOOKKEEPER-668
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-668
>             Project: Bookkeeper
>          Issue Type: Bug
>          Components: bookkeeper-client
>    Affects Versions: 4.2.1, 4.3.0
>            Reporter: Vinay
>            Assignee: Sijie Guo
>             Fix For: 4.2.2, 4.3.0
>
>         Attachments: 
> 0001-BOOKKEEPER-668-Race-between-PerChannelBookieClient-c.patch, 
> 0001-BOOKKEEPER-668-Race-between-PerChannelBookieClient-c.patch, 
> BOOKKEEPER-668.diff, BOOKKEEPER-668-test.diff
>
>
> 1. Ledger was created with ensemble 2 and quorum as 2 and entries were 
> written.
> 2. While reading entries, 2 BKs out of 3 in cluster were killed and restarted.
> 3. Client was hung at read call waiting for sync counter notification.
> As though I was not able to reproduce this in some tries, but
> By looking at the logs and code, following seems to be problem
> 1. BookieWatcher got the notification first for changes in available bookies.
> 2. PerChannelBookieClient#disconnect() called from BookieWatcher for failed 
> bookies. This has set the 'this.channel=null;'
> 3. PerChannelBookieClient#channelDisconnected() call came now, and it 
> proceeded silently without notifying errors to read ops.
> So client is hung waiting for result.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to