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

Mridul Muralidharan commented on BOOKKEEPER-311:
------------------------------------------------


Please note that the guarantees provided must be consistent across api methods 
exposed - for example, similar reasoning applies to publish.
(1) is not supported in publish iirc.
Currently, only (2) is.
(3) can be inferred if the seq-id is returned : but there is no requirement 
that not receiving it meant the message was not published (socket lost post 
delivery or server death, etc) - as in, no transactional guarantees.

Which was the reason (and not to mention minimize hedwig changes :) ), we 
restricted to (2) - make it inline with rest of api, while providing reasonable 
assurance of delivery.



Having said that, as long as there is reasonable assurance that best case 
effort was made to send consume request to server, any additional guarantees 
would be better (but would have a higher cost, which needs to be factored in - 
ack from server for example) !
                
> Changes in hedwig client api to support JMS spec
> ------------------------------------------------
>
>                 Key: BOOKKEEPER-311
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-311
>             Project: Bookkeeper
>          Issue Type: Sub-task
>            Reporter: Mridul Muralidharan
>         Attachments: hedwig-client-consume.patch.1, 
> hedwig-client-publish.patch.1, hedwig-client.patch
>
>
> Primary changes are :
> a) Add support for returning seq-id for a publish request. This is an api 
> change (backwardly compatible for users).
> b) Make consume a sync consume, with addition of an asyncConsume - this is to 
> ensure that invoking consume() ensure request makes to server before 
> returning (with what reasonable gaurantees that netty allows).
> c) Ensure that explicit close'ing of session will flush buffered consume 
> seq-id's when auto-ack is enabled (default in hedwig java client).
> In addition, there are also fixes for
> d) Fix NPE's observed as part of testing JMS provider.

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

        

Reply via email to