Hi Duncan,
a replay may trigger concurrent writes (i.e. writes that occur while
the replay is running e.g. when a replayed messages causes another
message to be emitted to another processor via a channel for which
no ack exists yet, just to mention one possible scenario). In order
to avoid that newly written input messages are replayed by the
currently running replay, an upper sequence number (toSequenceNr)
must be set. Any newly written message will have a sequence number
>= counter, so a replay must be limited up to sequence number
counter-1. This is similar to taking a snapshot of a data store for
reading. LevelDB, for example supports snapshots natively, but
others like HBase does not, hence this AWRS-level mechanism.
Cheers,
Martin
Am 27.03.13 19:22, schrieb ddevore: