-
Notifications
You must be signed in to change notification settings - Fork 703
Closed
Description
Service backends fundamentally vary in organizing their object space.
Backends like fs, solid has Hierarchical object space. Where as S3, and major cloud object stores have Flat object space. This different leads to different semantics over operations on objects in them, like following:
/has special meaning in hierarchical space, that represents an hierarchical level. where as in flat space it doesn't have any semantics.- One can create
a/b/cwith out creatinga/,a/b/in flat space, where as in hierarchical space we cannot. (Thus current implementation offsservice createsa/,a/b/`implicitly.) - One can have
a/,apaths in flat space, where as that is not the case in hierarchical space. - One cannot delete
a/b/with out deletinga/b/cin case of hierarchical space. Where as in flat space, one can. - etc.
These subtle differences diverges expected layout. For applications that rely on predictable layouts, it creates serious errors.
Hence proposal is to have a object_space_kind property with an enum in AccessorMetadata. So that applications can customize control flow based on that if required.
Metadata
Metadata
Assignees
Labels
No labels