mirror of
https://github.com/status-im/nimbus-eth1.git
synced 2025-01-17 07:41:46 +00:00
ce713d95fc
* Extract sub-tree deletion functions into separate sub-modules * Move/rename `aristo_desc.accLruSize` => `aristo_constants.ACC_LRU_SIZE` * Lazily delete sub-trees why: This gives some control of the memory used to keep the deleted vertices in the cached layers. For larger sub-trees, keys and vertices might be on the persistent backend to a large extend. This would pull an amount of extra information from the backend into the cached layer. For lazy deleting it is enough to remember sub-trees by a small set of (at most 16) sub-roots to be processed when storing persistent data. Marking the tree root deleted immediately allows to let most of the code base work as before. * Comments and cosmetics * No need to import all for `Aristo` here * Kludge to make `chronicle` usage in sub-modules work with `fluffy` why: That `fluffy` would not run with any logging in `core_deb` is a problem I have known for a while. Up to now, logging was only used for debugging. With the current `Aristo` PR, there are cases where logging might be wanted but this works only if `chronicles` runs without the `json[dynamic]` sinks. So this should be re-visited. * More of a kludge
14 lines
787 B
Markdown
14 lines
787 B
Markdown
* Some comletions might be needed for the `aristo_part` module which is a
|
|
re-implementation of the module supporting *proof-mode*/partial trees.
|
|
+ Complete `partMergeStorageData()`. This function might not be needed at
|
|
all unless *snap-sync* is really revived.
|
|
+ For *snap-sync*, write a `proof` function verifying whether the partial
|
|
tree is correct relative to the `PartStateRef` descriptor.
|
|
+ One might need to re-visit the `removeCompletedNodes()` module when using
|
|
*snap-sync* proof features. The algorithm used here assumes that the list
|
|
of proof nodes is rather small. Also, a right boundary leaf node is
|
|
typically cleared. This needs to be re-checked when writing the `proof`
|
|
function mentioned above.
|
|
|
|
* `aristo_nearby` also qualifies for a re-write, now
|