[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