forked from TrueCloudLab/frostfs-api
[#28] object: Move storage group information
In previous version of the format storage group information was stored in completely in the dedicated header field. However, having a header field instead of storing it in a payload is not justified, since it is used only to check the presence in the object. Based on this, this commit defines a message for marking the object as the custodian of information about the storage group and changes the type of field StorageGroup to it. Information about the storage group will be stored serialized in the payload of the objects marked in this way Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
parent
2ea912a910
commit
67ecea7507
2 changed files with 15 additions and 4 deletions
|
@ -7,7 +7,6 @@ option csharp_namespace = "NeoFS.API.Object";
|
||||||
|
|
||||||
import "refs/types.proto";
|
import "refs/types.proto";
|
||||||
import "service/verify.proto";
|
import "service/verify.proto";
|
||||||
import "storagegroup/types.proto";
|
|
||||||
|
|
||||||
// Header groups the information about the NeoFS object.
|
// Header groups the information about the NeoFS object.
|
||||||
message Header {
|
message Header {
|
||||||
|
@ -88,8 +87,12 @@ message Header {
|
||||||
// HomomorphicHash carries homomorphic hash of the object payload.
|
// HomomorphicHash carries homomorphic hash of the object payload.
|
||||||
bytes HomomorphicHash = 5;
|
bytes HomomorphicHash = 5;
|
||||||
|
|
||||||
// StorageGroup carries information about the NeoFS storage group.
|
// StorageGroup groups meta information about a storage group.
|
||||||
storagegroup.StorageGroup StorageGroup = 6;
|
message StorageGroup {
|
||||||
|
}
|
||||||
|
|
||||||
|
// StorageGroup marks an object containing information about a storage group.
|
||||||
|
StorageGroup storageGroup = 6;
|
||||||
|
|
||||||
// Split groups information about spawning the object through a payload splitting.
|
// Split groups information about spawning the object through a payload splitting.
|
||||||
message Split {
|
message Split {
|
||||||
|
|
|
@ -34,6 +34,7 @@
|
||||||
- [Header.Extended.Attribute](#object.Header.Extended.Attribute)
|
- [Header.Extended.Attribute](#object.Header.Extended.Attribute)
|
||||||
- [Header.Extended.Integrity](#object.Header.Extended.Integrity)
|
- [Header.Extended.Integrity](#object.Header.Extended.Integrity)
|
||||||
- [Header.Extended.Split](#object.Header.Extended.Split)
|
- [Header.Extended.Split](#object.Header.Extended.Split)
|
||||||
|
- [Header.Extended.StorageGroup](#object.Header.Extended.StorageGroup)
|
||||||
- [Header.Extended.Tombstone](#object.Header.Extended.Tombstone)
|
- [Header.Extended.Tombstone](#object.Header.Extended.Tombstone)
|
||||||
- [Header.Main](#object.Header.Main)
|
- [Header.Main](#object.Header.Main)
|
||||||
- [Object](#object.Object)
|
- [Object](#object.Object)
|
||||||
|
@ -386,7 +387,7 @@ the NeoFS sub-systems.
|
||||||
| CreationEpoch | [uint64](#uint64) | | CreationEpoch carries number of NeoFS epoch on which the object was created. |
|
| CreationEpoch | [uint64](#uint64) | | CreationEpoch carries number of NeoFS epoch on which the object was created. |
|
||||||
| tombstone | [Header.Extended.Tombstone](#object.Header.Extended.Tombstone) | | Tombstone marks the object to be deleted. |
|
| tombstone | [Header.Extended.Tombstone](#object.Header.Extended.Tombstone) | | Tombstone marks the object to be deleted. |
|
||||||
| HomomorphicHash | [bytes](#bytes) | | HomomorphicHash carries homomorphic hash of the object payload. |
|
| HomomorphicHash | [bytes](#bytes) | | HomomorphicHash carries homomorphic hash of the object payload. |
|
||||||
| StorageGroup | [storagegroup.StorageGroup](#storagegroup.StorageGroup) | | StorageGroup carries information about the NeoFS storage group. |
|
| storageGroup | [Header.Extended.StorageGroup](#object.Header.Extended.StorageGroup) | | StorageGroup marks an object containing information about a storage group. |
|
||||||
| split | [Header.Extended.Split](#object.Header.Extended.Split) | | Split carries the position of the object in the split hierarchy. |
|
| split | [Header.Extended.Split](#object.Header.Extended.Split) | | Split carries the position of the object in the split hierarchy. |
|
||||||
|
|
||||||
|
|
||||||
|
@ -432,6 +433,13 @@ Split groups information about spawning the object through a payload splitting.
|
||||||
| Origin | [Header](#object.Header) | | Origin carries the header of the origin object. |
|
| Origin | [Header](#object.Header) | | Origin carries the header of the origin object. |
|
||||||
|
|
||||||
|
|
||||||
|
<a name="object.Header.Extended.StorageGroup"></a>
|
||||||
|
|
||||||
|
### Message Header.Extended.StorageGroup
|
||||||
|
StorageGroup groups meta information about a storage group.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="object.Header.Extended.Tombstone"></a>
|
<a name="object.Header.Extended.Tombstone"></a>
|
||||||
|
|
||||||
### Message Header.Extended.Tombstone
|
### Message Header.Extended.Tombstone
|
||||||
|
|
Loading…
Reference in a new issue