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

Justin Bertram edited comment on ARTEMIS-1308 at 7/28/17 1:54 PM:
------------------------------------------------------------------

I believe Tim is right.  In addition to that the removed null check will also 
result in a semantic change when the client is using implicit ack modes like 
AUTO_ACKNOWLEDGE.  The JavaDoc states:
{quote}
Calls to acknowledge are ignored for both transacted sessions and sessions 
specified to use implicit acknowledgement modes.
{quote}
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.


was (Author: jbertram):
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 states:
{quote}
Calls to acknowledge are ignored for both transacted sessions and sessions 
specified to use implicit acknowledgement modes.
{quote}
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: https://issues.apache.org/jira/browse/ARTEMIS-1308
>             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
(v6.4.14#64029)

Reply via email to