onflow / atree

Atree provides scalable arrays and scalable ordered maps.
https://onflow.org
Apache License 2.0
39 stars 13 forks source link

Fix SlabIterator to include nested storage ID (non-inlining feature branch) #398

Closed fxamacker closed 2 months ago

fxamacker commented 2 months ago

Closes #397

This problem does not affect atree inlining feature branch.

SlabIterator is used by storage health check, which is used for tests and for new migration features like filtering out old unreferenced slabs, etc.

Currently, SlabIterator doesn't traverse deep enough to handle nested storage ID inside another storable such as Cadence SomeValue.

This PR updates SlabIterator to handle nested storage ID in element such as Cadence SomeValue.


turbolent commented 2 months ago

@fxamacker Does this PR still need to get ported to another feature branch?

fxamacker commented 2 months ago

@fxamacker Does this PR still need to get ported to another feature branch?

@turbolent No, because this was already in the atree-inlining feature branch (I used this to iterate atree inlined slabs).