From: Serge Petrenko via Tarantool-patches <tarantool-patches@dev.tarantool.org>
To: Cyrill Gorcunov <gorcunov@gmail.com>
Cc: v.shpilevoy@tarantool.org, tarantool-patches@dev.tarantool.org
Subject: Re: [Tarantool-patches] [PATCH v2 2/8] txn_limbo: fix promote term filtering
Date: Fri, 18 Jun 2021 11:55:54 +0300 [thread overview]
Message-ID: <bd83ce36-4895-547b-4c5c-34a07a695329@tarantool.org> (raw)
In-Reply-To: <YMvHEwYjXn0diYNb@grain>
18.06.2021 01:05, Cyrill Gorcunov пишет:
> On Fri, Jun 18, 2021 at 12:07:36AM +0300, Serge Petrenko wrote:
>> txn_limbo_process() used to filter out promote requests whose term was
>> equal to the greatest term seen. This wasn't correct for PROMOTE entries
>> with term 1.
> ...
>> + if (term > limbo->promote_greatest_term) {
>> + limbo->promote_greatest_term = term;
>> + } else if (req->type == IPROTO_PROMOTE &&
>> + limbo->promote_greatest_term > 1) {
>> + /* PROMOTE for outdated term. Ignore. */
>> + say_info("RAFT: ignoring PROMOTE request from instance "
>> + "id %"PRIu32" for term %"PRIu64". Greatest term seen "
>> + "before (%"PRIu64") is bigger.", origin, term,
>> + limbo->promote_greatest_term);
>> + return;
>> }
> Serge, please don't use PRIx helper, they are completely unreadable.
> As far as I remember we agreed to use %llu with explicit long long
> conversion. Ie
>
> say_info("RAFT: ignoring PROMOTE request from instance "
> "id %u for term %lld . Greatest term seen "
> "before (%llu) is bigger.", origin, (long long)term,
> (long long)limbo->promote_greatest_term);
>
> surely we can fix it on top of the series.
Ok, sure. I thought this was fine. Let's change.
================================
diff --git a/src/box/txn_limbo.c b/src/box/txn_limbo.c
index a5d1df00c..e91782b40 100644
--- a/src/box/txn_limbo.c
+++ b/src/box/txn_limbo.c
@@ -674,9 +674,9 @@ txn_limbo_process(struct txn_limbo *limbo, const
struct synchro_request *req)
limbo->promote_greatest_term > 1) {
/* PROMOTE for outdated term. Ignore. */
say_info("RAFT: ignoring PROMOTE request from instance "
- "id %"PRIu32" for term %"PRIu64". Greatest term
seen "
- "before (%"PRIu64") is bigger.", origin, term,
- limbo->promote_greatest_term);
+ "id %u for term %llu. Greatest term seen "
+ "before (%llu) is bigger.", origin, (long
long)term,
+ (long long)limbo->promote_greatest_term);
return;
}
================================
--
Serge Petrenko
next prev parent reply other threads:[~2021-06-18 8:55 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-17 21:07 [Tarantool-patches] [PATCH v2 0/8] forbid implicit limbo ownership transition Serge Petrenko via Tarantool-patches
2021-06-17 21:07 ` [Tarantool-patches] [PATCH v2 1/8] replication: always send raft state to subscribers Serge Petrenko via Tarantool-patches
2021-06-17 21:07 ` [Tarantool-patches] [PATCH v2 2/8] txn_limbo: fix promote term filtering Serge Petrenko via Tarantool-patches
2021-06-17 22:05 ` Cyrill Gorcunov via Tarantool-patches
2021-06-18 8:55 ` Serge Petrenko via Tarantool-patches [this message]
2021-06-18 10:31 ` Cyrill Gorcunov via Tarantool-patches
2021-06-21 15:09 ` Serge Petrenko via Tarantool-patches
2021-06-17 21:07 ` [Tarantool-patches] [PATCH v2 3/8] raft: refactor raft_new_term() Serge Petrenko via Tarantool-patches
2021-06-17 21:07 ` [Tarantool-patches] [PATCH v2 4/8] box: make promote always bump the term Serge Petrenko via Tarantool-patches
2021-06-17 21:07 ` [Tarantool-patches] [PATCH v2 5/8] replication: forbid implicit limbo owner transition Serge Petrenko via Tarantool-patches
2021-06-17 21:07 ` [Tarantool-patches] [PATCH v2 6/8] box: introduce `box.ctl.demote` Serge Petrenko via Tarantool-patches
2021-06-17 21:15 ` Serge Petrenko via Tarantool-patches
2021-06-17 21:07 ` [Tarantool-patches] [PATCH v2 7/8] txn_limbo: persist the latest effective promote in snapshot Serge Petrenko via Tarantool-patches
2021-06-17 21:07 ` [Tarantool-patches] [PATCH v2 8/8] replication: send latest effective promote in initial join Serge Petrenko via Tarantool-patches
2021-06-18 13:02 ` [Tarantool-patches] [PATCH v2 0/8] forbid implicit limbo ownership transition Cyrill Gorcunov via Tarantool-patches
2021-06-21 12:11 ` [Tarantool-patches] [PATCH v2 9/8] replication: send current Raft term in join response Serge Petrenko via Tarantool-patches
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=bd83ce36-4895-547b-4c5c-34a07a695329@tarantool.org \
--to=tarantool-patches@dev.tarantool.org \
--cc=gorcunov@gmail.com \
--cc=sergepetrenko@tarantool.org \
--cc=v.shpilevoy@tarantool.org \
--subject='Re: [Tarantool-patches] [PATCH v2 2/8] txn_limbo: fix promote term filtering' \
/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