You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Anton Roskvist (Jira)" <ji...@apache.org> on 2020/10/07 13:40:00 UTC
[jira] [Created] (ARTEMIS-2934) ARTEMIS-2226 causes excessive
notificaions to be sent for Spring XA clients
Anton Roskvist created ARTEMIS-2934:
---------------------------------------
Summary: 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
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)