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
Previously in store/v1, and now in store/v2, a list of all potential store keys (now called actors) must be provided at initialization of store in the application lifecycle. See the handling of opts.StoreKeys in store/v2/root/factory.go. In reality this is an implementation detail of IAVL and nothing else, in IAVL one store key corresponds to one state root.
We propose that store/v2 should not require all possible actors to be defined at construction, and should support the creation of new actors at runtime. In order to support this, a small piece of code should wrap IAVL KV operations to provide special handling of keys which are prefixed with an eagerly supplied (only the case of IAVL) list of prefixes. @testinginprod drafted a poc of an approach for this previously, along with some benchmarks and ideas for prefix -> byte slice matching.
The text was updated successfully, but these errors were encountered:
Previously in store/v1, and now in store/v2, a list of all potential store keys (now called
actors
) must be provided at initialization of store in the application lifecycle. See the handling ofopts.StoreKeys
in store/v2/root/factory.go. In reality this is an implementation detail of IAVL and nothing else, in IAVL one store key corresponds to one state root.We propose that store/v2 should not require all possible actors to be defined at construction, and should support the creation of new actors at runtime. In order to support this, a small piece of code should wrap IAVL KV operations to provide special handling of keys which are prefixed with an eagerly supplied (only the case of IAVL) list of prefixes. @testinginprod drafted a poc of an approach for this previously, along with some benchmarks and ideas for prefix -> byte slice matching.
The text was updated successfully, but these errors were encountered: