Question: A CM publisher, "P", sends messages 6 and 7 to a CM subscriber, "S" that uses two different threads to process messages. What will happen if message 7 is confirmed before 6?
Will the two messages be considered as acknowledged? Or will message 6 remain in "P's" ledger as unconfirmed?
Issue/Introduction
A CM publisher, "P", sends messages 6 and 7 to a CM subscriber, "S" that uses two different threads to process messages.What will happen if message 7 is confirmed before 6?
Will the two messages be considered as acknowledged?Or will message 6 remain in "P's" ledger as unconfirmed?And what will happen with the next messages, 8, 9, 10, etc...?
Resolution
If message 7 is confirmed before message 6 is, "S" will record that "message 7 is confirmed" in its ledger and hold this confirmation, i.e. it will NOT send the confirmation back to "P". So, at this time both messages will remain in "P's" ledger file as unconfirmed.
When message 6 is confirmed, "S" will only send the confirmation of message 7 back to "P", as this will implicitly confirm receipt of all previous messages (including 6).