Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add standard storage mode and improve back-sync handling (30): #94

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

Tumas
Copy link
Member

@Tumas Tumas commented Jan 22, 2025

Store modes and back-sync:

  • Back-sync blocks to Config::min_epochs_for_block_requests in standard storage mode
  • Back-sync blob sidecars to Config::min_epochs_for_blob_sidecars_requests
  • Track & filter peers that don't serve blocks prior to Config::min_epochs_for_block_requests when performing full back-sync
  • Remove Feature::TrustBackSyncBlocks
  • Verify signatures of back-synced blocks
  • Move back-sync status to Store
  • Relocate received_blob_sidecars and received_block_roots caches from p2p::Network to p2p::BlockSyncService
  • Extend SyncBatch with retry_count and responses_received fields
  • Use smaller back-sync batches when syncing with blobs
  • Don't validate signature of genesis block
  • Track state archival progress in database to be able to resume it after restart
  • Don't request data from busy peers

DB:

  • Add db-info command to inspect the Sync database
  • Replace read-only boolean flag with more descriptive DatabaseMode enum

Other:

  • Panic to trigger app-restart if network thread is down
  • Handle exit signal in an archiver thread & batch archiver updates to db
  • Rename RequestType to RPCRequestType as it conflicts with updated eth2_libp2p
  • Log peer reporting in debug log
  • Log minimal back-sync info when starting back-sync
  • Don't log RPC received blocks to info logs (too much output during syncing)

@Tumas Tumas marked this pull request as draft January 22, 2025 17:33
@SifraiTeam SifraiTeam force-pushed the feature/storage-modes branch from e885eda to 65c518d Compare January 22, 2025 17:37
@Tumas Tumas linked an issue Jan 22, 2025 that may be closed by this pull request
@SifraiTeam SifraiTeam force-pushed the feature/storage-modes branch 4 times, most recently from 499a1e0 to 8c6e54c Compare January 23, 2025 14:38
Store modes and back-sync:

- Back-sync blocks to `Config::min_epochs_for_block_requests` in standard
  storage mode
- Back-sync blob sidecars to `Config::min_epochs_for_blob_sidecars_requests`
- Track & filter peers that don't serve blocks prior to
  `Config::min_epochs_for_block_requests` when performing full back-sync
- Remove `Feature::TrustBackSyncBlocks`
- Verify signatures of back-synced blocks
- Move back-sync status to `Store`
- Relocate `received_blob_sidecars` and `received_block_roots` caches from `p2p::Network` to `p2p::BlockSyncService`
- Extend `SyncBatch` with `retry_count` and `responses_received` fields
- Use smaller back-sync batches when syncing with blobs
- Don't validate signature of genesis block
- Track state archival progress in database to be able to resume it
  after restart
- Don't request data from busy peers

DB:

- Add db-info command to inspect the Sync database
- Replace read-only boolean flag with more descriptive `DatabaseMode` enum

Other:

- Panic to trigger app-restart if network thread is down
- Handle exit signal in an archiver thread & batch archiver updates to db
- Rename `RequestType` to `RPCRequestType` as it conflicts with updated `eth2_libp2p`
- Log peer reporting in debug log
- Log minimal back-sync info when starting back-sync
- Don't log RPC received blocks to info logs (too much output during syncing)
@SifraiTeam SifraiTeam force-pushed the feature/storage-modes branch from 8c6e54c to f5ee7cc Compare January 23, 2025 16:20
@Tumas Tumas marked this pull request as ready for review January 23, 2025 16:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add a “Goldilocks” prune mode
1 participant