26898e4663
When server sends disconnect to the client, the ClientSession schedules a close task on it's ordered executor. Once the close method starts it's waits to check to see if all jobs in it's executor has completed. To do this it adds a job to it's ordered executor, once it is run it knows there is nothing more to do and thus is ready to close. However, this causes a deadlock as both jobs are running in the ordered executor and thus are both waiting on each other. The close eventually timesout which is why we see the logs as reported in the JIRA. This commit runs the close method in it's own ordered executor, thus preventing the two jobs blocking each other. |
||
---|---|---|
.. | ||
src | ||
pom.xml |