AntonRoskvist commented on PR #4281: URL: https://github.com/apache/activemq-artemis/pull/4281#issuecomment-1307215574
@clebertsuconic @jbertram Sorry, I see that I was very unclear. The rollback happens here: org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl#571 It's part of the consumer.close(failed)-call made from the "ServerSessionImpl" just after the code change I made here. Looking at the PR I mentioned above I can clearly see I was wrong though, a rollback was made previously as well. I arrived at this from the stacktrace the CriticalAnalyzer logs when this issue occurs: https://paste.mozilla.org/HiXUh8yg/raw Then I set up this test and set things up so I printed a thread dump in: org.apache.activemq.artemis.core.server.impl.QueueImpl.addSorted(QueueImpl.java:1169) There I could see that two calls where made during client failure, the later of which seems to lock something up. Thread dumps seen here: https://paste.mozilla.org/9nipgJbL/raw Notice the divergence at: org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.doClose Both thread dumps are from the same thread, the first call inserted maybe 90% of all references and the second the rest. The second call is the one that locks. This change gets rid of the first call (txToRollback.tryRollback()) but keeps the one in org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl (tx.rollback()) I am very open to the possibility of me being wrong here though -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
