-
The issue stems from the fact that in
tigase.server.xmppclient.StreamManagementIOProcessor#resumeStream
aboolean
is assigned to a key that usually holds (and is expected)TimerTask
(https://github.com/tigase/tigase-server/blob/c2a7fc71334e2eb66d78c1ff9e55310db21d0d45/src/main/java/tigase/server/xmppclient/StreamManagementIOProcessor.java#L516-L516). I tried analysing the code but I couldn't figure out the intention behindoldService.getSessionData().put(RESUMPTION_TASK_KEY, true);
. @andrzej.wojcik , as you are the author of this line could you take a look? -
I'm not sure why
Boolean
was used instead ofTimerTask
(most likely to release resources as older version usedTimerTask
from JDK and now our customTimerTask
based onScheduler
/Executor
are used.I've adjusted the code to "behave" in a way I suppose it was designed to behave. Weird thing is that this code is very old and there was never an issue like this one. Most likely resumption timeout was long and Watchdog was short and they started to interfere.
Looking at recent changes in the source code of Tigase XMPP Server, most of the issues which are now solved are related to concurrency and would appear on "slow" systems or on systems which are near to be overloaded as processing times are longer than expected and things which should not interfere are starting to interfere.
Type |
Bug
|
Priority |
Normal
|
Assignee | |
Version |
tigase-server-8.2.0
|
Spent time |
0
|