Ignore transaction invs on IBD (#1960)

* Ignore transaction invs on IBD

* Add IsIBDRunning mock to TestHandleRelayedTransactionsNotFound

Co-authored-by: Ori Newman <>
This commit is contained in:
Ori Newman 2022-02-26 22:20:08 +02:00 committed by GitHub
parent 9f02a24e8b
commit 6449b03034
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 0 deletions

View File

@ -22,6 +22,7 @@ type TransactionsRelayContext interface {
SharedRequestedTransactions() *flowcontext.SharedRequestedTransactions SharedRequestedTransactions() *flowcontext.SharedRequestedTransactions
OnTransactionAddedToMempool() OnTransactionAddedToMempool()
EnqueueTransactionIDsForPropagation(transactionIDs []*externalapi.DomainTransactionID) error EnqueueTransactionIDsForPropagation(transactionIDs []*externalapi.DomainTransactionID) error
IsIBDRunning() bool
} }
type handleRelayedTransactionsFlow struct { type handleRelayedTransactionsFlow struct {
@ -49,6 +50,10 @@ func (flow *handleRelayedTransactionsFlow) start() error {
return err return err
} }
if flow.IsIBDRunning() {
continue
}
requestedIDs, err := flow.requestInvTransactions(inv) requestedIDs, err := flow.requestInvTransactions(inv)
if err != nil { if err != nil {
return err return err

View File

@ -47,6 +47,10 @@ func (m *mocTransactionsRelayContext) EnqueueTransactionIDsForPropagation(transa
func (m *mocTransactionsRelayContext) OnTransactionAddedToMempool() { func (m *mocTransactionsRelayContext) OnTransactionAddedToMempool() {
} }
func (m *mocTransactionsRelayContext) IsIBDRunning() bool {
return false
}
// TestHandleRelayedTransactionsNotFound tests the flow of HandleRelayedTransactions when the peer doesn't // TestHandleRelayedTransactionsNotFound tests the flow of HandleRelayedTransactions when the peer doesn't
// have the requested transactions in the mempool. // have the requested transactions in the mempool.
func TestHandleRelayedTransactionsNotFound(t *testing.T) { func TestHandleRelayedTransactionsNotFound(t *testing.T) {