You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@bookkeeper.apache.org by "Rakesh R (Created) (JIRA)" <ji...@apache.org> on 2012/03/16 11:51:39 UTC

[jira] [Created] (BOOKKEEPER-186) Bookkeeper throttling - permits is not released when read has failed from all replicas

Bookkeeper throttling - permits is not released when read has failed from all replicas
--------------------------------------------------------------------------------------

                 Key: BOOKKEEPER-186
                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-186
             Project: Bookkeeper
          Issue Type: Bug
          Components: bookkeeper-client
    Affects Versions: 4.0.0
            Reporter: Rakesh R
             Fix For: 4.1.0


Permit is not releasing in the case when there is no quorum available and the readEntries operation failed from all replicas.

Following is the condition where it checks the failure in quorum and invoking ReadCallback:
{noformat}
void sendRead(ArrayList<InetSocketAddress> ensemble, LedgerEntry entry, int lastErrorCode) {
   if (entry.nextReplicaIndexToReadFrom >= lh.metadata.quorumSize) {
      // we are done, the read has failed from all replicas, just fail the
      // read
      submitCallback(lastErrorCode);
      return;
   }
{noformat}

--
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

        

[jira] [Commented] (BOOKKEEPER-186) Bookkeeper throttling - permits is not released when read has failed from all replicas

Posted by "Sijie Guo (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/BOOKKEEPER-186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13233217#comment-13233217 ] 

Sijie Guo commented on BOOKKEEPER-186:
--------------------------------------

actually, when I resolved the issue, I tried to assign it to you, but I could not find your name in the list, I had no idea why? 
                
> Bookkeeper throttling - permits is not released when read has failed from all replicas
> --------------------------------------------------------------------------------------
>
>                 Key: BOOKKEEPER-186
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-186
>             Project: Bookkeeper
>          Issue Type: Bug
>          Components: bookkeeper-client
>    Affects Versions: 4.0.0
>            Reporter: Rakesh R
>             Fix For: 4.1.0
>
>         Attachments: BOOKKEEPER-186_trunk-1.patch, BOOKKEEPER-186_trunk.patch, BOOKKEEPER-186_trunk.patch
>
>
> Permit is not releasing in the case when there is no quorum available and the readEntries operation failed from all replicas.
> Following is the condition where it checks the failure in quorum and invoking ReadCallback:
> {noformat}
> void sendRead(ArrayList<InetSocketAddress> ensemble, LedgerEntry entry, int lastErrorCode) {
>    if (entry.nextReplicaIndexToReadFrom >= lh.metadata.quorumSize) {
>       // we are done, the read has failed from all replicas, just fail the
>       // read
>       submitCallback(lastErrorCode);
>       return;
>    }
> {noformat}

--
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

        

[jira] [Commented] (BOOKKEEPER-186) Bookkeeper throttling - permits is not released when read has failed from all replicas

Posted by "Sijie Guo (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/BOOKKEEPER-186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13233219#comment-13233219 ] 

Sijie Guo commented on BOOKKEEPER-186:
--------------------------------------

maybe you can assign it to yourself :)
                
> Bookkeeper throttling - permits is not released when read has failed from all replicas
> --------------------------------------------------------------------------------------
>
>                 Key: BOOKKEEPER-186
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-186
>             Project: Bookkeeper
>          Issue Type: Bug
>          Components: bookkeeper-client
>    Affects Versions: 4.0.0
>            Reporter: Rakesh R
>             Fix For: 4.1.0
>
>         Attachments: BOOKKEEPER-186_trunk-1.patch, BOOKKEEPER-186_trunk.patch, BOOKKEEPER-186_trunk.patch
>
>
> Permit is not releasing in the case when there is no quorum available and the readEntries operation failed from all replicas.
> Following is the condition where it checks the failure in quorum and invoking ReadCallback:
> {noformat}
> void sendRead(ArrayList<InetSocketAddress> ensemble, LedgerEntry entry, int lastErrorCode) {
>    if (entry.nextReplicaIndexToReadFrom >= lh.metadata.quorumSize) {
>       // we are done, the read has failed from all replicas, just fail the
>       // read
>       submitCallback(lastErrorCode);
>       return;
>    }
> {noformat}

--
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

        

[jira] [Commented] (BOOKKEEPER-186) Bookkeeper throttling - permits is not released when read has failed from all replicas

Posted by "Ivan Kelly (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/BOOKKEEPER-186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13232572#comment-13232572 ] 

Ivan Kelly commented on BOOKKEEPER-186:
---------------------------------------

lgtm +1
                
> Bookkeeper throttling - permits is not released when read has failed from all replicas
> --------------------------------------------------------------------------------------
>
>                 Key: BOOKKEEPER-186
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-186
>             Project: Bookkeeper
>          Issue Type: Bug
>          Components: bookkeeper-client
>    Affects Versions: 4.0.0
>            Reporter: Rakesh R
>             Fix For: 4.1.0
>
>         Attachments: BOOKKEEPER-186_trunk-1.patch, BOOKKEEPER-186_trunk.patch, BOOKKEEPER-186_trunk.patch
>
>
> Permit is not releasing in the case when there is no quorum available and the readEntries operation failed from all replicas.
> Following is the condition where it checks the failure in quorum and invoking ReadCallback:
> {noformat}
> void sendRead(ArrayList<InetSocketAddress> ensemble, LedgerEntry entry, int lastErrorCode) {
>    if (entry.nextReplicaIndexToReadFrom >= lh.metadata.quorumSize) {
>       // we are done, the read has failed from all replicas, just fail the
>       // read
>       submitCallback(lastErrorCode);
>       return;
>    }
> {noformat}

--
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

        

[jira] [Commented] (BOOKKEEPER-186) Bookkeeper throttling - permits is not released when read has failed from all replicas

Posted by "Sijie Guo (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/BOOKKEEPER-186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13232003#comment-13232003 ] 

Sijie Guo commented on BOOKKEEPER-186:
--------------------------------------

well spotted. the patch is also good.

just some comments:
1) it would be better to add apache license at the header of newly added file.
2) why use 'Test'? is null OK?
{code}
lh.asyncReadEntries(0, throttle-1, bookieReadCallback, "Test"); 
{code}
                
> Bookkeeper throttling - permits is not released when read has failed from all replicas
> --------------------------------------------------------------------------------------
>
>                 Key: BOOKKEEPER-186
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-186
>             Project: Bookkeeper
>          Issue Type: Bug
>          Components: bookkeeper-client
>    Affects Versions: 4.0.0
>            Reporter: Rakesh R
>             Fix For: 4.1.0
>
>         Attachments: BOOKKEEPER-186_trunk.patch
>
>
> Permit is not releasing in the case when there is no quorum available and the readEntries operation failed from all replicas.
> Following is the condition where it checks the failure in quorum and invoking ReadCallback:
> {noformat}
> void sendRead(ArrayList<InetSocketAddress> ensemble, LedgerEntry entry, int lastErrorCode) {
>    if (entry.nextReplicaIndexToReadFrom >= lh.metadata.quorumSize) {
>       // we are done, the read has failed from all replicas, just fail the
>       // read
>       submitCallback(lastErrorCode);
>       return;
>    }
> {noformat}

--
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

        

[jira] [Updated] (BOOKKEEPER-186) Bookkeeper throttling - permits is not released when read has failed from all replicas

Posted by "Rakesh R (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/BOOKKEEPER-186?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rakesh R updated BOOKKEEPER-186:
--------------------------------

    Attachment: BOOKKEEPER-186_trunk.patch
    
> Bookkeeper throttling - permits is not released when read has failed from all replicas
> --------------------------------------------------------------------------------------
>
>                 Key: BOOKKEEPER-186
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-186
>             Project: Bookkeeper
>          Issue Type: Bug
>          Components: bookkeeper-client
>    Affects Versions: 4.0.0
>            Reporter: Rakesh R
>             Fix For: 4.1.0
>
>         Attachments: BOOKKEEPER-186_trunk.patch
>
>
> Permit is not releasing in the case when there is no quorum available and the readEntries operation failed from all replicas.
> Following is the condition where it checks the failure in quorum and invoking ReadCallback:
> {noformat}
> void sendRead(ArrayList<InetSocketAddress> ensemble, LedgerEntry entry, int lastErrorCode) {
>    if (entry.nextReplicaIndexToReadFrom >= lh.metadata.quorumSize) {
>       // we are done, the read has failed from all replicas, just fail the
>       // read
>       submitCallback(lastErrorCode);
>       return;
>    }
> {noformat}

--
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

        

[jira] [Assigned] (BOOKKEEPER-186) Bookkeeper throttling - permits is not released when read has failed from all replicas

Posted by "Flavio Junqueira (Assigned) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/BOOKKEEPER-186?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Flavio Junqueira reassigned BOOKKEEPER-186:
-------------------------------------------

    Assignee: Rakesh R

Done.
                
> Bookkeeper throttling - permits is not released when read has failed from all replicas
> --------------------------------------------------------------------------------------
>
>                 Key: BOOKKEEPER-186
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-186
>             Project: Bookkeeper
>          Issue Type: Bug
>          Components: bookkeeper-client
>    Affects Versions: 4.0.0
>            Reporter: Rakesh R
>            Assignee: Rakesh R
>             Fix For: 4.1.0
>
>         Attachments: BOOKKEEPER-186_trunk-1.patch, BOOKKEEPER-186_trunk.patch, BOOKKEEPER-186_trunk.patch
>
>
> Permit is not releasing in the case when there is no quorum available and the readEntries operation failed from all replicas.
> Following is the condition where it checks the failure in quorum and invoking ReadCallback:
> {noformat}
> void sendRead(ArrayList<InetSocketAddress> ensemble, LedgerEntry entry, int lastErrorCode) {
>    if (entry.nextReplicaIndexToReadFrom >= lh.metadata.quorumSize) {
>       // we are done, the read has failed from all replicas, just fail the
>       // read
>       submitCallback(lastErrorCode);
>       return;
>    }
> {noformat}

--
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

        

[jira] [Commented] (BOOKKEEPER-186) Bookkeeper throttling - permits is not released when read has failed from all replicas

Posted by "Hudson (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/BOOKKEEPER-186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13232645#comment-13232645 ] 

Hudson commented on BOOKKEEPER-186:
-----------------------------------

Integrated in bookkeeper-trunk #418 (See [https://builds.apache.org/job/bookkeeper-trunk/418/])
    BOOKKEEPER-186: Bookkeeper throttling - permits is not released when read has failed from all replicas (Rakesh R via sijie) (Revision 1302458)

     Result = ABORTED
sijie : 
Files : 
* /zookeeper/bookkeeper/trunk/CHANGES.txt
* /zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/PendingReadOp.java
* /zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieThrottleTest.java

                
> Bookkeeper throttling - permits is not released when read has failed from all replicas
> --------------------------------------------------------------------------------------
>
>                 Key: BOOKKEEPER-186
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-186
>             Project: Bookkeeper
>          Issue Type: Bug
>          Components: bookkeeper-client
>    Affects Versions: 4.0.0
>            Reporter: Rakesh R
>             Fix For: 4.1.0
>
>         Attachments: BOOKKEEPER-186_trunk-1.patch, BOOKKEEPER-186_trunk.patch, BOOKKEEPER-186_trunk.patch
>
>
> Permit is not releasing in the case when there is no quorum available and the readEntries operation failed from all replicas.
> Following is the condition where it checks the failure in quorum and invoking ReadCallback:
> {noformat}
> void sendRead(ArrayList<InetSocketAddress> ensemble, LedgerEntry entry, int lastErrorCode) {
>    if (entry.nextReplicaIndexToReadFrom >= lh.metadata.quorumSize) {
>       // we are done, the read has failed from all replicas, just fail the
>       // read
>       submitCallback(lastErrorCode);
>       return;
>    }
> {noformat}

--
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

        

[jira] [Commented] (BOOKKEEPER-186) Bookkeeper throttling - permits is not released when read has failed from all replicas

Posted by "Rakesh R (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/BOOKKEEPER-186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13232203#comment-13232203 ] 

Rakesh R commented on BOOKKEEPER-186:
-------------------------------------

Oh ok!...I will upload the patch tmrw with apache license at the header of newly added file.
                
> Bookkeeper throttling - permits is not released when read has failed from all replicas
> --------------------------------------------------------------------------------------
>
>                 Key: BOOKKEEPER-186
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-186
>             Project: Bookkeeper
>          Issue Type: Bug
>          Components: bookkeeper-client
>    Affects Versions: 4.0.0
>            Reporter: Rakesh R
>             Fix For: 4.1.0
>
>         Attachments: BOOKKEEPER-186_trunk.patch, BOOKKEEPER-186_trunk.patch
>
>
> Permit is not releasing in the case when there is no quorum available and the readEntries operation failed from all replicas.
> Following is the condition where it checks the failure in quorum and invoking ReadCallback:
> {noformat}
> void sendRead(ArrayList<InetSocketAddress> ensemble, LedgerEntry entry, int lastErrorCode) {
>    if (entry.nextReplicaIndexToReadFrom >= lh.metadata.quorumSize) {
>       // we are done, the read has failed from all replicas, just fail the
>       // read
>       submitCallback(lastErrorCode);
>       return;
>    }
> {noformat}

--
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

        

[jira] [Updated] (BOOKKEEPER-186) Bookkeeper throttling - permits is not released when read has failed from all replicas

Posted by "Rakesh R (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/BOOKKEEPER-186?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rakesh R updated BOOKKEEPER-186:
--------------------------------

    Attachment: BOOKKEEPER-186_trunk.patch

Resubmitting the patch with apache license. Null is ok, I just given a name for testing.
                
> Bookkeeper throttling - permits is not released when read has failed from all replicas
> --------------------------------------------------------------------------------------
>
>                 Key: BOOKKEEPER-186
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-186
>             Project: Bookkeeper
>          Issue Type: Bug
>          Components: bookkeeper-client
>    Affects Versions: 4.0.0
>            Reporter: Rakesh R
>             Fix For: 4.1.0
>
>         Attachments: BOOKKEEPER-186_trunk.patch, BOOKKEEPER-186_trunk.patch
>
>
> Permit is not releasing in the case when there is no quorum available and the readEntries operation failed from all replicas.
> Following is the condition where it checks the failure in quorum and invoking ReadCallback:
> {noformat}
> void sendRead(ArrayList<InetSocketAddress> ensemble, LedgerEntry entry, int lastErrorCode) {
>    if (entry.nextReplicaIndexToReadFrom >= lh.metadata.quorumSize) {
>       // we are done, the read has failed from all replicas, just fail the
>       // read
>       submitCallback(lastErrorCode);
>       return;
>    }
> {noformat}

--
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

        

[jira] [Commented] (BOOKKEEPER-186) Bookkeeper throttling - permits is not released when read has failed from all replicas

Posted by "Sijie Guo (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/BOOKKEEPER-186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13232620#comment-13232620 ] 

Sijie Guo commented on BOOKKEEPER-186:
--------------------------------------

committed as r1302458. thanks, Rakesh.
                
> Bookkeeper throttling - permits is not released when read has failed from all replicas
> --------------------------------------------------------------------------------------
>
>                 Key: BOOKKEEPER-186
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-186
>             Project: Bookkeeper
>          Issue Type: Bug
>          Components: bookkeeper-client
>    Affects Versions: 4.0.0
>            Reporter: Rakesh R
>             Fix For: 4.1.0
>
>         Attachments: BOOKKEEPER-186_trunk-1.patch, BOOKKEEPER-186_trunk.patch, BOOKKEEPER-186_trunk.patch
>
>
> Permit is not releasing in the case when there is no quorum available and the readEntries operation failed from all replicas.
> Following is the condition where it checks the failure in quorum and invoking ReadCallback:
> {noformat}
> void sendRead(ArrayList<InetSocketAddress> ensemble, LedgerEntry entry, int lastErrorCode) {
>    if (entry.nextReplicaIndexToReadFrom >= lh.metadata.quorumSize) {
>       // we are done, the read has failed from all replicas, just fail the
>       // read
>       submitCallback(lastErrorCode);
>       return;
>    }
> {noformat}

--
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

        

[jira] [Commented] (BOOKKEEPER-186) Bookkeeper throttling - permits is not released when read has failed from all replicas

Posted by "Rakesh R (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/BOOKKEEPER-186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13233180#comment-13233180 ] 

Rakesh R commented on BOOKKEEPER-186:
-------------------------------------

Thanks Sijie. Presently the state of Assignee is 'Unassigned'. Could you please assign it to me:-)
                
> Bookkeeper throttling - permits is not released when read has failed from all replicas
> --------------------------------------------------------------------------------------
>
>                 Key: BOOKKEEPER-186
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-186
>             Project: Bookkeeper
>          Issue Type: Bug
>          Components: bookkeeper-client
>    Affects Versions: 4.0.0
>            Reporter: Rakesh R
>             Fix For: 4.1.0
>
>         Attachments: BOOKKEEPER-186_trunk-1.patch, BOOKKEEPER-186_trunk.patch, BOOKKEEPER-186_trunk.patch
>
>
> Permit is not releasing in the case when there is no quorum available and the readEntries operation failed from all replicas.
> Following is the condition where it checks the failure in quorum and invoking ReadCallback:
> {noformat}
> void sendRead(ArrayList<InetSocketAddress> ensemble, LedgerEntry entry, int lastErrorCode) {
>    if (entry.nextReplicaIndexToReadFrom >= lh.metadata.quorumSize) {
>       // we are done, the read has failed from all replicas, just fail the
>       // read
>       submitCallback(lastErrorCode);
>       return;
>    }
> {noformat}

--
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

        

[jira] [Commented] (BOOKKEEPER-186) Bookkeeper throttling - permits is not released when read has failed from all replicas

Posted by "Rakesh R (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/BOOKKEEPER-186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13231050#comment-13231050 ] 

Rakesh R commented on BOOKKEEPER-186:
-------------------------------------

+Suggestion:+

Since permits is acquired for each entries, we couldn't keep the release logic inside submitCallback. IMO, it would be fine to place 'lh.opCounterSem.release();' before submitCallback(lastErrorCode); 

                
> Bookkeeper throttling - permits is not released when read has failed from all replicas
> --------------------------------------------------------------------------------------
>
>                 Key: BOOKKEEPER-186
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-186
>             Project: Bookkeeper
>          Issue Type: Bug
>          Components: bookkeeper-client
>    Affects Versions: 4.0.0
>            Reporter: Rakesh R
>             Fix For: 4.1.0
>
>
> Permit is not releasing in the case when there is no quorum available and the readEntries operation failed from all replicas.
> Following is the condition where it checks the failure in quorum and invoking ReadCallback:
> {noformat}
> void sendRead(ArrayList<InetSocketAddress> ensemble, LedgerEntry entry, int lastErrorCode) {
>    if (entry.nextReplicaIndexToReadFrom >= lh.metadata.quorumSize) {
>       // we are done, the read has failed from all replicas, just fail the
>       // read
>       submitCallback(lastErrorCode);
>       return;
>    }
> {noformat}

--
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

        

[jira] [Updated] (BOOKKEEPER-186) Bookkeeper throttling - permits is not released when read has failed from all replicas

Posted by "Rakesh R (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/BOOKKEEPER-186?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rakesh R updated BOOKKEEPER-186:
--------------------------------

    Attachment: BOOKKEEPER-186_trunk-1.patch

@Sijie.
Uploaded latest patch with the comments fixed.
                
> Bookkeeper throttling - permits is not released when read has failed from all replicas
> --------------------------------------------------------------------------------------
>
>                 Key: BOOKKEEPER-186
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-186
>             Project: Bookkeeper
>          Issue Type: Bug
>          Components: bookkeeper-client
>    Affects Versions: 4.0.0
>            Reporter: Rakesh R
>             Fix For: 4.1.0
>
>         Attachments: BOOKKEEPER-186_trunk-1.patch, BOOKKEEPER-186_trunk.patch, BOOKKEEPER-186_trunk.patch
>
>
> Permit is not releasing in the case when there is no quorum available and the readEntries operation failed from all replicas.
> Following is the condition where it checks the failure in quorum and invoking ReadCallback:
> {noformat}
> void sendRead(ArrayList<InetSocketAddress> ensemble, LedgerEntry entry, int lastErrorCode) {
>    if (entry.nextReplicaIndexToReadFrom >= lh.metadata.quorumSize) {
>       // we are done, the read has failed from all replicas, just fail the
>       // read
>       submitCallback(lastErrorCode);
>       return;
>    }
> {noformat}

--
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

        

[jira] [Commented] (BOOKKEEPER-186) Bookkeeper throttling - permits is not released when read has failed from all replicas

Posted by "Sijie Guo (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/BOOKKEEPER-186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13232613#comment-13232613 ] 

Sijie Guo commented on BOOKKEEPER-186:
--------------------------------------

+1. will commit it later.
                
> Bookkeeper throttling - permits is not released when read has failed from all replicas
> --------------------------------------------------------------------------------------
>
>                 Key: BOOKKEEPER-186
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-186
>             Project: Bookkeeper
>          Issue Type: Bug
>          Components: bookkeeper-client
>    Affects Versions: 4.0.0
>            Reporter: Rakesh R
>             Fix For: 4.1.0
>
>         Attachments: BOOKKEEPER-186_trunk-1.patch, BOOKKEEPER-186_trunk.patch, BOOKKEEPER-186_trunk.patch
>
>
> Permit is not releasing in the case when there is no quorum available and the readEntries operation failed from all replicas.
> Following is the condition where it checks the failure in quorum and invoking ReadCallback:
> {noformat}
> void sendRead(ArrayList<InetSocketAddress> ensemble, LedgerEntry entry, int lastErrorCode) {
>    if (entry.nextReplicaIndexToReadFrom >= lh.metadata.quorumSize) {
>       // we are done, the read has failed from all replicas, just fail the
>       // read
>       submitCallback(lastErrorCode);
>       return;
>    }
> {noformat}

--
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