[tarantool-patches] Re: [PATCH 00/10] vinyl: don't yield in DDL on_commit triggers

Konstantin Osipov kostja at tarantool.org
Sat Jun 1 11:09:49 MSK 2019


* Vladimir Davydov <vdavydov.dev at gmail.com> [19/05/17 17:54]:
> DDL on_commit triggers may yield on vylog write, even though they don't
> really need to wait for the transaction to be flushed to disk, as we can
> recover it after restart. This blocks implementation of transactional
> DDL (see #4083), because even an empty index creation may yield and
> hence can't be executed transactionally along with other lightweight
> operations, such as space creation.
> 
> This patch reworks vylog implementation so that we don't need to yield
> in case the vylog transaction is non-discardable (i.e. stays in the
> memory buffer in case of failure). Since on_commit triggers issue only
> non-discardable transactions, this makes them non-yielding, as they
> should be.

Given we agreed on a better fix, and you could start working on it
soon (I mean really soon), I could review this patch stack as an
interim solution. It contains some good changes which I don't want
to go astray.

Please let me know if you still need a review. Some of the
comments follow on individual commits.


-- 
Konstantin Osipov, Moscow, Russia




More information about the Tarantool-patches mailing list