Draft: Scoru: Replace irmin durable with in-memory one
Context
Previous MR !8139 (merged)
This MR basically takes this commit as a foundation 4eab98f0 and then the following fixes are done:
-
Empty nodes in
Lazy_fs.removeare pruned. Without this tweak, it diverged oncount_subtreeandcopy_treeandmove_treefunctions of snapshotted durable (in two latter cases because an exception should be thrown when subtree doesn't exist) -
Durable.hash/Durable.subtree_name_at/Durable.listhave been rewritten to conform the old implementation -
Also backward compatibility for
hash,listandsubtree_name_atwas preserved by encoding back to irmin tree in those functions
I tested it several times with 2 * 10^5 operations generative test, tests detected only mentioned bugs.
Also no significant improvement in sense of performance (almost the same). It's the case because in rollup node uses persistent storage underline but in tests both implementations use in-memory repr.
Manually testing the MR
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) -
Document any change to the user interface, including configuration parameters (see node configuration) -
Provide automatic testing (see the testing guide). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR