From a2baf6c908ded080a43d3a03bc8965934bd3c5bd Mon Sep 17 00:00:00 2001 From: Pavel Karpy Date: Wed, 16 Oct 2024 19:12:34 +0300 Subject: [PATCH] container: add meta information consistency attribute Closes #300. Signed-off-by: Pavel Karpy --- container/types.proto | 16 ++++++++++++++++ proto-docs/container.md | 16 ++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/container/types.proto b/container/types.proto index c2d3ad2..6af7b31 100644 --- a/container/types.proto +++ b/container/types.proto @@ -52,6 +52,22 @@ message Container { // accepted in a NeoFS network only if the global network hashing configuration // value corresponds with that attribute's value. After container inclusion, network // setting is ignored. + // * __NEOFS__METAINFO_CONSISTENCY \ + // Policy rule that defines the condition under which an object is considered + // processed. Acceptable values and meanings: + // 1. "strict": SN processes objects' meta information, it is validated, + // indexed and signed accordingly by a required minimal number of nodes + // that are included in the container, a corresponding object inclusion + // notification can be caught + // 2. "optimistic": the same as "strict" but a successful PUT operation + // does not mean objects' meta information has been multi signed and + // indexed correctly, however, SNs will try to do it asynchronously; + // in general PUT operations are expected to be faster than in the + // "strict" case + // 3. : SN does not process objects' meta + // information, it is not indexed and object presence/number of copies + // is not proven after a successful object PUT operation; the behavior + // is the same as it was before this attribute introduction // // And some well-known attributes used by applications only: // diff --git a/proto-docs/container.md b/proto-docs/container.md index 6bd2879..c8700f6 100644 --- a/proto-docs/container.md +++ b/proto-docs/container.md @@ -605,6 +605,22 @@ There are some "well-known" attributes affecting system behaviour: accepted in a NeoFS network only if the global network hashing configuration value corresponds with that attribute's value. After container inclusion, network setting is ignored. +* __NEOFS__METAINFO_CONSISTENCY \ + Policy rule that defines the condition under which an object is considered + processed. Acceptable values and meanings: + 1. "strict": SN processes objects' meta information, it is validated, + indexed and signed accordingly by a required minimal number of nodes + that are included in the container, a corresponding object inclusion + notification can be caught + 2. "optimistic": the same as "strict" but a successful PUT operation + does not mean objects' meta information has been multi signed and + indexed correctly, however, SNs will try to do it asynchronously; + in general PUT operations are expected to be faster than in the + "strict" case + 3. : SN does not process objects' meta + information, it is not indexed and object presence/number of copies + is not proven after a successful object PUT operation; the behavior + is the same as it was before this attribute introduction And some well-known attributes used by applications only: