From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf1-f67.google.com (mail-lf1-f67.google.com [209.85.167.67]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 513C74429F3 for ; Tue, 31 Mar 2020 17:53:32 +0300 (MSK) Received: by mail-lf1-f67.google.com with SMTP id x200so10396737lff.0 for ; Tue, 31 Mar 2020 07:53:32 -0700 (PDT) Date: Tue, 31 Mar 2020 17:53:30 +0300 From: Konstantin Osipov Message-ID: <20200331145330.GD5054@atlas> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Subject: Re: [Tarantool-patches] [PATCH] vinyl: unthrottle scheduler on checkpoint List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Nikita Pettik Cc: tarantool-patches@dev.tarantool.org, v.shpilevoy@tarantool.org * Nikita Pettik [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