Hi, I observed this problem when the RM server (its storage option enabled) is restarted while the client continues to send messages over the same sequence. In this case, a sequence acknowledge message is generated by the restarted server but its ack range starts from the first message after the restart. In other words, the message numbers acknowledged prior to the server restart are not included in the AcknowledgementRange.
The reason for this problem seems to be that RMTxStore's updateDestinationSequence never gets called and consequently the acknowledgement property of the destination sequence is never updated in the storage. This update method never gets called because RMStore's persistIncoming method never gets called. I think Destination's acknowledge method should include a call to the RMStore to store the message so that it updates its destination sequence's acknowledgment property. But to store the message, you need to create a RMMessage and I am not sure what the best approach is at this location (it's a different situation from the outbound case). So for just updating the acknowledgement property in the store, I modified the Destination's acknowledge method so that it updates the acknowledgement property using an empty RMMessage for now. With this change, the acknowledgement messages now contain the whole range. But I see an open issue regarding the message storage and delivery mechanism for the inbound processing in general. Could you comment on this issue and let me know if I should open a JIRA ticket and attach the diff file? Thanks. Regards, Aki
