activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Justin Bertram (JIRA)" <>
Subject [jira] [Commented] (ARTEMIS-1308) Client Acknowledge not performant
Date Fri, 28 Jul 2017 13:54:00 GMT


Justin Bertram commented on ARTEMIS-1308:

I believe Tim is right.  In addition to that the removed null check will also result in a
semantic change which the client is using implicit ack modes like AUTO_ACKNOWLEDGE.  The JavaDoc
Calls to acknowledge are ignored for both transacted sessions and sessions specified to use
implicit acknowledgement modes.
I believe your change will result in an exception in this case.

Also, how often are you calling {{javax.jms.Message.acknowledge()}}?  To get better performance
you need to batch up the acks (i.e. consume a batch a messages and then ack) rather than manually
acking every message.

> Client Acknowledge not performant
> ---------------------------------
>                 Key: ARTEMIS-1308
>                 URL:
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>            Reporter: Michael Andre Pearce
> Artemis recommendation in docs is to use CLIENT_ACKNOWLEDGE instead of AUTO_ACKNOWLEDGE,
on perf testing it seems this is not the case.
> On checking code it seems the reason for this is because ActiveMQMessage acknowledge
actually calls session.commit, causing a full session commit all the time.
> On checking Core API, calling message.acknowledge it seems to behave as expected, as
such believe this to be an issue in JMS api wrapper, that it should just be delegating to
the ClientMessage.acknowledge method and this is the cause of the perf issue.

This message was sent by Atlassian JIRA

View raw message