-
Notifications
You must be signed in to change notification settings - Fork 353
Open
Labels
Description
We need to decrease storage requirements for validator nodes with high count of validators and supernodes. This could be achieved by deduplicating sidecars data which is 2x extension over blobs. I suggest following changes which could be split into 2-3 PRs:
- Add flag
--data-column-sidecar-extension-retention-epochs, which I suggest to set by default to 512 epochs (a bit more than 2 days) - Improve DataColumnSidecar RPC handlers to have special logic when queried on supernode:
a. Use dedicated thread pool with 2 threads for this kind of tasks
b. If node is supernode, request asks for sidecars over retention period but in DA window (Defaults: 512 < epoch < 4096) and index is more than 63, we get 0-63 sidecars from DB and reconstruct everything else using thread pool. Data is not cached and used only for one request, but we should run only one extension for several indices in one request. - Add DataColumnSidecarExtensionPruner, which prunes 64-127 indices over
data-column-sidecar-extension-retention-epochsif the node is supernode
NOTE: 72 blobs DataColumnSidecar's reconstruction for 1 slot is 1.2 ops/second on M4