From ffe7d363ca22adba185833b4d9014592bc1c62f9 Mon Sep 17 00:00:00 2001 From: C0rWin Date: Sat, 17 Jul 2021 12:32:40 +0300 Subject: [PATCH] [FAB-18521] Fixing flaky IT, send remove tx to another node (#2761) PR #2748, introduced new IT to ensure the fix. However, there is some flakiness manifested with this IT, caused by sending the remove consenter transaction to the "to be removed" node. Removing the consenter is a config transaction where codes after sending it ensure a new block with the config update successfully committed, which is the root cause for the flakiness. Once OSN is removed from the channel, it no longer can server deliver requests for clients trying to fetch from it. This commit, fixes it by sending remove OSN config updated transaction to a different node instead. Signed-off-by: Artem Barger --- integration/raft/cft_test.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/integration/raft/cft_test.go b/integration/raft/cft_test.go index 9a2a5472ddc..013ff97eb55 100644 --- a/integration/raft/cft_test.go +++ b/integration/raft/cft_test.go @@ -329,8 +329,6 @@ var _ = Describe("EndToEnd Crash Fault Tolerance", func() { }, orderers, peer, network) By("Removing OSN from the channel") - removeConsenter(network, peer, victim, "systemchannel", victimCertBytes) - remainedOrderers := []*nwo.Orderer{} remainedRunners := []*ginkgomon.Runner{} @@ -342,6 +340,9 @@ var _ = Describe("EndToEnd Crash Fault Tolerance", func() { remainedRunners = append(remainedRunners, ordererRunners[i]) } + removeConsenter(network, peer, remainedOrderers[0], "systemchannel", victimCertBytes) + + By("Asserting all remaining nodes got last block") assertBlockReception(map[string]int{ "systemchannel": 2, }, remainedOrderers, peer, network)