-
After more detailed investigation I found 2 causes for this issue:
-
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
-
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
withampJID
to comparison of local part ofpacketFrom
and local part of @ampJID@. -
Type |
Bug
|
Priority |
Normal
|
Assignee | |
RedmineID |
3931
|
Version |
tigase-server-7.1.0
|
Spent time |
0
|
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.