diff --git a/packages/worker/src/block/block.processor.ts b/packages/worker/src/block/block.processor.ts index b6c3ecaed7..dd7325b0f6 100644 --- a/packages/worker/src/block/block.processor.ts +++ b/packages/worker/src/block/block.processor.ts @@ -87,12 +87,11 @@ export class BlockProcessor { if (!allBlocksExist) { // We don't need to handle this potential revert as these blocks are not in DB yet, // try again later once these blocks are present in blockchain again. - this.logger.warn( - "Not all the requested blocks from the next blocks to process range exist in blockchain, likely revert has happened", - { - lastDbBlockNumber, - } - ); + this.logger.warn({ + message: + "Not all the requested blocks from the next blocks to process range exist in blockchain, likely revert has happened", + lastDbBlockNumber, + }); return false; } const isBlocksLinkingValid = validateBlocksLinking(blocksToProcess); @@ -100,12 +99,11 @@ export class BlockProcessor { // We don't need to handle this revert as these blocks are not in DB yet, // we just need to wait for blockchain to complete this revert before inserting these blocks. // This is very unlikely to ever happen. - this.logger.warn( - "Some of the requested blocks from the next blocks to process range have invalid link to previous block, likely revert has happened", - { - lastDbBlockNumber: lastDbBlockNumber, - } - ); + this.logger.warn({ + message: + "Some of the requested blocks from the next blocks to process range have invalid link to previous block, likely revert has happened", + lastDbBlockNumber: lastDbBlockNumber, + }); return false; } diff --git a/packages/worker/src/block/block.service.ts b/packages/worker/src/block/block.service.ts index 37bdc78797..9e92983f4a 100644 --- a/packages/worker/src/block/block.service.ts +++ b/packages/worker/src/block/block.service.ts @@ -33,6 +33,7 @@ export class BlockService extends Worker { this.logger.error(`Error on processing next block range, waiting ${nextIterationDelay} ms to retry`, error.stack); } if (nextIterationDelay) { + this.logger.debug(`Waiting for ${nextIterationDelay}ms`); await waitFor(() => !this.currentProcessPromise, nextIterationDelay); } if (!this.currentProcessPromise) { diff --git a/packages/worker/src/block/block.watcher.ts b/packages/worker/src/block/block.watcher.ts index 15d9ce99da..80f6cb8fb7 100644 --- a/packages/worker/src/block/block.watcher.ts +++ b/packages/worker/src/block/block.watcher.ts @@ -88,10 +88,11 @@ export class BlockWatcher implements OnModuleInit, OnModuleDestroy { } private async getBlockInfoFromBlockChain(blockNumber: number): Promise { - this.logger.debug({ message: "Getting block from the blockchain", blockNumber }); + const requestId = Math.random(); + this.logger.debug({ message: "Getting block from the blockchain", blockNumber, requestId }); const stopGetBlockInfoDurationMetric = this.getBlockInfoDurationMetric.startTimer(); - const blockData = await this.dataFetchService.getBlockData(blockNumber); + const blockData = await this.dataFetchService.getBlockData(blockNumber, requestId); stopGetBlockInfoDurationMetric(); return blockData; diff --git a/packages/worker/src/dataFetcher/dataFetcher.service.ts b/packages/worker/src/dataFetcher/dataFetcher.service.ts index 450cb1f9e9..af9ef1ed7b 100644 --- a/packages/worker/src/dataFetcher/dataFetcher.service.ts +++ b/packages/worker/src/dataFetcher/dataFetcher.service.ts @@ -21,12 +21,12 @@ export class DataFetcherService { this.httpAgent = new Agent({ keepAlive }); } - public async getBlockData(blockNumber: number): Promise { - const blocksData = await this.getBlocksData(blockNumber, blockNumber); + public async getBlockData(blockNumber: number, requestId?: number): Promise { + const blocksData = await this.getBlocksData(blockNumber, blockNumber, requestId); return blocksData[0]; } - private async getBlocksData(from: number, to: number): Promise { + private async getBlocksData(from: number, to: number, requestId?: number): Promise { const queryString = new URLSearchParams({ from: from.toString(), to: to.toString(), @@ -45,6 +45,7 @@ export class DataFetcherService { code: error.code, status: error.response?.status, response: error.response?.data, + requestId, }); throw error; })