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

Anton Roskvist commented on ARTEMIS-2934:
-----------------------------------------

Sure,

I have several brokers running in active-active clustering mode. I am not 
consuming any of the notifications but through monitoring I can see that the 
send/receive rate for the activemq.notifications topic is _very_ high for all 
brokers.

Turning this off ( by just commenting out the sendSessionNotification mentioned 
in the post above) I can very clearly see that this comes at a considerable 
overhead, baking a ~10-40 % CPU load in difference depending on the number of 
connected brokers in the cluster.

Again, this is for clients running on top of spring DMLC with XA transaction, 
i.e creating and destroying resources for each and every message processed. 
Fringe use case, but its very clear that the PR mentioned in this case 
introduced this behavior.

Br,

Anton

> ARTEMIS-2226 causes excessive notificaions to be sent for Spring XA clients
> ---------------------------------------------------------------------------
>
>                 Key: ARTEMIS-2934
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2934
>             Project: ActiveMQ Artemis
>          Issue Type: New Feature
>            Reporter: Anton Roskvist
>            Priority: Minor
>
> Hi,
> The fix in https://issues.apache.org/jira/browse/ARTEMIS-2226 causes 
> excessive notifications to be sent for clients running XA transaction through 
> the Spring framework.
> The notifications sent are SESSION_CREATED and SESSION_CLOSED.
> I strongly suspect this is because Spring DMLC cannot cache consumers 
> properly when running XA, causing it to create and remove a new session for 
> each message processed.
> Now I am not arguing that is not bad practice, because it is, but lots of 
> applications run on top of this logic. I also suspect this might affect more 
> but not be as pronounced.
>  
> I have been able to prove the aforementioned patch is what causes the issue 
> by removing:
> sendSessionNotification(CoreNotificationType.SESSION_CREATED);
> and
> sendSessionNotification(CoreNotificationType.SESSION_CLOSED);
> from ServerSessionImpl.java (they where added in the patch)
> Now I do not fully understand the intent of the original patch but I think it 
> should be made conditional, that is, send those notifications only for MQTT 
> session or something similar.
>  
> In the environment I am testing this on the difference is huge as I have a 
> lot of independent applications all running Spring+XA. About 40% of all 
> messages getting sent and received are notifications.
>  
> Br,
> Anton



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to