From 097613cdd75a4e17fc5346d56dc466b72cac2f5b Mon Sep 17 00:00:00 2001 From: Stanislav Bogatyrev Date: Sat, 5 Mar 2022 13:57:52 +0300 Subject: [PATCH 1/2] Clarification for eXtended Headers in MetaHeader Minor clarification to show how XHeaders should be used. Signed-off-by: Stanislav Bogatyrev --- object/service.proto | 58 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/object/service.proto b/object/service.proto index 8ad4330..248fe89 100644 --- a/object/service.proto +++ b/object/service.proto @@ -19,6 +19,16 @@ service ObjectService { // be restored by concatenation of object message payload and all chunks // keeping the receiving order. // + // Extended headers can change `Get` behaviour: + // * __NEOFS__NETMAP_EPOCH \ + // Will use the requsted version of Network Map for object placement + // calculation. + // * __NEOFS__NETMAP_LOOKUP_DEPTH \ + // Will try older versions of network map to find an object until the depth + // limit reached. + // + // Please refer to detailed `XHeader` description. + // // Statuses: // - **OK** (0, SECTION_SUCCESS): \ // object has been successfully read; @@ -42,6 +52,13 @@ service ObjectService { // object payload. All messages, except first one, SHOULD be payload chunks. // Chunk messages SHOULD be sent in the direct order of fragmentation. // + // Extended headers can change `Put` behaviour: + // * __NEOFS__NETMAP_EPOCH \ + // Will use the requsted version of Network Map for object placement + // calculation. + // + // Please refer to detailed `XHeader` description. + // // Statuses: // - **OK** (0, SECTION_SUCCESS): \ // object has been successfully saved in the container; @@ -66,6 +83,13 @@ service ObjectService { // Delete the object from a container. There is no immediate removal // guarantee. Object will be marked for removal and deleted eventually. // + // Extended headers can change `Delete` behaviour: + // * __NEOFS__NETMAP_EPOCH \ + // Will use the requsted version of Network Map for object placement + // calculation. + // + // Please refer to detailed `XHeader` description. + // // Statuses: // - **OK** (0, SECTION_SUCCESS): \ // object has been successfully marked to be removed from the container; @@ -84,6 +108,13 @@ service ObjectService { // returned. If `main_only` request field is set, the short header with only // the very minimal information will be returned instead. // + // Extended headers can change `Head` behaviour: + // * __NEOFS__NETMAP_EPOCH \ + // Will use the requsted version of Network Map for object placement + // calculation. + // + // Please refer to detailed `XHeader` description. + // // Statuses: // - **OK** (0, SECTION_SUCCESS): \ // object header has been successfully read; @@ -104,6 +135,13 @@ service ObjectService { // Header's filed values. Please see the corresponding NeoFS Technical // Specification section for more details. // + // Extended headers can change `Search` behaviour: + // * __NEOFS__NETMAP_EPOCH \ + // Will use the requsted version of Network Map for object placement + // calculation. + // + // Please refer to detailed `XHeader` description. + // // Statuses: // - **OK** (0, SECTION_SUCCESS): \ // objects have been successfully selected; @@ -121,6 +159,16 @@ service ObjectService { // restored by concatenation of all received payload chunks keeping the receiving // order. // + // Extended headers can change `GetRange` behaviour: + // * __NEOFS__NETMAP_EPOCH \ + // Will use the requsted version of Network Map for object placement + // calculation. + // * __NEOFS__NETMAP_LOOKUP_DEPTH \ + // Will try older versions of network map to find an object until the depth + // limit reached. + // + // Please refer to detailed `XHeader` description. + // // Statuses: // - **OK** (0, SECTION_SUCCESS): \ // data range of the object payload has been successfully read; @@ -142,6 +190,16 @@ service ObjectService { // length) tuples. Hashes order in response corresponds to the ranges order in // the request. Note that hash is calculated for XORed data. // + // Extended headers can change `GetRangeHash` behaviour: + // * __NEOFS__NETMAP_EPOCH \ + // Will use the requsted version of Network Map for object placement + // calculation. + // * __NEOFS__NETMAP_LOOKUP_DEPTH \ + // Will try older versions of network map to find an object until the depth + // limit reached. + // + // Please refer to detailed `XHeader` description. + // // Statuses: // - **OK** (0, SECTION_SUCCESS): \ // data range of the object payload has been successfully hashed; From 709f8500cbed03fb76c35f23e40121028b7fec14 Mon Sep 17 00:00:00 2001 From: Elizaveta Chichindaeva Date: Fri, 13 May 2022 13:27:30 +0300 Subject: [PATCH 2/2] Update Signed-off-by: Elizaveta Chichindaeva --- object/service.proto | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/object/service.proto b/object/service.proto index 248fe89..58fbf03 100644 --- a/object/service.proto +++ b/object/service.proto @@ -24,8 +24,9 @@ service ObjectService { // Will use the requsted version of Network Map for object placement // calculation. // * __NEOFS__NETMAP_LOOKUP_DEPTH \ - // Will try older versions of network map to find an object until the depth - // limit reached. + // Will try older versions (starting from `__NEOFS__NETMAP_EPOCH` if specified or + // the latest one otherwise) of Network Map to find an object until the depth + // limit is reached. // // Please refer to detailed `XHeader` description. // @@ -164,8 +165,8 @@ service ObjectService { // Will use the requsted version of Network Map for object placement // calculation. // * __NEOFS__NETMAP_LOOKUP_DEPTH \ - // Will try older versions of network map to find an object until the depth - // limit reached. + // Will try older versions of Network Map to find an object until the depth + // limit is reached. // // Please refer to detailed `XHeader` description. // @@ -195,8 +196,8 @@ service ObjectService { // Will use the requsted version of Network Map for object placement // calculation. // * __NEOFS__NETMAP_LOOKUP_DEPTH \ - // Will try older versions of network map to find an object until the depth - // limit reached. + // Will try older versions of Network Map to find an object until the depth + // limit is reached. // // Please refer to detailed `XHeader` description. //