- Author: JinnyYi <github.com/JinnyYi>
- Start Date: 2021-06-21
- RFC PR: beyondstorage/specs#117
- Tracking Issue: beyondstorage/go-storage#604
- Updates:
The word Service
has different meanings among our repositories:
- In go-storage,
Storager
is the main interface for storage service, andServicer
is the container for storage.Storage
andService
correspond to the abstraction layersStorager
andServicer
respectively.ServiceError
andStorageError
follow the concept. - In specs,
Service Pair
orService Info
means the pair or info could only be used in the current service, which is opposite toGlobal Pair
orGlobal Info
. So we haveService Level Object Metadata
toserviceMetadata
inObject
.
These seem to be confusing for developers and users. So we decide to use system
as service or system defined information opposite to global
to fix the confusion on service pair
, service metadata
, etc in Idea: Find a new word to represent Service.
All our repositories should reflect this change.
- Rename
Service Pair
toSystem Pair
to represent the input argument for operations in current service, which is opposite toGlobal Pair
. - Rename
Service Info
toSystem Info
to represent the returning information from the current service, which is opposite toGlobal Info
. - Rename
service Metadata
tosystem metadata
to represent system-defined metadata.
N/A
All API call that used object system metadata could be affected. We could migrate as follows:
- Add
systemMetadata
inObject
and markserviceMetadata
,ObjectMetadata
related as deprecated. - Release a new version for go-storage and all services bump to this version with all references to
Object.serviceMetadata
, etc updated. - Remove deprecated fields in
Object
in the next major version.
- Mark
service metadata
related as deprecated. - Add
system metadata
in specs and go-storage. - Update all references to
Object.serviceMetadata
in services. - Update comments about
Service Pair
,Service Info
and so on in site.