GitHub user dudaerich opened a pull request:
https://github.com/apache/activemq-artemis/pull/1648
ARTEMIS-1506 Synchronization issue during failover in ClientSessionImpl
The temporary deadlock is avoided by removing 'synchronized' from
ClientSessionImpl::getCredits method. As the method uses only
a producerCreditManger, only this object is guarded against
the parallel access.
I've run the Artemis test suite with `tests` profile with and without this
commit and the test results were the same. It didn't introduce any regression.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/dudaerich/activemq-artemis ARTEMIS-1506
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/activemq-artemis/pull/1648.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #1648
----
commit 903f66851b8e793e910583a553e09a2485be5b68
Author: Erich Duda <[email protected]>
Date: 2017-11-03T15:19:54Z
ARTEMIS-1506 Synchronization issue during failover in ClientSessionImpl
The temporary deadlock is avoided by removing 'synchronized' from
ClientSessionImpl::getCredits method. As the method uses only
a producerCreditManger, only this object is guarded against
the parallel access.
----
---