nimbus-eth1/nimbus/sync/snap/worker
Jordan Hrycaj a689e9185a
Prep for full sync after snap make 5 (#1286)
* Update docu and logging

* Extracted and updated constants from `worker_desc` into separate file

* Update and re-calibrate communication error handling

* Allow simplified pivot negotiation

why:
  This feature allows to turn off pivot negotiation so that peers agree
  on a a pivot header.

  For snap sync with fast changing pivots this only throttles the sync
  process. The finally downloaded DB snapshot is typically a merged
  version of different pivot states augmented by a healing process.

* Re-model worker queues for accounts download & healing

why:
  Currently there is only one data fetch per download or healing task.
  This task is then repeated by the scheduler after a short time. In
  many cases, this short time seems enough for some peers to decide to
  terminate connection.

* Update main task batch `runMulti()`

details:
  The function `runMulti()` is activated in quasi-parallel mode by the
  scheduler. This function calls the download, healing and fast-sync
  functions.

  While in debug mode, after each set of jobs run by this function the
  database is analysed (by the `snapdb_check` module) and the result
  printed.
2022-11-01 15:07:44 +00:00
..
com Prep for full sync after snap make 5 (#1286) 2022-11-01 15:07:44 +00:00
db Prep for full sync after snap make 5 (#1286) 2022-11-01 15:07:44 +00:00
heal_accounts.nim Prep for full sync after snap make 5 (#1286) 2022-11-01 15:07:44 +00:00
heal_storage_slots.nim Prep for full sync after snap make 5 (#1286) 2022-11-01 15:07:44 +00:00
range_fetch_accounts.nim Prep for full sync after snap make 5 (#1286) 2022-11-01 15:07:44 +00:00
range_fetch_storage_slots.nim Prep for full sync after snap make 5 (#1286) 2022-11-01 15:07:44 +00:00
ticker.nim Prep for full sync after snap make 5 (#1286) 2022-11-01 15:07:44 +00:00