[ovs-dev] [PATCH] raft: Avoid annoying debug logs if raft is connected.
Ilya Maximets
i.maximets at ovn.org
Tue Oct 27 12:41:33 UTC 2020
On 10/26/20 2:03 AM, Han Zhou wrote:
>
>
> On Sun, Oct 25, 2020 at 5:35 PM Ilya Maximets <i.maximets at ovn.org <mailto:i.maximets at ovn.org>> wrote:
>>
>> If debug logs enabled, "raft_is_connected: true" printed on every
>> call to raft_is_connected() which is way too frequently.
>> These messages are not very informative and only litters the log.
>>
>> Let's log only disconnected state in a rate-limited way and only
>> log positive case once at the moment cluster becomes connected.
>>
>> Fixes: 923f01cad678 ("raft.c: Set candidate_retrying if no leader elected since last election.")
>> Signed-off-by: Ilya Maximets <i.maximets at ovn.org <mailto:i.maximets at ovn.org>>
>> ---
>> ovsdb/raft.c | 11 ++++++++++-
>> 1 file changed, 10 insertions(+), 1 deletion(-)
>>
>> diff --git a/ovsdb/raft.c b/ovsdb/raft.c
>> index 728d60175..657eed813 100644
>> --- a/ovsdb/raft.c
>> +++ b/ovsdb/raft.c
>> @@ -1044,13 +1044,22 @@ raft_get_memory_usage(const struct raft *raft, struct simap *usage)
>> bool
>> raft_is_connected(const struct raft *raft)
>> {
>> + static bool last_state = false;
>> bool ret = (!raft->candidate_retrying
>> && !raft->joining
>> && !raft->leaving
>> && !raft->left
>> && !raft->failed
>> && raft->ever_had_leader);
>> - VLOG_DBG("raft_is_connected: %s\n", ret? "true": "false");
>> +
>> + if (!ret) {
>> + static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(5, 5);
>> + VLOG_DBG_RL(&rl, "raft_is_connected: false");
>> + } else if (!last_state) {
>> + VLOG_DBG("raft_is_connected: true");
>> + }
>> + last_state = ret;
>> +
>> return ret;
>> }
>>
>> --
>> 2.25.4
>>
> Acked-by: Han Zhou <hzhou at ovn.org <mailto:hzhou at ovn.org>>
>
Thanks!
Applied to master and backported down to 2.12.
Best regards, Ilya Maximets.
More information about the dev
mailing list