nimbus-eth1/nimbus/sync/snap/worker/db
Jordan Hrycaj 88b315bb41
Snap sync refactor healing (#1397)
* Simplify accounts healing threshold management

why:
  Was over-engineered.

details:
  Previously, healing was based on recursive hexary trie perusal.

  Due to "cheap" envelope decomposition of a range complement for the
  hexary trie, the cost of running extra laps have become time-affordable
  again and a simple trigger mechanism for healing will do.

* Control number of dangling result nodes in `hexaryInspectTrie()`

also:
+ Returns number of visited nodes available for logging so the maximum
  number of nodes can be tuned accordingly.
+ Some code and docu update

* Update names of constants

why:
  Declutter, more systematic naming

* Re-implemented `worker_desc.merge()` for storage slots

why:
  Provided as proper queue management in `storage_queue_helper`.

details:
+ Several append modes (replaces `merge()`)
+ Added third queue to record entries currently fetched by a worker. So
  another parallel running worker can safe the complete set of storage
  slots in as checkpoint. This was previously lost.

* Refactor healing

why:
  Simplify and remove deep hexary trie perusal for finding completeness.

   Due to "cheap" envelope decomposition of a range complement for the
   hexary trie, the cost of running extra laps have become time-affordable
   again and a simple trigger mechanism for healing will do.

* Docu update

* Run a storage job only once in download loop

why:
  Download failure or rejection (i.e. missing data) lead to repeated
  fetch requests until peer disconnects, otherwise.
2022-12-24 09:54:18 +00:00
..
hexary_desc.nim Snap sync refactor healing (#1397) 2022-12-24 09:54:18 +00:00
hexary_envelope.nim Snap sync refactor accounts healing (#1392) 2022-12-19 21:22:09 +00:00
hexary_error.nim Snap sync refactor accounts healing (#1392) 2022-12-19 21:22:09 +00:00
hexary_import.nim Prep for full sync after snap make 4 (#1282) 2022-10-27 14:49:28 +01:00
hexary_inspect.nim Snap sync refactor healing (#1397) 2022-12-24 09:54:18 +00:00
hexary_interpolate.nim Snap sync refactor healing (#1397) 2022-12-24 09:54:18 +00:00
hexary_nearby.nim Snap sync refactor healing (#1397) 2022-12-24 09:54:18 +00:00
hexary_paths.nim Rename and update dismantle => hexaryEnvelopeDecompose() (#1351) 2022-12-06 17:35:56 +00:00
rocky_bulk_load.nim Snap sync accounts db code reorg (#1189) 2022-08-15 16:51:50 +01:00
snapdb_accounts.nim Rename and update dismantle => hexaryEnvelopeDecompose() (#1351) 2022-12-06 17:35:56 +00:00
snapdb_desc.nim Rename and update dismantle => hexaryEnvelopeDecompose() (#1351) 2022-12-06 17:35:56 +00:00
snapdb_persistent.nim Snap sync interval complement method to speed up trie perusal (#1328) 2022-11-28 09:03:23 +00:00
snapdb_pivot.nim implement better hardfork management 2022-12-02 13:51:42 +07:00
snapdb_storage_slots.nim Snap sync refactor healing (#1397) 2022-12-24 09:54:18 +00:00