From 6af461238176e35e96327b8a5e163d21f86e2371 Mon Sep 17 00:00:00 2001 From: Artem Barger Date: Sat, 17 Jul 2021 02:23:39 +0300 Subject: [PATCH] [FAB-18521] Fixing flaky IT, send remove tx to another node 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)