From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id A39EF26ED6 for ; Thu, 12 Jul 2018 10:44:37 -0400 (EDT) Received: from turing.freelists.org ([127.0.0.1]) by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id x8vvyzeZoLD6 for ; Thu, 12 Jul 2018 10:44:37 -0400 (EDT) Received: from smtp17.mail.ru (smtp17.mail.ru [94.100.176.154]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTPS id B617926E78 for ; Thu, 12 Jul 2018 10:44:36 -0400 (EDT) Received: from [185.6.245.156] (port=25153 helo=localhost.localdomain) by smtp17.mail.ru with esmtpa (envelope-from ) id 1fdcpe-0001gs-P9 for tarantool-patches@freelists.org; Thu, 12 Jul 2018 17:44:34 +0300 From: Konstantin Belyavskiy Subject: [tarantool-patches] [PATCH v6 0/2] force gc on running out of disk space Date: Thu, 12 Jul 2018 17:44:32 +0300 Message-Id: Sender: tarantool-patches-bounce@freelists.org Errors-to: tarantool-patches-bounce@freelists.org Reply-To: tarantool-patches@freelists.org List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: tarantool-patches List-subscribe: List-owner: List-post: List-archive: To: tarantool-patches@freelists.org Garbage collector do not delete xlog unless replica do not notify master with newer vclock. This can lead to running out of disk space error and this is not right behaviour since it will stop the master. Fix it by forcing gc to clean xlogs for replica with highest lag. Add an error injection and a test. Changes in V2: - Promoting error from wal_thread to tx via cpipe. Changes in V3: - Delete consumers and only for replicas (but not backup). Changes in V4: - Bug fix and small changes according to review. Changes in V5: - Compare signatures of the oldest replica and the oldest snapshot to keep to prevent deletion if it will not free any disk space. - Add say_crit on consumer deletion with a little information. Changes in V6: - Rebase to latest 1.10. - Update test. Tichet: https://github.com/tarantool/tarantool/issues/3397 Branch: https://github.com/tarantool/tarantool/compare/kbelyavs/gh-3397-force-del-logs-on-no-disk-space Konstantin Belyavskiy (2): replication: rename thread from tx to tx_prio replication: force gc to clean xdir on ENOSPC err src/box/box.cc | 1 + src/box/gc.c | 62 +++++++ src/box/gc.h | 17 ++ src/box/relay.cc | 1 + src/box/wal.c | 49 ++++- src/errinj.h | 1 + src/fio.c | 7 + test/box/errinj.result | 4 +- test/replication/kick_dead_replica_on_enspc.result | 204 +++++++++++++++++++++ .../kick_dead_replica_on_enspc.test.lua | 91 +++++++++ test/replication/suite.ini | 2 +- 11 files changed, 427 insertions(+), 12 deletions(-) create mode 100644 test/replication/kick_dead_replica_on_enspc.result create mode 100644 test/replication/kick_dead_replica_on_enspc.test.lua -- 2.14.3 (Apple Git-98)