-
I've replaced
remove
withget
(of TimerTask) as before changes in #issue #1224remove
of TigaseTask was used with puttrue
(socontains()
returnedtrue
instead offalse
now). This could lead to "leakage" of instances ofC2SIOService
.Additionally, I've added a constrain to limit
OutQueue
keep packets for onlymax-resumption-timeout
(about 90s) if the size of the queue is bigger than 30 packets (some clients confirm delivery in bulks, after each 5-10 packets). That should solve this issue with growingOutQueue
as if a new packet would appear and over 30 previous packets (with oldest older than 90s) would not be confirmed, then the connection will be stopped.
Type |
Bug
|
Priority |
Normal
|
Assignee | |
Version |
tigase-server-8.2.0
|
Spent time |
0
|
Subsystem |
c2s
|
Issue Votes (0)
Watchers (0)
On tigase.org we have got an OOM exception (due to exhausted HEAP memory space). After analysis of the OOM, it looks like it was mostly caused by C2S connection instances not being removed after they resume or expire.
Additionally, OutQueue in StreamManagement in some cases can grow without limits (in this case up to 40MB in 15minutes without stanza confirmation).