From 5b076d9440976e63436e01d3e8a3e42eac397719 Mon Sep 17 00:00:00 2001 From: Eldar Gabdullin Date: Wed, 15 May 2024 16:42:45 +0400 Subject: [PATCH] ignore blocks lying below finalized head --- .../substrate-data-raw/master_2024-05-15-12-44.json | 10 ++++++++++ .../master_2024-05-15-12-44.json | 10 ++++++++++ substrate/substrate-data-raw/src/datasource.ts | 1 + util/util-internal-ingest-tools/src/hot.ts | 1 + 4 files changed, 22 insertions(+) create mode 100644 common/changes/@subsquid/substrate-data-raw/master_2024-05-15-12-44.json create mode 100644 common/changes/@subsquid/util-internal-ingest-tools/master_2024-05-15-12-44.json diff --git a/common/changes/@subsquid/substrate-data-raw/master_2024-05-15-12-44.json b/common/changes/@subsquid/substrate-data-raw/master_2024-05-15-12-44.json new file mode 100644 index 000000000..ac56605d7 --- /dev/null +++ b/common/changes/@subsquid/substrate-data-raw/master_2024-05-15-12-44.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@subsquid/substrate-data-raw", + "comment": "hot data ingestion: ignore blocks lying below finalized head", + "type": "patch" + } + ], + "packageName": "@subsquid/substrate-data-raw" +} \ No newline at end of file diff --git a/common/changes/@subsquid/util-internal-ingest-tools/master_2024-05-15-12-44.json b/common/changes/@subsquid/util-internal-ingest-tools/master_2024-05-15-12-44.json new file mode 100644 index 000000000..e831b12b8 --- /dev/null +++ b/common/changes/@subsquid/util-internal-ingest-tools/master_2024-05-15-12-44.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@subsquid/util-internal-ingest-tools", + "comment": "hot data ingestion: ignore blocks lying below finalized head", + "type": "patch" + } + ], + "packageName": "@subsquid/util-internal-ingest-tools" +} \ No newline at end of file diff --git a/substrate/substrate-data-raw/src/datasource.ts b/substrate/substrate-data-raw/src/datasource.ts index aa55e83c5..89e1fa79e 100644 --- a/substrate/substrate-data-raw/src/datasource.ts +++ b/substrate/substrate-data-raw/src/datasource.ts @@ -122,6 +122,7 @@ export class RpcDataSource { } else { top = to.height } + if (top < proc.getFinalizedHeight()) return if (from > top) { from = top } diff --git a/util/util-internal-ingest-tools/src/hot.ts b/util/util-internal-ingest-tools/src/hot.ts index 4530316b1..c061e8ba2 100644 --- a/util/util-internal-ingest-tools/src/hot.ts +++ b/util/util-internal-ingest-tools/src/hot.ts @@ -65,6 +65,7 @@ export class HotProcessor { if (ref.height == null) { return !!this.chain.find(b => b.hash === ref.hash) } else { + if (ref.height < this.chain[0].height) return true if (ref.hash == null) return ref.height < this.getHeight() let pos = ref.height - this.chain[0].height return this.chain[pos]?.hash === ref.hash