Hi Jakub

I think the proposal to make the sync optional after a message
acknowledgement on a {{Session.CLIENT_ACKNOWLEDGE}} session looks
reasonable. I notice the the 0-8 code path already supports a system
property {{qpid.sync_after_client.ack}} (which default to true) which
is used to control whether the sync is performed or not.  I think the
change should unify behaviour and make it configurable via the
connection url too.  I think the default behaviour should be unchanged
i.e. client ack should continue to sync by default.  Does this sound
reasonable?  I have a change almost ready, including an update to the
documentation.


On 24 May 2016 at 08:44, Keith Wall (JIRA) <[email protected]> wrote:
>
>     [ 
> https://issues.apache.org/jira/browse/QPID-7274?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15297848#comment-15297848
>  ]
>
> Keith Wall commented on QPID-7274:
> ----------------------------------
>
> Hi Jakub,  Thanks for the contribution.  I hope to be able to take a look and 
> comment later this week.
>
>> [Java Client] Asynchronous client acknowledgements
>> --------------------------------------------------
>>
>>                 Key: QPID-7274
>>                 URL: https://issues.apache.org/jira/browse/QPID-7274
>>             Project: Qpid
>>          Issue Type: Improvement
>>          Components: Java Client
>>            Reporter: Jakub Scholz
>>         Attachments: sync_ack.patch
>>
>>
>> When the application is using client acknowledgements, they are always done 
>> in a synchronous way with a sync() being issues after the acknowledgement. 
>> This can have significant impact on the performance of the client 
>> applications and it should be possible to configure the client to use 
>> asynchronous acknowledgements.
>> The Java AMQP 0-10 client has already a connection URL option called 
>> "sync_ack" which should affect whether acknowledgements are synchronous or 
>> asynchronous, but it is used only for auto acknowledgements. It has no 
>> effect to client acknowledgements.
>> Attached is a (trivial) patch which synchronizes the acknowledgements based 
>> on the sync_ack option. It seems to work fine. However, the sync_ack option 
>> is by default set to false. So using this option would mean that the current 
>> behavior would change for all current applications using client 
>> acknowledgements. I'm not sure that is desired. Would it be better to add a 
>> new option "sync_client_ack" for the client acknowledgements which would 
>> sync by default? Please let me know what the preferred option is and I can 
>> update the patch.
>
>
>
> --
> This message was sent by Atlassian JIRA
> (v6.3.4#6332)
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to