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 6A77C254BA for ; Tue, 27 Aug 2019 12:07:26 -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 VCqt4m-4Zcle for ; Tue, 27 Aug 2019 12:07:26 -0400 (EDT) Received: from mail-lf1-f68.google.com (mail-lf1-f68.google.com [209.85.167.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTPS id 1F0C5254AD for ; Tue, 27 Aug 2019 12:07:26 -0400 (EDT) Received: by mail-lf1-f68.google.com with SMTP id u13so5731578lfm.9 for ; Tue, 27 Aug 2019 09:07:25 -0700 (PDT) From: Konstantin Osipov Subject: [tarantool-patches] [PATCH] replication: do not abort replication on ER_UNKNOWN_REPLICA Date: Tue, 27 Aug 2019 19:07:20 +0300 Message-Id: <20190827160720.10494-1-kostja@tarantool.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 Cc: Konstantin Osipov From: Konstantin Osipov In 3-node replica-set, registering with the leader node does not guarantee the registration record arrives to the second peer immediately. The joining node may bootstrap faster than the registration record arrives to the second peer, in which case replication will fail to create a full mesh. Fixes gh-4455 --- src/box/applier.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/box/applier.cc b/src/box/applier.cc index 4304ff055..6239fcfd3 100644 --- a/src/box/applier.cc +++ b/src/box/applier.cc @@ -100,6 +100,7 @@ applier_log_error(struct applier *applier, struct error *e) case ER_ACCESS_DENIED: case ER_NO_SUCH_USER: case ER_SYSTEM: + case ER_UNKNOWN_REPLICA: say_info("will retry every %.2lf second", replication_reconnect_interval()); break; -- 2.20.1