On 02/07/2019 2:39 pm, [email protected] wrote:
From what I've read, gathered and pieced together (this never seems to be made
explicit):
There are 2 types of crashes and recoveries:
1)
Connection loss (but both client and broker running as normal -- links states
still in memory)
In this case the broker and client still maintain their links states. (In
memory delivery state of each inflight message). Upon network reconnection:
these links are restored and both broker and client can recover/resume message
send/receive where it was left off.
I don't think any of the clients, brokers or router do link resume for
exactly once yet. (proton-c based clients, the c++ broker and the router
certainly do not).
2)
Client or broker crashes or both
In this case the crashed party will need to resend all un-ACKed messages from
scratch (which may result in duplicates). Clients (consumers / producers) need
to be idempotent (intelligent enough to detect and deal with duplicates).
Correct (and this is true even for the first case).
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]