You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@bookkeeper.apache.org by "Sijie Guo (JIRA)" <ji...@apache.org> on 2011/08/16 13:22:27 UTC

[jira] [Created] (BOOKKEEPER-49) bookkeeper - parallel async read same entry of same ledger will fail

bookkeeper - parallel async read same entry of same ledger will fail
--------------------------------------------------------------------

                 Key: BOOKKEEPER-49
                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-49
             Project: Bookkeeper
          Issue Type: Bug
          Components: bookkeeper-client
    Affects Versions: 3.4.0
            Reporter: Sijie Guo


all ledgers shared a PerChannelBookieClient. 
PerChannelBookieClient put all the read requests in a ConcurrentHashMap<CompletionKey, ReadCompletion> map called readCompletions, which is indexed by CompletionKey. If two read requests have same entryId and same ledgerId, they have the same CompletionKey, the latter one will overwrite the previous one. So a read request's callback will not be invoked.

we may need to chain the callbacks for same completion keys.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (BOOKKEEPER-49) bookkeeper - parallel async read same entry of same ledger will fail

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

Sijie Guo commented on BOOKKEEPER-49:
-------------------------------------

In order to fix this issue, I think we need a TxnId in request similar as Hedwig PubSubRequest. Along with it, it might be the time to change bookkeeper's request to use protobuf. So I would suggest to move this ticket to 4.3.0.
                
> bookkeeper - parallel async read same entry of same ledger will fail
> --------------------------------------------------------------------
>
>                 Key: BOOKKEEPER-49
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-49
>             Project: Bookkeeper
>          Issue Type: Bug
>          Components: bookkeeper-client
>    Affects Versions: 4.0.0, 4.1.0
>            Reporter: Sijie Guo
>            Assignee: Sijie Guo
>             Fix For: 4.3.0
>
>
> all ledgers shared a PerChannelBookieClient. 
> PerChannelBookieClient put all the read requests in a ConcurrentHashMap<CompletionKey, ReadCompletion> map called readCompletions, which is indexed by CompletionKey. If two read requests have same entryId and same ledgerId, they have the same CompletionKey, the latter one will overwrite the previous one. So a read request's callback will not be invoked.
> we may need to chain the callbacks for same completion keys.

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

[jira] [Updated] (BOOKKEEPER-49) bookkeeper - parallel async read same entry of same ledger will fail

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

Sijie Guo updated BOOKKEEPER-49:
--------------------------------

    Fix Version/s:     (was: 4.2.0)
                   4.3.0
    
> bookkeeper - parallel async read same entry of same ledger will fail
> --------------------------------------------------------------------
>
>                 Key: BOOKKEEPER-49
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-49
>             Project: Bookkeeper
>          Issue Type: Bug
>          Components: bookkeeper-client
>    Affects Versions: 4.0.0, 4.1.0
>            Reporter: Sijie Guo
>            Assignee: Sijie Guo
>             Fix For: 4.3.0
>
>
> all ledgers shared a PerChannelBookieClient. 
> PerChannelBookieClient put all the read requests in a ConcurrentHashMap<CompletionKey, ReadCompletion> map called readCompletions, which is indexed by CompletionKey. If two read requests have same entryId and same ledgerId, they have the same CompletionKey, the latter one will overwrite the previous one. So a read request's callback will not be invoked.
> we may need to chain the callbacks for same completion keys.

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

[jira] [Assigned] (BOOKKEEPER-49) bookkeeper - parallel async read same entry of same ledger will fail

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

Sijie Guo reassigned BOOKKEEPER-49:
-----------------------------------

    Assignee: Sijie Guo
    
> bookkeeper - parallel async read same entry of same ledger will fail
> --------------------------------------------------------------------
>
>                 Key: BOOKKEEPER-49
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-49
>             Project: Bookkeeper
>          Issue Type: Bug
>          Components: bookkeeper-client
>    Affects Versions: 4.0.0, 4.1.0
>            Reporter: Sijie Guo
>            Assignee: Sijie Guo
>             Fix For: 4.2.0
>
>
> all ledgers shared a PerChannelBookieClient. 
> PerChannelBookieClient put all the read requests in a ConcurrentHashMap<CompletionKey, ReadCompletion> map called readCompletions, which is indexed by CompletionKey. If two read requests have same entryId and same ledgerId, they have the same CompletionKey, the latter one will overwrite the previous one. So a read request's callback will not be invoked.
> we may need to chain the callbacks for same completion keys.

--
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-49) bookkeeper - parallel async read same entry of same ledger will fail

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

Sijie Guo updated BOOKKEEPER-49:
--------------------------------

    Affects Version/s: 4.1.0
        Fix Version/s: 4.2.0
    
> bookkeeper - parallel async read same entry of same ledger will fail
> --------------------------------------------------------------------
>
>                 Key: BOOKKEEPER-49
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-49
>             Project: Bookkeeper
>          Issue Type: Bug
>          Components: bookkeeper-client
>    Affects Versions: 4.0.0, 4.1.0
>            Reporter: Sijie Guo
>             Fix For: 4.2.0
>
>
> all ledgers shared a PerChannelBookieClient. 
> PerChannelBookieClient put all the read requests in a ConcurrentHashMap<CompletionKey, ReadCompletion> map called readCompletions, which is indexed by CompletionKey. If two read requests have same entryId and same ledgerId, they have the same CompletionKey, the latter one will overwrite the previous one. So a read request's callback will not be invoked.
> we may need to chain the callbacks for same completion keys.

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