Projects tigase _server server-core Issues #643
Issue with messages with AMP in clustered mode (#643)
Andrzej Wójcik (Tigase) opened 9 years ago

In clustered mode when message with AMP payload is sent to users bare jid it is possible that this message may create infinite loop.

This is only possible if there is more than one connection for this bare jid and connections are established to more than one cluster node.

This issue was found during investigation of message#6269 reported on forum.

Andrzej Wójcik (Tigase) commented 9 years ago

After more detailed investigation I found 2 causes for this issue:

  1. message to bare jid with AMP payload was always delivered to AMP component for processing as on initial server - this caused issue with one loop

  2. message sent from AMP component to server was assumed as good for being sent to other cluster node - while this assumption is true, during forwarding to other cluster node packetFrom value was lost and another loop started between 2 cluster nodes, as on every node packet was sent to AMP component and then always was forward to other cluster node

I fixed this issue by minor changes in routing and change in packet forwarding in SM to include original packetFrom value.

%wojtek Could you check if my new check if message is from AMP component is OK? I changed comparison of packetFrom with ampJID to comparison of local part of packetFrom and local part of @ampJID@.

wojciech.kapcia@tigase.net commented 9 years ago

I've checked the changes and they look good.

issue 1 of 1
Type
Bug
Priority
Normal
Assignee
RedmineID
3931
Version
tigase-server-7.1.0
Spent time
22h 30m
Issue Votes (0)
Watchers (0)
Reference
tigase/_server/server-core#643
Please wait...
Page is in error, reload to recover