From 1a06520f3f42518a30e81811c7da9b157aef423a Mon Sep 17 00:00:00 2001 From: Bartek Nowotarski Date: Thu, 8 Apr 2021 15:02:19 +0200 Subject: [PATCH] Switch to GetLedgerBlocking in historyRangeState --- services/horizon/internal/ingest/fsm.go | 14 +++++++++----- .../ingest/ingest_history_range_state_test.go | 6 +++--- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/services/horizon/internal/ingest/fsm.go b/services/horizon/internal/ingest/fsm.go index ef0b56d6aa..fcd31620cd 100644 --- a/services/horizon/internal/ingest/fsm.go +++ b/services/horizon/internal/ingest/fsm.go @@ -559,16 +559,20 @@ func (h historyRangeState) run(s *system) (transition, error) { } for cur := h.fromLedger; cur <= h.toLedger; cur++ { - var exists bool var ledgerCloseMeta xdr.LedgerCloseMeta - exists, ledgerCloseMeta, err = s.ledgerBackend.GetLedger(cur) + + log.WithField("ledger", cur).Info("Waiting for ledger to be available in the backend...") + startTime := time.Now() + + ledgerCloseMeta, err = s.ledgerBackend.GetLedgerBlocking(cur) if err != nil { return start(), errors.Wrap(err, "error getting ledger") } - if !exists { - return start(), errors.New("error getting ledger: ledger does not exist") - } + log.WithFields(logpkg.F{ + "ledger": cur, + "duration": time.Since(startTime).Seconds(), + }).Info("Ledger returned from the backend") if err = runTransactionProcessorsOnLedger(s, ledgerCloseMeta); err != nil { return start(), err diff --git a/services/horizon/internal/ingest/ingest_history_range_state_test.go b/services/horizon/internal/ingest/ingest_history_range_state_test.go index d97f35873a..80b980c431 100644 --- a/services/horizon/internal/ingest/ingest_history_range_state_test.go +++ b/services/horizon/internal/ingest/ingest_history_range_state_test.go @@ -156,7 +156,7 @@ func (s *IngestHistoryRangeStateTestSuite) TestRunTransactionProcessorsOnLedgerR }, }, } - s.ledgerBackend.On("GetLedger", uint32(100)).Return(true, meta, nil).Once() + s.ledgerBackend.On("GetLedgerBlocking", uint32(100)).Return(meta, nil).Once() s.runner.On("RunTransactionProcessorsOnLedger", meta).Return( processors.StatsLedgerTransactionProcessorResults{}, @@ -185,7 +185,7 @@ func (s *IngestHistoryRangeStateTestSuite) TestSuccess() { }, }, } - s.ledgerBackend.On("GetLedger", uint32(i)).Return(true, meta, nil).Once() + s.ledgerBackend.On("GetLedgerBlocking", uint32(i)).Return(meta, nil).Once() s.runner.On("RunTransactionProcessorsOnLedger", meta).Return( processors.StatsLedgerTransactionProcessorResults{}, @@ -215,7 +215,7 @@ func (s *IngestHistoryRangeStateTestSuite) TestSuccessOneLedger() { }, }, } - s.ledgerBackend.On("GetLedger", uint32(100)).Return(true, meta, nil).Once() + s.ledgerBackend.On("GetLedgerBlocking", uint32(100)).Return(meta, nil).Once() s.runner.On("RunTransactionProcessorsOnLedger", meta).Return( processors.StatsLedgerTransactionProcessorResults{},