Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
archival: Deduplicate archival STM commands
The archival STM commands are not idempotent. The STM implementation depends on the right order of the log replay. At the same time the STM maintains its own copy of the insync-offset. This value is stored in the manifest and in the local snapshot. This commit adds simple mechanism that checks the offset of every new command before this command can be applied. If the offset is below the insync offset of the STM the command is not applied. The implementation assumes that archival STM batches are either applied or not. The batch can't be applied partially. This allows us to check only the last offset of the batch. Signed-off-by: Evgeny Lazin <[email protected]>
- Loading branch information