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]