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]

Reply via email to