[Tarantool-patches] [PATCH 1/1] box: snapshot should not include rolled back data
Cyrill Gorcunov
gorcunov at gmail.com
Tue Aug 11 10:53:20 MSK 2020
On Tue, Aug 11, 2020 at 12:18:05AM +0200, Vladislav Shpilevoy wrote:
> Box.snapshot() could include rolled back data in case synchronous
> transaction ROLLBACK arrived during WAL rotation in preparation of
> a checkpoint.
>
> More specifically, snapshot consists of fixating the engines'
> content (creation of a read-view), doing WAL rotation, and writing
> the snapshot itself. All data changes after content fixation won't
> go into the snap. So if ROLLBACK arrives during WAL rotation, the
> fixated content will have rolled back data, not present in the
> newest dataset.
>
> The patch makes it fail if during WAL rotation anything was rolled
> back. The bug sometimes appeared in an existing test about qsync
> snapshots, but with a very poor reproducibility. In a new test
> file it is reproduced 100% without the patch.
>
> Closes #5167
Ack. Lets give it a shot.
More information about the Tarantool-patches
mailing list