[tarantool-patches] Re: [PATCH v2 3/7] vinyl: get rid of vy_env::join_lsn

Konstantin Osipov kostja at tarantool.org
Mon Aug 19 23:49:13 MSK 2019


* Vladimir Davydov <vdavydov.dev at gmail.com> [19/08/19 19:57]:
> This fake LSN counter, which is used for assigning LSNs to Vinyl
> statements during the initial join stage, was introduced a long time
> ago, when LSNs were used as identifiers for lsregion allocations and
> hence were supposed to grow strictly monotonically with each new
> transaction. Later on, they were reused for assigning unique LSNs to
> identify indexes in vylog.
> 
> These days, we don't need initial join LSNs to be unique, as we switched
> to generations for lsregion allocations while in vylog we now use LSNs
> only as an incarnation counter, not as a unique identifier. That said,
> let's zap vy_env::join_lsn and simply assign 0 to all statements
> received during the initial join stage.
> 
> To achieve that, we just need to relax an assertion in vy_tx_commit()
> and remove the assumption that an LSN can't be zero in the write
> iterator implementation.

lgtm

 

-- 
Konstantin Osipov, Moscow, Russia




More information about the Tarantool-patches mailing list