You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Report the hash of the existing trie node as a deleted hash for the online pruner
Deep copy the trie node and update the trie 'generation' (bumped on every trie snapshot) on the new node copy
There has already been some work to reduce the number of trie node mutation preparations. However, this was more for performance reasons (CPU and memory usage) by reducing the node deep copying when not needed.
Working on #2835 I realized about 1. mentioned above, and checked our trie code again for these mutation preparations.
Some of them are appropriate, but some happen although mutation isn't guaranteed. In this case, it essentially means our online pruner would just throw out valid and currently in use node hashes from the database. We didn't spot this so far since we don't run the online pruning really.
To fix this, we should change those few occurrences to occur ONLY when mutation is GUARANTEED.
The text was updated successfully, but these errors were encountered:
Preparing a trie node for mutation means:
There has already been some work to reduce the number of trie node mutation preparations. However, this was more for performance reasons (CPU and memory usage) by reducing the node deep copying when not needed.
Working on #2835 I realized about
1.
mentioned above, and checked our trie code again for these mutation preparations.Some of them are appropriate, but some happen although mutation isn't guaranteed. In this case, it essentially means our online pruner would just throw out valid and currently in use node hashes from the database. We didn't spot this so far since we don't run the online pruning really.
To fix this, we should change those few occurrences to occur ONLY when mutation is GUARANTEED.
The text was updated successfully, but these errors were encountered: