[Tarantool-patches] [PATCH] vinyl: unthrottle scheduler on checkpoint
Konstantin Osipov
kostja.osipov at gmail.com
Tue Mar 31 17:53:30 MSK 2020
* Nikita Pettik <korablev at tarantool.org> [20/03/31 17:45]:
> Before this patch box.snapshot() bails out immediately if it sees that
> the scheduler is throttled due to errors. For instance:
>
> box.error.injection.set('ERRINJ_VY_RUN_WRITE', true)
> snapshot() -- fails due to ERRINJ_VY_RUN_WRITE
> box.error.injection.set('ERRINJ_VY_RUN_WRITE', false)
> snapshot() -- still fails despite the fact that injected error is unset
>
> As a result, one has to wait up to a minute to make a snapshot. The
> reason why throttling was introduced was to avoid flooding the log
> in case of repeating disk errors.
> On the other hand, checkpoint process is either called manually or on
> schedule. What is more, to deal with schedule throttling in tests, we
> had to introduce a new error injection (ERRINJ_VY_SCHED_TIMEOUT).
> It reduces time duration during which the scheduler remains throttled,
> which is ugly and race prone.
> So, let's unthrottle scheduler when checkpoint process is launched.
>
> Closes #3519
Can we do it only on manual checkpoint?
--
Konstantin Osipov, Moscow, Russia
https://scylladb.com
More information about the Tarantool-patches
mailing list