Project

General

Profile

Task #3511

Avatar?id=6023&size=22x22

Change mechanism of closing XMPP session in SM on close of TCP connection

Added by Andrzej Wójcik IoT 1 CloudTigaseTeam over 3 years ago. Updated over 3 years ago.

Status:
Closed
Priority:
Normal
Target version:
Start date:
2015-09-11
Due date:
2015-09-15
% Done:

100%

Estimated time:
Database:
n/a

Description

Currently Tigase XMPP Server when receives TCP connection close in any client connection manager then it notifies SessionManager about this using command with SYSTEM priority.

Other packet which were sent just before TCP close are sent to SessionManager with NORMAL priority which makes it possible that session is closed in SessionManager before packets sent before connection close are properly processed.

To make sure this works correctly we should keep current priority of close command to notify SessionManager that this connection is closed for outgoing packets but we should add new command with NORMAL priority to fully remove session in SessionManager as command with NORMAL priority will be processed after all packets received before connection is closed.


Related issues

Related to Tigase XMPP Server - Bug #3489: TTS fails on DeleteUser scriptClosed2015-09-072015-09-11

Associated revisions

Revision 53381ea5 (diff)
Added by Andrzej Wójcik IoT 1 CloudTigaseTeam over 3 years ago

Issue #3511 - Change mechanism of closing XMPP session in SM on close of TCP connection

Revision 7411b91c (diff)
Added by Wojciech Kapcia TigaseTeam about 3 years ago

add option to add Bosh output command packet without timer task attached to avoid creating endless generation of the packet; #3656, #3511

History

#2 Updated by Andrzej Wójcik IoT 1 CloudTigaseTeam over 3 years ago

  • Status changed from New to In QA
  • % Done changed from 0 to 80

#3 Updated by Andrzej Wójcik IoT 1 CloudTigaseTeam over 3 years ago

  • Assignee changed from Andrzej Wójcik to Artur Hefczyc
  • % Done changed from 80 to 100

I changed mechanism of closing session to close session and execute processors stopped method after every packet from closing connection is processed. This way every packet will be processed while session is still opened.

In reaction on STREAM_CLOSED command I left only code resposible for removing session from list of active resouces which will prevent SessionManager from delivering packets to already closed connection.

#4 Avatar?id=6023&size=24x24 Updated by Artur Hefczyc TigaseTeam over 3 years ago

  • Status changed from In QA to Closed

#6 Updated by Wojciech Kapcia TigaseTeam about 3 years ago

  • Related to Bug #3489: TTS fails on DeleteUser script added

Also available in: Atom PDF