Is your feature request related to a problem? Please describe.
I'm always frustrated when we have []oid.Address interfaces for metabse (MarkGarbage at least) after we migrated everything to a container <-> single metabucket scheme.
Describe the solution you'd like
Handle every operation in storage engine/metabase per container, in other words, make []oid.Address API be cid.ID, []oid.ID, this should simplify (and, i believe, speed up) many things.
Describe alternatives you've considered
Keep it as is, it works.
Additional context
I'd seriously think of limiting this interface to a (cid.ID, []oid.ID) input pair. Too many dances internally to handle arbitrary containers while in fact this is almost never needed. But that's a bit different story.
Originally posted by @roman-khimov in #3856 (comment)
Is your feature request related to a problem? Please describe.
I'm always frustrated when we have
[]oid.Addressinterfaces for metabse (MarkGarbageat least) after we migrated everything to a container <-> single metabucket scheme.Describe the solution you'd like
Handle every operation in storage engine/metabase per container, in other words, make
[]oid.AddressAPI becid.ID, []oid.ID, this should simplify (and, i believe, speed up) many things.Describe alternatives you've considered
Keep it as is, it works.
Additional context
I'd seriously think of limiting this interface to a
(cid.ID, []oid.ID)input pair. Too many dances internally to handle arbitrary containers while in fact this is almost never needed. But that's a bit different story.Originally posted by @roman-khimov in #3856 (comment)