On 08/21/2012 04:21 PM, Nitin Shah wrote:
I did not specify a parameter to the sync call, which means it is
default i.e. true. That means it blocks when called. If that is the
case, why does it repeat the messages since I assume they have been
acked since we forced a sync and waited a while before killing the
broker.

Did you kill the broker during a sync() or in between syncs? How manay messages did it replay?

Also in our scenario, the broker ends up starting on another
VM in our test setup.

On the receiver side, we acknowledge every message received. It is
the unsettled count that seems to be the issue.

Right, unsettled == in doubt.

If that count on the
sender is 0, no messages are repeated. I can only get that if the
link options on the sender are set to "unreliable".

After a Session::sync() that should also be 0 (assuming no other thread is using the session).

No other setup
produces the result we want. Explicitly sinking the session does not
seem to stop the repeated messages on a failover of the broker unless
we have the link option as stated above.

As mentioned you can choose between message loss or message duplication at present. If you choose duplication you can't eliminate it. There is no exactly once guarantee supported yet.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to