How to fix the messages out of order issue with info from OF-115 (aka JM-835)?

Hi - newbie here

I have found http://www.igniterealtime.org/issues/browse/OF-115 and it sounds like my issue (altho using s2s) but I don’t know how to use the “workaround” listed.

FTFA:

“…clients should be assigned to one and only one connection on the CM so that we are sure to maintain ordering.”

“So one should make sure that “each client has a dedicated thread server side for processing incoming stanzas” no matter if connected directly where this is already the case or if it is connected via a CM.”

Does this mean modifying something on the server and if so, what? Or is this referring to a mod to the client app?

TIA for any help.

Hi Shiny,

this is still an open issue, so it’s not solved and there is nothing you can do (unless you have some java experience and want to fix this issue with a self-written patch).

LG

Hi LG

Thanks for such a quick reply! Altho it’s a bit disappointing as I went to the Issue Tracker and saw that OF-115 is listed as a minor issue because it has “minor function impact or” “an easy workaround”. It’s becoming an issue that is affecting user confidence. They are afraid that messages are going missing not just coming in out of order.

I personally have no java experience but my colleagues do. Do you have any idea how to code the fix? As in what the problem might be?

Again TIA for any guidance on this.

Just to be sure I understand, ClientA joins a room hosted on the remote ServerB and the room history is downloaded to ClientA. But it doesn’t go directly to ClientA, ServerA receives the msgs from ServerB and then passes them along to ClientA. So the msgs leave ServerB in order but there is nothing on ServerA to retain/respect the order from ServerB when ServerA passes the msgs to ClientA.

Everything I’ve read in here suggests that having multiple threads between the servers is allowing the msgs to be delivered to the remote client out of order. Presumably this improves speed of delivery.

I wondered whether (even tho we don’t currently use Connection Manager) it could be added to force the msgs to stay in order by restricting the number of threads avail between the servers. I was reviewing the managment.xml from Conn Mgr and noted several possible entries that might do this. But how would I force only the servers to use the CM and leave the users connecting directly to their home server?

TIA

Hi,

the issue with the connection manager has only little to do with the s2s problem. A connection manager is only for clients so fixing the problem there does likely not help.

I have no idea where the problem does occur, so one must first identify the problem. Maybe some threads are used to handle the incoming s2s traffic, so reducing this to one should solve the problem. Anyhow this could cause performance problems when a remote server sends a lot of messages.

The priority is minor as no messages are lost and it does only happen when messages are send fast, usually during a room login. Even a high priority does not mean that it will be fixed soon as Jivesoftware does no longer develop or sponsor the development as it did some years ago.

LG

Hi LG

That’s unfortunate about the development work stopping. We’ll just have to keep pecking away at it I guess.

But, again, thanks for the info above.

this may help

http://www.igniterealtime.org/community/message/204055#204055