[tarantool-patches] [PATCH v2 0/5] Strong sequentially LSN in journal

Vladimir Davydov vdavydov.dev at gmail.com
Mon Jan 28 14:15:08 MSK 2019


On Tue, Jan 22, 2019 at 01:31:08PM +0300, Georgy Kirichenko wrote:
> The patchset eliminates LSN gaps from journal what is needed for
> synchronous replication to enforce data stream consistency.

Could you give an example how LSN gaps can break synchronous
replication?

> Replicaset vclock is promoted only after write, replication row applying
> is allowed only if previous row was processed. All conflicting rows to
> skip are replacing with NOPs to fill gaps. After all vclock following
> protected with assert to ensure that this is strict one step increase.

It looks very much like

  https://github.com/tarantool/tarantool/issues/2283

which was done by Serge P. a while back:

  https://www.freelists.org/post/tarantool-patches/PATCH-replication-do-not-skip-masters-rows-in-case-of-an-error

Shouldn't we rather apply his patch? Or there's some crucial difference?

> 
> Needed for: #980
> 
> Changes in v2:
>   - Rebased against latest 2.1
>   - Fix handling rows which were returned back
> 
> Issue: https://github.com/tarantool/tarantool/issues/980
> Branch:https://github.com/tarantool/tarantool/tree/g.kirichenko/gh-980-disable-lsn-gaps
> 
> Georgy Kirichenko (5):
>   Do not promote wal vclock for failed writes
>   Update replicaset vclock from wal
>   Enforce applier out of order protection
>   Emit NOP if an applier skips row
>   Disallow lsn gaps while vclock following



More information about the Tarantool-patches mailing list