From: Konstantin Belyavskiy <k.belyavskiy@tarantool.org> To: tarantool-patches@freelists.org Subject: [tarantool-patches] [PATCH v5 0/2] force gc on running out of disk space Date: Thu, 5 Jul 2018 21:39:03 +0300 [thread overview] Message-ID: <cover.1530815780.git.k.belyavskiy@tarantool.org> (raw) 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. 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 | 18 +++ src/box/relay.cc | 1 + src/box/wal.cc | 44 ++++++-- src/errinj.h | 1 + src/fio.c | 7 ++ test/box/errinj.result | 2 + test/replication/kick_dead_replica_on_enspc.result | 121 +++++++++++++++++++++ .../kick_dead_replica_on_enspc.test.lua | 56 ++++++++++ test/replication/suite.ini | 2 +- 11 files changed, 306 insertions(+), 9 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)
next reply other threads:[~2018-07-05 18:39 UTC|newest] Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-07-05 18:39 Konstantin Belyavskiy [this message] 2018-07-05 18:39 ` [tarantool-patches] [PATCH v5 1/2] replication: rename thread from tx to tx_prio Konstantin Belyavskiy 2018-07-05 18:39 ` [tarantool-patches] [PATCH v5 2/2] replication: force gc to clean xdir on ENOSPC err Konstantin Belyavskiy 2018-07-06 17:00 ` [tarantool-patches] " Konstantin Osipov 2018-07-10 15:10 ` [tarantool-patches] " Konstantin Belyavskiy 2018-07-10 18:37 ` Konstantin Osipov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=cover.1530815780.git.k.belyavskiy@tarantool.org \ --to=k.belyavskiy@tarantool.org \ --cc=tarantool-patches@freelists.org \ --subject='Re: [tarantool-patches] [PATCH v5 0/2] force gc on running out of disk space' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox