Authentication-Results: mail-b.sr.ht; dkim=pass header.d=scaleway.com header.i=@scaleway.com Received: from mail-ed1-f42.google.com (mail-ed1-f42.google.com [209.85.208.42]) by mail-b.sr.ht (Postfix) with ESMTPS id 4D36F11F2C2 for <~ne02ptzero/libfloat@lists.sr.ht>; Wed, 19 Jan 2022 14:39:15 +0000 (UTC) Received: by mail-ed1-f42.google.com with SMTP id a18so13073266edj.7 for <~ne02ptzero/libfloat@lists.sr.ht>; Wed, 19 Jan 2022 06:39:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=scaleway.com; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=Aer8kZoHJOyAEF4I8eoW7aU2pl8FM6opwCH8y3gks2Y=; b=BBIB6YrNLl59G6iawpTFi2QpToLInZc314k2GjVwdUtoSGlLJ6ZoUOlIKSk3zVnS0h bJmlmXNBrnO2IzWvERSBIi7i0YHfohXtOm++Sg2B7Q2RspONmJmE1W22nKbpeHQk0md2 Q6u4A32p557y2ad2mjm/q68ffU2Hdge/AjH4vbAZRBmGGfSG+Kw+kDkGHH4KEvmTolDr 8SJW44pqWDSRGckYiMJoj0CvpUkJCeyqsW+J9rSgzlWrad2vrAvSqM9Pu5gc4ak4VeCB 7P1CcniDjBKjkPqhdJcGA3kbeMsW7GZxzg5WiIe3K+XteJ7YAcCChoziW16NXob0gDVV kUHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=Aer8kZoHJOyAEF4I8eoW7aU2pl8FM6opwCH8y3gks2Y=; b=pYT7gemThkNGgLK0ATgXa5QPT53BiVq8eJbdGTYdfjub0D9vLoHoQgvdTnwCeXVXWV oKQc/KCN8OuFu829WZE6cKuFJXemBSWW6VIobJVHvSQOsGrHbyzvEc3wZoe8ZAEOArVo T+On9ITEP3Aq7Hb8IOgbODILP4cRTtMstubKJ2W/jWKBfAy4dMKMORd1sIWkl3vzdLPN mLcRQwJRODpZ5w6sODz0DguKkW+X4T1Us2GPok6hnz7jN6rJkTbYmCi/zZedoJibxz+j RtDmdtI7FnWPHkLZU2iTWH2702IYPwHLRU9MNyt5yImSMnscBJhk9kCu2NiOUt8FipRG Ih1Q== X-Gm-Message-State: AOAM532He1HQtR0C/43U9z6AzI0fqmNoYKxq7cbWedtUBj5moNjpoZUI FNncDPBcUPH+jP6+TB1KvK180Wd0Rt02AA== X-Google-Smtp-Source: ABdhPJyaL0mY2cw0I0EEJEkv2r4yQs5YX+kMma33UOS9fIB133aOPJS+GHtbezHi0rQ4gynzBkQwnQ== X-Received: by 2002:a5d:428f:: with SMTP id k15mr7065099wrq.347.1642603153889; Wed, 19 Jan 2022 06:39:13 -0800 (PST) Received: from localhost.localdomain ([2001:bc8:4748:1e09::1]) by smtp.gmail.com with ESMTPSA id bh13sm2878683wmb.33.2022.01.19.06.39.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Jan 2022 06:39:13 -0800 (PST) From: Michael Bonfils To: ~ne02ptzero/libfloat@lists.sr.ht Cc: Michael Bonfils Subject: [PATCH] Investiguate replication stuck Date: Wed, 19 Jan 2022 14:39:07 +0000 Message-Id: <20220119143908.1518076-1-mbonfils@scaleway.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Add functions to retrieve replicated_log and next_log_to_send per node of a cluster. Signed-off-by: Michael Bonfils --- libfloat.c | 10 ++++++++++ libfloat.h | 18 ++++++++++++++++++ log.c | 7 +++++-- 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/libfloat.c b/libfloat.c index 63eacde..59c3e8b 100644 --- a/libfloat.c +++ b/libfloat.c @@ -105,3 +105,13 @@ bool libfloat_str_to_commit_type(const char *t, libfloat_commit_type_t *out) return false; } + +libfloat_entry_id_t libfloat_node_get_next_log(libfloat_node_t *node) +{ + return node->next_log_to_send; +} + +libfloat_entry_id_t libfloat_node_get_replicated_log(libfloat_node_t *node) +{ + return node->replicated_log; +} \ No newline at end of file diff --git a/libfloat.h b/libfloat.h index 9428cbb..69f040f 100644 --- a/libfloat.h +++ b/libfloat.h @@ -522,4 +522,22 @@ const char *libfloat_commit_type_to_str(libfloat_commit_type_t t); */ bool libfloat_str_to_commit_type(const char *t, libfloat_commit_type_t *out); +/*! + * \brief Get next log to send for a node + * + * \param[in] node Node of a libfloat cluster + * + * \return commit_id of next log to send + */ +libfloat_entry_id_t libfloat_node_get_next_log(libfloat_node_t *node); + +/*! + * \brief Get current replicated commit id for this node + * + * \param[in] node Node of a libfloat cluster + * + * \return commit_id of the current replicated log + */ +libfloat_entry_id_t libfloat_node_get_replicated_log(libfloat_node_t *node); + #endif /* LIBFLOAT_H */ diff --git a/log.c b/log.c index 06c9289..f5989ac 100644 --- a/log.c +++ b/log.c @@ -663,8 +663,11 @@ void libfloat_append_entries_response(libfloat_ctx_t *ctx, libfloat_rpc_append_e node->replicated_log = 0; node->next_log_to_send = 1; } - - return; + else + { + ERROR(ctx, "libfloat_append_entries_response: recevied current_index (%u) older than replicated_log (%u)", + resp->current_index, node->replicated_log); + } } node->next_log_to_send = max(resp->current_index, 1); -- 2.25.1