@lodestar/beacon-node 1.40.0-rc.2 → 1.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chain/lightClient/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chain/lightClient/index.ts"],"names":[],"mappings":"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"}
@@ -41,14 +41,14 @@ export type GetByBlobOptions = {
41
41
  * - onFinalized event handler will help to prune any non-canonical forks once the chain finalizes. Any block-slots that
42
42
  * are before the finalized checkpoint will be pruned.
43
43
  * - Range-sync periods. The range process uses this cache to store and sync blocks with DA data as the chain is pulled
44
- * from peers. We pull batches, by epoch, so 32 slots are pulled at a time and several batches are pulled concurrently.
45
- * It is important to set the MAX_BLOCK_INPUT_CACHE_SIZE high enough to support range sync activities. Currently the
46
- * value is set for 5 batches of 32 slots. As process block is called (similar to following head) the BlockInput and
47
- * its ancestors will be pruned.
44
+ * from peers. We pull batches, by epoch, so 32 slots are pulled at a time and several batches are downloaded
45
+ * concurrently (up to MAX_LOOK_AHEAD_EPOCHS ahead). All downloaded blocks are added to this shared cache, so it
46
+ * must be large enough to hold blocks from all concurrent batches. If pruneToMaxSize() evicts blocks from the batch
47
+ * currently being processed, those blocks may not yet be persisted to the database, causing getBlockByRoot() to fail
48
+ * when async event handlers (e.g. onForkChoiceFinalized) try to look them up.
48
49
  * - Non-Finality times. This is a bit more tricky. There can be long periods of non-finality and storing everything
49
- * will cause OOM. The pruneToMax will help ensure a hard limit on the number of stored blocks (with DA) that are held
50
- * in memory at any one time. The value for MAX_BLOCK_INPUT_CACHE_SIZE is set to accommodate range-sync but in
51
- * practice this value may need to be massaged in the future if we find issues when debugging non-finality
50
+ * will cause OOM. The pruneToMaxSize will help ensure the number of stored blocks (with DA) is trimmed back to
51
+ * MAX_BLOCK_INPUT_CACHE_SIZE after each prune() or onFinalized() call
52
52
  */
53
53
  export declare class SeenBlockInput {
54
54
  private readonly config;
@@ -1 +1 @@
1
- {"version":3,"file":"seenGossipBlockInput.d.ts","sourceRoot":"","sources":["../../../src/chain/seenCache/seenGossipBlockInput.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seenGossipBlockInput.d.ts","sourceRoot":"","sources":["../../../src/chain/seenCache/seenGossipBlockInput.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,20 @@
1
- import { isForkPostDeneb, isForkPostFulu, isForkPostGloas } from "@lodestar/params";
1
+ import { SLOTS_PER_EPOCH, isForkPostDeneb, isForkPostFulu, isForkPostGloas, } from "@lodestar/params";
2
2
  import { computeStartSlotAtEpoch } from "@lodestar/state-transition";
3
3
  import { LodestarError, byteArrayEquals, pruneSetToMax } from "@lodestar/utils";
4
+ import { MAX_LOOK_AHEAD_EPOCHS } from "../../sync/constants.js";
4
5
  import { BlockInputBlobs, BlockInputColumns, BlockInputPreData, DAType, isBlockInputBlobs, isBlockInputColumns, isDaOutOfRange, } from "../blocks/blockInput/index.js";
5
6
  import { ChainEvent } from "../emitter.js";
6
- const MAX_BLOCK_INPUT_CACHE_SIZE = 5;
7
+ // Target size for the block input cache, enforced by pruneToMaxSize() which runs after prune()
8
+ // and onFinalized() — NOT on insertion. The cache can temporarily exceed this during range sync
9
+ // (e.g. 32 blocks inserted per batch) but is trimmed back after blocks are processed.
10
+ //
11
+ // Must be large enough to hold blocks from all concurrently downloaded range sync batches.
12
+ // Range sync downloads up to MAX_LOOK_AHEAD_EPOCHS batches ahead of the processing head,
13
+ // so up to (MAX_LOOK_AHEAD_EPOCHS + 1) batches (current + look-ahead) of SLOTS_PER_EPOCH
14
+ // blocks can be in the cache simultaneously. If this value is too small, pruneToMaxSize()
15
+ // will evict blocks from the batch being processed before they are persisted to the database,
16
+ // causing errors when async handlers like onForkChoiceFinalized run.
17
+ const MAX_BLOCK_INPUT_CACHE_SIZE = (MAX_LOOK_AHEAD_EPOCHS + 1) * SLOTS_PER_EPOCH;
7
18
  /**
8
19
  * Consumers that create BlockInputs or change types of old BlockInputs
9
20
  *
@@ -26,14 +37,14 @@ const MAX_BLOCK_INPUT_CACHE_SIZE = 5;
26
37
  * - onFinalized event handler will help to prune any non-canonical forks once the chain finalizes. Any block-slots that
27
38
  * are before the finalized checkpoint will be pruned.
28
39
  * - Range-sync periods. The range process uses this cache to store and sync blocks with DA data as the chain is pulled
29
- * from peers. We pull batches, by epoch, so 32 slots are pulled at a time and several batches are pulled concurrently.
30
- * It is important to set the MAX_BLOCK_INPUT_CACHE_SIZE high enough to support range sync activities. Currently the
31
- * value is set for 5 batches of 32 slots. As process block is called (similar to following head) the BlockInput and
32
- * its ancestors will be pruned.
40
+ * from peers. We pull batches, by epoch, so 32 slots are pulled at a time and several batches are downloaded
41
+ * concurrently (up to MAX_LOOK_AHEAD_EPOCHS ahead). All downloaded blocks are added to this shared cache, so it
42
+ * must be large enough to hold blocks from all concurrent batches. If pruneToMaxSize() evicts blocks from the batch
43
+ * currently being processed, those blocks may not yet be persisted to the database, causing getBlockByRoot() to fail
44
+ * when async event handlers (e.g. onForkChoiceFinalized) try to look them up.
33
45
  * - Non-Finality times. This is a bit more tricky. There can be long periods of non-finality and storing everything
34
- * will cause OOM. The pruneToMax will help ensure a hard limit on the number of stored blocks (with DA) that are held
35
- * in memory at any one time. The value for MAX_BLOCK_INPUT_CACHE_SIZE is set to accommodate range-sync but in
36
- * practice this value may need to be massaged in the future if we find issues when debugging non-finality
46
+ * will cause OOM. The pruneToMaxSize will help ensure the number of stored blocks (with DA) is trimmed back to
47
+ * MAX_BLOCK_INPUT_CACHE_SIZE after each prune() or onFinalized() call
37
48
  */
38
49
  export class SeenBlockInput {
39
50
  config;
@@ -1 +1 @@
1
- {"version":3,"file":"seenGossipBlockInput.js","sourceRoot":"","sources":["../../../src/chain/seenCache/seenGossipBlockInput.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuC,eAAe,EAAE,cAAc,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACxH,OAAO,EAAC,uBAAuB,EAAC,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAC,aAAa,EAAU,eAAe,EAAE,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAItF,OAAO,EAEL,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EAEjB,MAAM,EAON,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,GACf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAC,UAAU,EAAoB,MAAM,eAAe,CAAC;AAE5D,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAgBrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,MAAM,OAAO,cAAc;IACR,MAAM,CAAkB;IACxB,aAAa,CAAgB;IAC7B,KAAK,CAAS;IACd,WAAW,CAAoB;IAC/B,MAAM,CAAc;IACpB,OAAO,CAAiB;IACxB,MAAM,CAAU;IACzB,WAAW,GAAG,IAAI,GAAG,EAAwB,CAAC;IACtD,wDAAwD;IACxD,wFAAwF;IACxF,sEAAsE;IAC9D,0BAA0B,GAAG,IAAI,GAAG,EAAoC,CAAC;IAEjF,YAAY,EAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAA6B;QAC1G,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,EAAE,CAC3D,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CACxE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,mBAAmB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACzC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,mBAAmB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,OAAgB;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,GAAG,CAAC,OAAgB;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAgB;QACrB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAgB;QACpB,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,aAAa,GAAG,UAAU,EAAE,aAAa,CAAC;QAC9C,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,OAAO,UAAU,EAAE,CAAC;YAClB,YAAY,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACjD,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;YACvD,aAAa,GAAG,UAAU,EAAE,aAAa,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,iCAAiC,YAAY,qBAAqB,CAAC,CAAC;QACvF,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,WAAW,GAAG,CAAC,UAA6B,EAAE,EAAE;QAC9C,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,MAAM,UAAU,GAAG,uBAAuB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC7D,KAAK,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrD,IAAI,UAAU,CAAC,IAAI,GAAG,UAAU,EAAE,CAAC;gBACjC,YAAY,EAAE,CAAC;gBACf,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,uCAAuC,YAAY,qBAAqB,CAAC,CAAC;QAC7F,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC,CAAC;IAEF,UAAU,CAAC,EAAC,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAkB;QACpF,kJAAkJ;QAClJ,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAgB,CAAC;QACnE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,EAAC,QAAQ,EAAE,YAAY,EAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAE3E,wBAAwB;YACxB,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9B,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACjC,CAAC;YACD,YAAY;YACZ,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,UAAU,GAAG,iBAAiB,CAAC,eAAe,CAAC;oBAC7C,KAAK;oBACL,YAAY;oBACZ,YAAY;oBACZ,QAAQ;oBACR,MAAM;oBACN,gBAAgB;oBAChB,SAAS;iBACV,CAAC,CAAC;gBACH,YAAY;YACd,CAAC;iBAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpC,UAAU,GAAG,iBAAiB,CAAC,eAAe,CAAC;oBAC7C,KAAK,EAAE,KAAuD;oBAC9D,YAAY;oBACZ,YAAY;oBACZ,QAAQ;oBACR,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc;oBACjD,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc;oBACjD,MAAM;oBACN,gBAAgB;oBAChB,SAAS;iBACV,CAAC,CAAC;gBACH,oBAAoB;YACtB,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,eAAe,CAAC,eAAe,CAAC;oBAC3C,KAAK,EAAE,KAAuC;oBAC9C,YAAY;oBACZ,YAAY;oBACZ,QAAQ;oBACR,MAAM;oBACN,gBAAgB;oBAChB,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC3B,UAAU,CAAC,QAAQ,CAAC,EAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAC,CAAC,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,4DAA4D,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC;YAC1G,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC;QACvE,CAAC;QAED,OAAO,UAAwB,CAAC;IAClC,CAAC;IAED,SAAS,CACP,EACE,YAAY,EACZ,WAAW,EACX,MAAM,EACN,gBAAgB,EAChB,SAAS,GAC4D,EACvE,OAAyB,EAAE;QAE3B,kJAAkJ;QAClJ,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAgB,CAAC;QACnE,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,EAAC,QAAQ,EAAE,YAAY,EAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnG,UAAU,GAAG,eAAe,CAAC,cAAc,CAAC;gBAC1C,WAAW;gBACX,YAAY;gBACZ,YAAY;gBACZ,QAAQ;gBACR,MAAM;gBACN,gBAAgB;gBAChB,SAAS;aACV,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;YACvD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,wBAAwB,CAChC;gBACE,IAAI,EAAE,4BAA4B,CAAC,sBAAsB;gBACzD,UAAU,EAAE,UAAU,CAAC,IAAI;gBAC3B,aAAa,EAAE,MAAM,CAAC,KAAK;gBAC3B,GAAG,UAAU,CAAC,UAAU,EAAE;aAC3B,EACD,4CAA4C,WAAW,CAAC,KAAK,EAAE,CAChE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,UAAU,CAAC,OAAO,CAAC,EAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAC,CAAC,CAAC;QACvF,CAAC;aAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,EAAE,KAAK,CAChB,gCAAgC,WAAW,CAAC,KAAK,sCAAsC,EACvF,UAAU,CAAC,UAAU,EAAE,CACxB,CAAC;YACF,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC;YACpE,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBAClC,MAAM,IAAI,wBAAwB,CAAC;oBACjC,IAAI,EAAE,4BAA4B,CAAC,yBAAyB;oBAC5D,GAAG,UAAU,CAAC,UAAU,EAAE;iBAC3B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,WAAW,CACT,EACE,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,MAAM,EACN,SAAS,GACmE,EAC9E,OAAyB,EAAE;QAE3B,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,EAAC,QAAQ,EAAE,YAAY,EAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACrG,UAAU,GAAG,iBAAiB,CAAC,gBAAgB,CAAC;gBAC9C,aAAa;gBACb,YAAY;gBACZ,YAAY;gBACZ,QAAQ;gBACR,MAAM;gBACN,gBAAgB;gBAChB,SAAS;gBACT,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc;gBACjD,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc;aAClD,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;YACvD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,wBAAwB,CAChC;gBACE,IAAI,EAAE,4BAA4B,CAAC,sBAAsB;gBACzD,UAAU,EAAE,UAAU,CAAC,IAAI;gBAC3B,aAAa,EAAE,MAAM,CAAC,OAAO;gBAC7B,GAAG,UAAU,CAAC,UAAU,EAAE;aAC3B,EACD,8CAA8C,aAAa,CAAC,KAAK,EAAE,CACpE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,UAAU,CAAC,SAAS,CAAC,EAAC,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAC,CAAC,CAAC;QAC3F,CAAC;aAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,EAAE,KAAK,CAChB,kCAAkC,aAAa,CAAC,KAAK,sCAAsC,EAC3F,UAAU,CAAC,UAAU,EAAE,CACxB,CAAC;YACF,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC;YACtE,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBAClC,MAAM,IAAI,wBAAwB,CAAC;oBACjC,IAAI,EAAE,4BAA4B,CAAC,2BAA2B;oBAC9D,GAAG,UAAU,CAAC,UAAU,EAAE;iBAC3B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,2BAA2B,CAAC,IAAU,EAAE,YAAqB,EAAE,SAAuB;QACpF,MAAM,OAAO,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,eAAe,GAAG,OAAO,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,kDAAkD;QAClD,OAAO,eAAe,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC;IAED;;;OAGG;IACH,6BAA6B,CAAC,IAAU,EAAE,YAAqB,EAAE,SAAuB;QACtF,IAAI,OAAO,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;YAC3C,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACvC,CAAC;IAEO,gBAAgB,CAAC,IAAU;QAIjC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/C,OAAO;YACL,QAAQ;YACR,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;SACnF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,cAAc;QACpB,IAAI,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,0BAA0B,CAAC;QAEvE,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACrF,KAAK,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,EAAE,CAAC;gBAC/B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACjC,aAAa,EAAE,CAAC;gBAChB,IAAI,aAAa,IAAI,CAAC;oBAAE,OAAO;YACjC,CAAC;QACH,CAAC;QACD,aAAa,CAAC,IAAI,CAAC,0BAA0B,EAAE,0BAA0B,CAAC,CAAC;IAC7E,CAAC;CACF;AAED,IAAK,4BAIJ;AAJD,WAAK,4BAA4B;IAC/B,yGAAyE,CAAA;IACzE,+GAA+E,CAAA;IAC/E,mHAAmF,CAAA;AACrF,CAAC,EAJI,4BAA4B,KAA5B,4BAA4B,QAIhC;AAeD,MAAM,wBAAyB,SAAQ,aAA2C;CAAG"}
1
+ {"version":3,"file":"seenGossipBlockInput.js","sourceRoot":"","sources":["../../../src/chain/seenCache/seenGossipBlockInput.ts"],"names":[],"mappings":"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"}
@@ -14,15 +14,25 @@ export declare class JobItemQueue<Args extends any[], R> {
14
14
  private readonly metrics?;
15
15
  private runningJobs;
16
16
  private lastYield;
17
+ /** Resolvers waiting for space in the queue */
18
+ private spaceWaiters;
17
19
  constructor(itemProcessor: (...args: Args) => Promise<R>, opts: JobQueueOpts, metrics?: QueueMetrics);
18
20
  get jobLen(): number;
19
21
  push(...args: Args): Promise<R>;
22
+ /**
23
+ * Returns a promise that resolves when there is space in the queue.
24
+ * If the queue already has space, resolves immediately (noop).
25
+ * Use this to apply backpressure when the caller should wait rather than
26
+ * have push() throw QUEUE_MAX_LENGTH.
27
+ */
28
+ waitForSpace(): Promise<void>;
20
29
  getItems(): {
21
30
  args: Args;
22
31
  addedTimeMs: number;
23
32
  }[];
24
33
  dropAllJobs: () => void;
25
34
  private runJob;
35
+ private notifySpaceWaiters;
26
36
  private abortAllJobs;
27
37
  }
28
38
  //# sourceMappingURL=itemQueue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"itemQueue.d.ts","sourceRoot":"","sources":["../../../src/util/queue/itemQueue.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,YAAY,EAAE,YAAY,EAA8B,MAAM,cAAc,CAAC;AAErF;;;GAGG;AAGH,qBAAa,YAAY,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC;IAiB3C,OAAO,CAAC,QAAQ,CAAC,aAAa;IAhBhC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyB;IAC9C;;;SAGK;IACL,OAAO,CAAC,QAAQ,CAAC,IAAI,CAKC;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAe;IACxC,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,SAAS,CAAK;gBAGH,aAAa,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAC7D,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,YAAY;IAcxB,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,CAAC,GAAG,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;IA0B/B,QAAQ,IAAI;QAAC,IAAI,EAAE,IAAI,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAC,EAAE;IAI/C,WAAW,QAAO,IAAI,CAEpB;IAEF,OAAO,CAAC,MAAM,CAqCZ;IAEF,OAAO,CAAC,YAAY,CAKlB;CACH"}
1
+ {"version":3,"file":"itemQueue.d.ts","sourceRoot":"","sources":["../../../src/util/queue/itemQueue.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,YAAY,EAAE,YAAY,EAA8B,MAAM,cAAc,CAAC;AAErF;;;GAGG;AAGH,qBAAa,YAAY,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC;IAmB3C,OAAO,CAAC,QAAQ,CAAC,aAAa;IAlBhC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyB;IAC9C;;;SAGK;IACL,OAAO,CAAC,QAAQ,CAAC,IAAI,CAKC;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAe;IACxC,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,SAAS,CAAK;IACtB,+CAA+C;IAC/C,OAAO,CAAC,YAAY,CAAsB;gBAGvB,aAAa,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAC7D,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,YAAY;IAcxB,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,CAAC,GAAG,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;IA0B/B;;;;;OAKG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAsCnC,QAAQ,IAAI;QAAC,IAAI,EAAE,IAAI,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAC,EAAE;IAI/C,WAAW,QAAO,IAAI,CAGpB;IAEF,OAAO,CAAC,MAAM,CAwCZ;IAEF,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,YAAY,CAKlB;CACH"}
@@ -18,6 +18,8 @@ export class JobItemQueue {
18
18
  metrics;
19
19
  runningJobs = 0;
20
20
  lastYield = 0;
21
+ /** Resolvers waiting for space in the queue */
22
+ spaceWaiters = [];
21
23
  constructor(itemProcessor, opts, metrics) {
22
24
  this.itemProcessor = itemProcessor;
23
25
  this.opts = { ...defaultQueueOpts, ...opts };
@@ -58,11 +60,52 @@ export class JobItemQueue {
58
60
  }
59
61
  });
60
62
  }
63
+ /**
64
+ * Returns a promise that resolves when there is space in the queue.
65
+ * If the queue already has space, resolves immediately (noop).
66
+ * Use this to apply backpressure when the caller should wait rather than
67
+ * have push() throw QUEUE_MAX_LENGTH.
68
+ */
69
+ async waitForSpace() {
70
+ if (this.opts.signal.aborted) {
71
+ throw new QueueError({ code: QueueErrorCode.QUEUE_ABORTED });
72
+ }
73
+ if (this.jobs.length < this.opts.maxLength) {
74
+ return;
75
+ }
76
+ return new Promise((resolve, reject) => {
77
+ let settled = false;
78
+ const onAbort = () => {
79
+ if (settled)
80
+ return;
81
+ settled = true;
82
+ const index = this.spaceWaiters.indexOf(wrappedResolve);
83
+ if (index >= 0) {
84
+ this.spaceWaiters.splice(index, 1);
85
+ }
86
+ reject(new QueueError({ code: QueueErrorCode.QUEUE_ABORTED }));
87
+ };
88
+ const wrappedResolve = () => {
89
+ if (settled)
90
+ return;
91
+ settled = true;
92
+ this.opts.signal.removeEventListener("abort", onAbort);
93
+ resolve();
94
+ };
95
+ this.spaceWaiters.push(wrappedResolve);
96
+ this.opts.signal.addEventListener("abort", onAbort, { once: true });
97
+ // Re-check after attaching listener to close the race window where
98
+ // signal.abort() fires between the initial check and addEventListener
99
+ if (this.opts.signal.aborted)
100
+ onAbort();
101
+ });
102
+ }
61
103
  getItems() {
62
104
  return this.jobs.map((job) => ({ args: job.args, addedTimeMs: job.addedTimeMs }));
63
105
  }
64
106
  dropAllJobs = () => {
65
107
  this.jobs.clear();
108
+ this.notifySpaceWaiters();
66
109
  };
67
110
  runJob = async () => {
68
111
  if (this.opts.signal.aborted || this.runningJobs >= this.opts.maxConcurrency) {
@@ -93,9 +136,23 @@ export class JobItemQueue {
93
136
  job.reject(e);
94
137
  }
95
138
  this.runningJobs = Math.max(0, this.runningJobs - 1);
139
+ // Notify any waiters that space is available
140
+ this.notifySpaceWaiters();
96
141
  // Potentially run a new job
97
142
  void this.runJob();
98
143
  };
144
+ notifySpaceWaiters() {
145
+ // Compute available slots once to avoid thundering herd: resolved waiters
146
+ // won't push() until the next microtask, so jobs.length doesn't change
147
+ // inside this loop. Without the cap we'd wake ALL waiters on a single slot.
148
+ let available = this.opts.maxLength - this.jobs.length;
149
+ while (available > 0 && this.spaceWaiters.length > 0) {
150
+ const resolve = this.spaceWaiters.shift();
151
+ if (resolve)
152
+ resolve();
153
+ available--;
154
+ }
155
+ }
99
156
  abortAllJobs = () => {
100
157
  while (this.jobs.length > 0) {
101
158
  const job = this.jobs.pop();
@@ -1 +1 @@
1
- {"version":3,"file":"itemQueue.js","sourceRoot":"","sources":["../../../src/util/queue/itemQueue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"itemQueue.js","sourceRoot":"","sources":["../../../src/util/queue/itemQueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAE,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AACvC,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,aAAa,CAAC;AACvD,OAAO,EAA6B,SAAS,EAAE,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAErF;;;GAGG;AAEH,6EAA6E;AAC7E,MAAM,OAAO,YAAY;IAmBJ;IAlBF,IAAI,CAAyB;IAC9C;;;SAGK;IACY,IAAI,GAKhB,IAAI,UAAU,EAAE,CAAC;IACL,OAAO,CAAgB;IAChC,WAAW,GAAG,CAAC,CAAC;IAChB,SAAS,GAAG,CAAC,CAAC;IACtB,+CAA+C;IACvC,YAAY,GAAmB,EAAE,CAAC;IAE1C,YACmB,aAA4C,EAC7D,IAAkB,EAClB,OAAsB;QAFL,kBAAa,GAAb,aAAa,CAA+B;QAI7D,IAAI,CAAC,IAAI,GAAG,EAAC,GAAG,gBAAgB,EAAE,GAAG,IAAI,EAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;QAE5E,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;gBAC7B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,GAAG,IAAU;QAChB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,UAAU,CAAC,EAAC,IAAI,EAAE,cAAc,CAAC,aAAa,EAAC,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC/C,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBACtC,yDAAyD;gBACzD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,qCAAqC;gBACrC,MAAM,IAAI,UAAU,CAAC,EAAC,IAAI,EAAE,cAAc,CAAC,gBAAgB,EAAC,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;YACjE,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACzD,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACrB,CAAC;iBAAM,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACvD,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY;QAChB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,UAAU,CAAC,EAAC,IAAI,EAAE,cAAc,CAAC,aAAa,EAAC,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,OAAO,GAAG,KAAK,CAAC;YAEpB,MAAM,OAAO,GAAG,GAAS,EAAE;gBACzB,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBACxD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;oBACf,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACrC,CAAC;gBACD,MAAM,CAAC,IAAI,UAAU,CAAC,EAAC,IAAI,EAAE,cAAc,CAAC,aAAa,EAAC,CAAC,CAAC,CAAC;YAC/D,CAAC,CAAC;YAEF,MAAM,cAAc,GAAG,GAAS,EAAE;gBAChC,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACvD,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YAEF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;YAElE,mEAAmE;YACnE,sEAAsE;YACtE,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,WAAW,GAAG,GAAS,EAAE;QACvB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC,CAAC;IAEM,MAAM,GAAG,KAAK,IAAmB,EAAE;QACzC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAC7E,OAAO;QACT,CAAC;QAED,qFAAqF;QACrF,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACpF,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;QACT,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,uFAAuF;QACvF,kFAAkF;QAClF,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;YACjD,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;YAEzE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;YACrD,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAEpB,IAAI,KAAK;gBAAE,KAAK,EAAE,CAAC;YAEnB,2BAA2B;YAC3B,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACzD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC5B,MAAM,aAAa,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,MAAM,CAAC,CAAU,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;QAErD,6CAA6C;QAC7C,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,4BAA4B;QAC5B,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;IACrB,CAAC,CAAC;IAEM,kBAAkB;QACxB,0EAA0E;QAC1E,uEAAuE;QACvE,4EAA4E;QAC5E,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QACvD,OAAO,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC1C,IAAI,OAAO;gBAAE,OAAO,EAAE,CAAC;YACvB,SAAS,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAEO,YAAY,GAAG,GAAS,EAAE;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5B,IAAI,GAAG;gBAAE,GAAG,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,EAAC,IAAI,EAAE,cAAc,CAAC,aAAa,EAAC,CAAC,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC,CAAC;CACH"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "bugs": {
12
12
  "url": "https://github.com/ChainSafe/lodestar/issues"
13
13
  },
14
- "version": "1.40.0-rc.2",
14
+ "version": "1.40.0",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -134,18 +134,18 @@
134
134
  "@libp2p/peer-id": "^5.1.0",
135
135
  "@libp2p/prometheus-metrics": "^4.3.15",
136
136
  "@libp2p/tcp": "^10.1.8",
137
- "@lodestar/api": "^1.40.0-rc.2",
138
- "@lodestar/config": "^1.40.0-rc.2",
139
- "@lodestar/db": "^1.40.0-rc.2",
140
- "@lodestar/fork-choice": "^1.40.0-rc.2",
141
- "@lodestar/light-client": "^1.40.0-rc.2",
142
- "@lodestar/logger": "^1.40.0-rc.2",
143
- "@lodestar/params": "^1.40.0-rc.2",
144
- "@lodestar/reqresp": "^1.40.0-rc.2",
145
- "@lodestar/state-transition": "^1.40.0-rc.2",
146
- "@lodestar/types": "^1.40.0-rc.2",
147
- "@lodestar/utils": "^1.40.0-rc.2",
148
- "@lodestar/validator": "^1.40.0-rc.2",
137
+ "@lodestar/api": "^1.40.0",
138
+ "@lodestar/config": "^1.40.0",
139
+ "@lodestar/db": "^1.40.0",
140
+ "@lodestar/fork-choice": "^1.40.0",
141
+ "@lodestar/light-client": "^1.40.0",
142
+ "@lodestar/logger": "^1.40.0",
143
+ "@lodestar/params": "^1.40.0",
144
+ "@lodestar/reqresp": "^1.40.0",
145
+ "@lodestar/state-transition": "^1.40.0",
146
+ "@lodestar/types": "^1.40.0",
147
+ "@lodestar/utils": "^1.40.0",
148
+ "@lodestar/validator": "^1.40.0",
149
149
  "@multiformats/multiaddr": "^12.1.3",
150
150
  "datastore-core": "^10.0.2",
151
151
  "datastore-fs": "^10.0.6",
@@ -169,7 +169,7 @@
169
169
  "@chainsafe/swap-or-not-shuffle": "^1.2.1",
170
170
  "@libp2p/interface-internal": "^2.3.18",
171
171
  "@libp2p/logger": "^5.1.21",
172
- "@lodestar/spec-test-util": "^1.40.0-rc.2",
172
+ "@lodestar/spec-test-util": "^1.40.0",
173
173
  "@types/js-yaml": "^4.0.5",
174
174
  "@types/qs": "^6.9.7",
175
175
  "@types/tmp": "^0.2.3",
@@ -188,5 +188,5 @@
188
188
  "beacon",
189
189
  "blockchain"
190
190
  ],
191
- "gitHead": "7387c76c3ce687be760163422e173d8d735479ec"
191
+ "gitHead": "66aff778c3094e0e16956b98454d353cea314982"
192
192
  }
@@ -5,7 +5,7 @@ import {callFnWhenAwait} from "@lodestar/utils";
5
5
  import {IBeaconDb} from "../../db/index.js";
6
6
  import {Metrics} from "../../metrics/metrics.js";
7
7
  import {isOptimisticBlock} from "../../util/forkChoice.js";
8
- import {JobItemQueue} from "../../util/queue/index.js";
8
+ import {JobItemQueue, isQueueErrorAborted} from "../../util/queue/index.js";
9
9
  import {ChainEvent} from "../emitter.js";
10
10
  import {IBeaconChain} from "../interface.js";
11
11
  import {PROCESS_FINALIZED_CHECKPOINT_QUEUE_LENGTH} from "./constants.js";
@@ -165,8 +165,12 @@ export class ArchiveStore {
165
165
  //-------------------------------------------------------------------------
166
166
  // Event handlers
167
167
  //-------------------------------------------------------------------------
168
- private onFinalizedCheckpoint = async (finalized: CheckpointWithHex): Promise<void> => {
169
- return this.jobQueue.push(finalized);
168
+ private onFinalizedCheckpoint = (finalized: CheckpointWithHex): void => {
169
+ this.jobQueue.push(finalized).catch((e) => {
170
+ if (!isQueueErrorAborted(e)) {
171
+ this.logger.error("Error queuing finalized checkpoint", {epoch: finalized.epoch}, e as Error);
172
+ }
173
+ });
170
174
  };
171
175
 
172
176
  private onCheckpoint = (): void => {
@@ -243,7 +247,9 @@ export class ArchiveStore {
243
247
  prunedBlocks: prunedBlocks.length,
244
248
  });
245
249
  } catch (e) {
246
- this.logger.error("Error processing finalized checkpoint", {epoch: finalized.epoch}, e as Error);
250
+ if (!this.signal.aborted) {
251
+ this.logger.error("Error processing finalized checkpoint", {epoch: finalized.epoch}, e as Error);
252
+ }
247
253
  }
248
254
  };
249
255
  }
@@ -91,7 +91,15 @@ export async function importBlock(
91
91
  }
92
92
 
93
93
  // 1. Persist block to hot DB (performed asynchronously to avoid blocking head selection)
94
- void this.unfinalizedBlockWrites.push([blockInput]);
94
+ // Wait for space in the write queue to apply backpressure during sync.
95
+ // Without this, a supernode syncing from behind can accumulate many blocks worth of column
96
+ // data in memory (up to 128 columns per block) causing OOM before persistence catches up.
97
+ await this.unfinalizedBlockWrites.waitForSpace();
98
+ this.unfinalizedBlockWrites.push([blockInput]).catch((e) => {
99
+ if (!isQueueErrorAborted(e)) {
100
+ this.logger.error("Error pushing block to unfinalized write queue", {slot: blockSlot}, e as Error);
101
+ }
102
+ });
95
103
 
96
104
  // Without forcefully clearing this cache, we would rely on WeakMap to evict memory which is not reliable
97
105
  this.serializedCache.clear();
@@ -126,8 +126,11 @@ const DEFAULT_MAX_CACHED_PRODUCED_RESULTS = 4;
126
126
 
127
127
  /**
128
128
  * The maximum number of pending unfinalized block writes to the database before backpressure is applied.
129
+ * Write queue entries hold references to block inputs, keeping them in memory even after cache eviction.
130
+ * This is especially important for supernodes which store all 128 columns per block — each pending
131
+ * write can hold significant memory. Keep moderate to avoid OOM during sync.
129
132
  */
130
- const DEFAULT_MAX_PENDING_UNFINALIZED_BLOCK_WRITES = 32;
133
+ const DEFAULT_MAX_PENDING_UNFINALIZED_BLOCK_WRITES = 16;
131
134
 
132
135
  export class BeaconChain implements IBeaconChain {
133
136
  readonly genesisTime: UintNum64;
@@ -385,7 +388,7 @@ export class BeaconChain implements IBeaconChain {
385
388
  });
386
389
 
387
390
  if (!opts.disableLightClientServer) {
388
- this.lightClientServer = new LightClientServer(opts, {config, clock, db, metrics, emitter, logger});
391
+ this.lightClientServer = new LightClientServer(opts, {config, clock, db, metrics, emitter, logger, signal});
389
392
  }
390
393
 
391
394
  this.reprocessController = new ReprocessController(this.metrics);
@@ -92,6 +92,7 @@ type LightClientServerModules = {
92
92
  metrics: Metrics | null;
93
93
  emitter: ChainEventEmitter;
94
94
  logger: Logger;
95
+ signal: AbortSignal;
95
96
  };
96
97
 
97
98
  const MAX_CACHED_FINALIZED_HEADERS = 3;
@@ -204,6 +205,7 @@ export class LightClientServer {
204
205
  private readonly emitter: ChainEventEmitter;
205
206
  private readonly logger: Logger;
206
207
  private readonly clock: IClock;
208
+ private readonly signal: AbortSignal;
207
209
  private readonly knownSyncCommittee = new MapDef<SyncPeriod, Set<DependentRootHex>>(() => new Set());
208
210
  private storedCurrentSyncCommittee = false;
209
211
 
@@ -224,13 +226,14 @@ export class LightClientServer {
224
226
  private readonly opts: LightClientServerOpts,
225
227
  modules: LightClientServerModules
226
228
  ) {
227
- const {config, clock, db, metrics, emitter, logger} = modules;
229
+ const {config, clock, db, metrics, emitter, logger, signal} = modules;
228
230
  this.config = config;
229
231
  this.clock = clock;
230
232
  this.db = db;
231
233
  this.metrics = metrics;
232
234
  this.emitter = emitter;
233
235
  this.logger = logger;
236
+ this.signal = signal;
234
237
 
235
238
  this.zero = {
236
239
  // Assign the hightest fork's default value because it can always be typecasted down to correct fork
@@ -287,12 +290,16 @@ export class LightClientServer {
287
290
  const syncPeriod = computeSyncPeriodAtSlot(block.slot);
288
291
 
289
292
  this.onSyncAggregate(syncPeriod, block.body.syncAggregate, block.slot, signedBlockRoot).catch((e) => {
290
- this.logger.error("Error onSyncAggregate", {}, e);
291
- this.metrics?.lightclientServer.onSyncAggregate.inc({event: "error"});
293
+ if (!this.signal.aborted) {
294
+ this.logger.error("Error onSyncAggregate", {}, e);
295
+ this.metrics?.lightclientServer.onSyncAggregate.inc({event: "error"});
296
+ }
292
297
  });
293
298
 
294
299
  this.persistPostBlockImportData(block, postState, parentBlockSlot).catch((e) => {
295
- this.logger.error("Error persistPostBlockImportData", {}, e);
300
+ if (!this.signal.aborted) {
301
+ this.logger.error("Error persistPostBlockImportData", {}, e);
302
+ }
296
303
  });
297
304
  }
298
305
 
@@ -1,10 +1,19 @@
1
1
  import {ChainForkConfig} from "@lodestar/config";
2
2
  import {CheckpointWithHex} from "@lodestar/fork-choice";
3
- import {ForkName, ForkPostFulu, ForkPreGloas, isForkPostDeneb, isForkPostFulu, isForkPostGloas} from "@lodestar/params";
3
+ import {
4
+ ForkName,
5
+ ForkPostFulu,
6
+ ForkPreGloas,
7
+ SLOTS_PER_EPOCH,
8
+ isForkPostDeneb,
9
+ isForkPostFulu,
10
+ isForkPostGloas,
11
+ } from "@lodestar/params";
4
12
  import {computeStartSlotAtEpoch} from "@lodestar/state-transition";
5
13
  import {BLSSignature, RootHex, SignedBeaconBlock, Slot, deneb, fulu} from "@lodestar/types";
6
14
  import {LodestarError, Logger, byteArrayEquals, pruneSetToMax} from "@lodestar/utils";
7
15
  import {Metrics} from "../../metrics/metrics.js";
16
+ import {MAX_LOOK_AHEAD_EPOCHS} from "../../sync/constants.js";
8
17
  import {IClock} from "../../util/clock.js";
9
18
  import {CustodyConfig} from "../../util/dataColumns.js";
10
19
  import {
@@ -26,7 +35,17 @@ import {
26
35
  } from "../blocks/blockInput/index.js";
27
36
  import {ChainEvent, ChainEventEmitter} from "../emitter.js";
28
37
 
29
- const MAX_BLOCK_INPUT_CACHE_SIZE = 5;
38
+ // Target size for the block input cache, enforced by pruneToMaxSize() which runs after prune()
39
+ // and onFinalized() — NOT on insertion. The cache can temporarily exceed this during range sync
40
+ // (e.g. 32 blocks inserted per batch) but is trimmed back after blocks are processed.
41
+ //
42
+ // Must be large enough to hold blocks from all concurrently downloaded range sync batches.
43
+ // Range sync downloads up to MAX_LOOK_AHEAD_EPOCHS batches ahead of the processing head,
44
+ // so up to (MAX_LOOK_AHEAD_EPOCHS + 1) batches (current + look-ahead) of SLOTS_PER_EPOCH
45
+ // blocks can be in the cache simultaneously. If this value is too small, pruneToMaxSize()
46
+ // will evict blocks from the batch being processed before they are persisted to the database,
47
+ // causing errors when async handlers like onForkChoiceFinalized run.
48
+ const MAX_BLOCK_INPUT_CACHE_SIZE = (MAX_LOOK_AHEAD_EPOCHS + 1) * SLOTS_PER_EPOCH;
30
49
 
31
50
  export type SeenBlockInputCacheModules = {
32
51
  config: ChainForkConfig;
@@ -64,14 +83,14 @@ export type GetByBlobOptions = {
64
83
  * - onFinalized event handler will help to prune any non-canonical forks once the chain finalizes. Any block-slots that
65
84
  * are before the finalized checkpoint will be pruned.
66
85
  * - Range-sync periods. The range process uses this cache to store and sync blocks with DA data as the chain is pulled
67
- * from peers. We pull batches, by epoch, so 32 slots are pulled at a time and several batches are pulled concurrently.
68
- * It is important to set the MAX_BLOCK_INPUT_CACHE_SIZE high enough to support range sync activities. Currently the
69
- * value is set for 5 batches of 32 slots. As process block is called (similar to following head) the BlockInput and
70
- * its ancestors will be pruned.
86
+ * from peers. We pull batches, by epoch, so 32 slots are pulled at a time and several batches are downloaded
87
+ * concurrently (up to MAX_LOOK_AHEAD_EPOCHS ahead). All downloaded blocks are added to this shared cache, so it
88
+ * must be large enough to hold blocks from all concurrent batches. If pruneToMaxSize() evicts blocks from the batch
89
+ * currently being processed, those blocks may not yet be persisted to the database, causing getBlockByRoot() to fail
90
+ * when async event handlers (e.g. onForkChoiceFinalized) try to look them up.
71
91
  * - Non-Finality times. This is a bit more tricky. There can be long periods of non-finality and storing everything
72
- * will cause OOM. The pruneToMax will help ensure a hard limit on the number of stored blocks (with DA) that are held
73
- * in memory at any one time. The value for MAX_BLOCK_INPUT_CACHE_SIZE is set to accommodate range-sync but in
74
- * practice this value may need to be massaged in the future if we find issues when debugging non-finality
92
+ * will cause OOM. The pruneToMaxSize will help ensure the number of stored blocks (with DA) is trimmed back to
93
+ * MAX_BLOCK_INPUT_CACHE_SIZE after each prune() or onFinalized() call
75
94
  */
76
95
 
77
96
  export class SeenBlockInput {