From b3a979a27975505e9b013b354267855493c66bef Mon Sep 17 00:00:00 2001 From: Prathamesh Musale Date: Tue, 7 Nov 2023 14:13:30 +0530 Subject: [PATCH] Clear indexing error on job-runner startup --- packages/cli/src/job-runner.ts | 1 + packages/util/src/indexer.ts | 11 +++++------ packages/util/src/job-runner.ts | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/cli/src/job-runner.ts b/packages/cli/src/job-runner.ts index 921cb19a0..1cd9814f2 100644 --- a/packages/cli/src/job-runner.ts +++ b/packages/cli/src/job-runner.ts @@ -115,6 +115,7 @@ export class JobRunnerCmd { // Delete all active and pending (before completed) jobs to start job-runner without old queued jobs await jobRunner.jobQueue.deleteAllJobs('completed'); await jobRunner.resetToPrevIndexedBlock(); + await indexer.updateSyncStatusIndexingError(false); await startJobRunner(jobRunner); jobRunner.handleShutdown(); diff --git a/packages/util/src/indexer.ts b/packages/util/src/indexer.ts index 238f18c69..7aa401156 100644 --- a/packages/util/src/indexer.ts +++ b/packages/util/src/indexer.ts @@ -153,16 +153,15 @@ export class Indexer { if (block.hash) { resultBlock = await this.getBlockProgress(block.hash); - } else if (block.number) { - // Get all the blocks at the given height - const blocksAtHeight = await this.getBlocksAtHeight(block.number, false); + } else { + const blockHeight = block.number ? block.number : syncStatus.latestIndexedBlockNumber - 1; + + // Get all the blocks at a height + const blocksAtHeight = await this.getBlocksAtHeight(blockHeight, false); if (blocksAtHeight.length) { resultBlock = blocksAtHeight[0]; } - } else { - resultBlock = await this.getBlockProgress(syncStatus.latestIndexedBlockHash); - assert(resultBlock); } return resultBlock diff --git a/packages/util/src/job-runner.ts b/packages/util/src/job-runner.ts index 88738de5f..f284460ae 100644 --- a/packages/util/src/job-runner.ts +++ b/packages/util/src/job-runner.ts @@ -624,12 +624,12 @@ export class JobRunner { log(`Retrying event processing after ${EVENTS_PROCESSING_RETRY_WAIT} ms`); await wait(EVENTS_PROCESSING_RETRY_WAIT); - // TODO: Stop next job in queue from processing next + // TODO: Stop job for next block in queue (in historical processing) - const eventsProcessingRetrytJob: EventsJobData = { ...jobData, isRetryAttempt: true }; + const eventsProcessingRetryJob: EventsJobData = { ...jobData, isRetryAttempt: true }; await this.jobQueue.pushJob( QUEUE_EVENT_PROCESSING, - eventsProcessingRetrytJob, + eventsProcessingRetryJob, { priority: 1 } ); }