From 780ab95fe4c730d24b10978a92cf6e1da0540fa4 Mon Sep 17 00:00:00 2001 From: Ori Newman <> Date: Thu, 24 Feb 2022 16:16:20 +0200 Subject: [PATCH 1/2] Ignore transaction invs on IBD --- .../flows/v4/transactionrelay/handle_relayed_transactions.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/protocol/flows/v4/transactionrelay/handle_relayed_transactions.go b/app/protocol/flows/v4/transactionrelay/handle_relayed_transactions.go index 1598fa5fa9..74862bafa5 100644 --- a/app/protocol/flows/v4/transactionrelay/handle_relayed_transactions.go +++ b/app/protocol/flows/v4/transactionrelay/handle_relayed_transactions.go @@ -22,6 +22,7 @@ type TransactionsRelayContext interface { SharedRequestedTransactions() *flowcontext.SharedRequestedTransactions OnTransactionAddedToMempool() EnqueueTransactionIDsForPropagation(transactionIDs []*externalapi.DomainTransactionID) error + IsIBDRunning() bool } type handleRelayedTransactionsFlow struct { @@ -49,6 +50,10 @@ func (flow *handleRelayedTransactionsFlow) start() error { return err } + if flow.IsIBDRunning() { + continue + } + requestedIDs, err := flow.requestInvTransactions(inv) if err != nil { return err From 8c4b0c6078b06dcb14a7d8449b4559c26d41995a Mon Sep 17 00:00:00 2001 From: Ori Newman Date: Fri, 25 Feb 2022 18:37:21 +0200 Subject: [PATCH 2/2] Add IsIBDRunning mock to TestHandleRelayedTransactionsNotFound --- .../v4/transactionrelay/handle_relayed_transactions_test.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/protocol/flows/v4/transactionrelay/handle_relayed_transactions_test.go b/app/protocol/flows/v4/transactionrelay/handle_relayed_transactions_test.go index 33f6d0a069..d980456949 100644 --- a/app/protocol/flows/v4/transactionrelay/handle_relayed_transactions_test.go +++ b/app/protocol/flows/v4/transactionrelay/handle_relayed_transactions_test.go @@ -47,6 +47,10 @@ func (m *mocTransactionsRelayContext) EnqueueTransactionIDsForPropagation(transa func (m *mocTransactionsRelayContext) OnTransactionAddedToMempool() { } +func (m *mocTransactionsRelayContext) IsIBDRunning() bool { + return false +} + // TestHandleRelayedTransactionsNotFound tests the flow of HandleRelayedTransactions when the peer doesn't // have the requested transactions in the mempool. func TestHandleRelayedTransactionsNotFound(t *testing.T) {