From 42acc194895fe27a1418f2f96e80d2b9926c3bc9 Mon Sep 17 00:00:00 2001 From: Skylar Ray <137945430+sky-coderay@users.noreply.github.com> Date: Wed, 27 Nov 2024 19:45:14 +0200 Subject: [PATCH 1/3] Update README.md --- op-conductor/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/op-conductor/README.md b/op-conductor/README.md index 497156b8eee85..3073649c23e5e 100644 --- a/op-conductor/README.md +++ b/op-conductor/README.md @@ -20,7 +20,7 @@ For configuration and runbook, please refer to [RUNBOOK.md](./RUNBOOK.md) ### Architecture Typically you can setup a 3 nodes sequencer cluster, each one with op-conductor running alongside the sequencer in different regions / AZs. -Below diagram showcaes how conductor interacts with relevant op-stack components. +Below diagram showcases how conductor interacts with relevant op-stack components. ![op-conductor setup](./assets/setup.svg) @@ -93,6 +93,6 @@ There are 2 situations we need to consider. 1. Leadership transfer triggered by raft consensus protocol (network partition, etc) 1. In this case, a new leader will be elected regardless of its sync status, it could be behind for a few blocks - 2. The solution is to simple, wait until the elected leader catch up to tip (same as the FSM tip) + 2. The solution is to simply, wait until the elected leader catch up to tip (same as the FSM tip) 2. Leadership transfer triggered by us (Conductor detected unhealthy sequencer) 1. In this case, we have the choice to determine which node to transfer leadership to, we can simply query the latest block from candidates within the network and transfer directly to the one with the most up to date blocks. From 57492b186fb1d34f23112ea02df472542166ac62 Mon Sep 17 00:00:00 2001 From: Skylar Ray <137945430+sky-coderay@users.noreply.github.com> Date: Wed, 27 Nov 2024 22:22:38 +0200 Subject: [PATCH 2/3] Update README.md --- op-conductor/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/op-conductor/README.md b/op-conductor/README.md index 3073649c23e5e..5315233f37981 100644 --- a/op-conductor/README.md +++ b/op-conductor/README.md @@ -93,6 +93,6 @@ There are 2 situations we need to consider. 1. Leadership transfer triggered by raft consensus protocol (network partition, etc) 1. In this case, a new leader will be elected regardless of its sync status, it could be behind for a few blocks - 2. The solution is to simply, wait until the elected leader catch up to tip (same as the FSM tip) + 2. The solution is to simply wait until the elected leader catch up to tip (same as the FSM tip) 2. Leadership transfer triggered by us (Conductor detected unhealthy sequencer) 1. In this case, we have the choice to determine which node to transfer leadership to, we can simply query the latest block from candidates within the network and transfer directly to the one with the most up to date blocks. From a672b50191be12de966d05f3310b95a15c462a76 Mon Sep 17 00:00:00 2001 From: Skylar Ray <137945430+sky-coderay@users.noreply.github.com> Date: Thu, 28 Nov 2024 10:51:32 +0200 Subject: [PATCH 3/3] Update README.md --- op-conductor/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/op-conductor/README.md b/op-conductor/README.md index 5315233f37981..c436d0248ace7 100644 --- a/op-conductor/README.md +++ b/op-conductor/README.md @@ -1,3 +1,4 @@ + # op-conductor op-conductor is an auxiliary service designed to enhance the reliability and availability of a sequencer in @@ -93,6 +94,6 @@ There are 2 situations we need to consider. 1. Leadership transfer triggered by raft consensus protocol (network partition, etc) 1. In this case, a new leader will be elected regardless of its sync status, it could be behind for a few blocks - 2. The solution is to simply wait until the elected leader catch up to tip (same as the FSM tip) + 2. The solution is to simply wait until the elected leader catches up to tip (same as the FSM tip) 2. Leadership transfer triggered by us (Conductor detected unhealthy sequencer) 1. In this case, we have the choice to determine which node to transfer leadership to, we can simply query the latest block from candidates within the network and transfer directly to the one with the most up to date blocks.