[#17] object: Allow set copy_number for every placement vector

Signed-off-by: Pavel Karpy <p.karpy@yadro.com>
This commit is contained in:
Pavel Karpy 2023-04-06 00:44:42 +03:00
parent fc393d4605
commit cbc038f84e
2 changed files with 11 additions and 3 deletions

View file

@ -311,9 +311,17 @@ message PutRequest {
// Object's Header // Object's Header
Header header = 3; Header header = 3;
// Number of the object copies to store within the RPC call. By default // Number of copies of the object to store within the RPC call. By default,
// object is processed according to the container's placement policy. // object is processed according to the container's placement policy.
uint32 copies_number = 4; // Can be one of:
// 1. A single number; applied to the whole request and is treated as
// a minimal number of nodes that must store an object to complete the
// request successfully.
// 2. An ordered array; every number is treated as a minimal number of
// nodes in a corresponding placement vector that must store an object
// to complete the request successfully. The length MUST equal the placement
// vectors number, otherwise request is considered malformed.
repeated uint32 copies_number = 4;
} }
// Single message in the request stream. // Single message in the request stream.
oneof object_part { oneof object_part {

View file

@ -658,7 +658,7 @@ are not set, they will be calculated by a peer node.
| object_id | [neo.fs.v2.refs.ObjectID](#neo.fs.v2.refs.ObjectID) | | ObjectID if available. | | object_id | [neo.fs.v2.refs.ObjectID](#neo.fs.v2.refs.ObjectID) | | ObjectID if available. |
| signature | [neo.fs.v2.refs.Signature](#neo.fs.v2.refs.Signature) | | Object signature if available | | signature | [neo.fs.v2.refs.Signature](#neo.fs.v2.refs.Signature) | | Object signature if available |
| header | [Header](#neo.fs.v2.object.Header) | | Object's Header | | header | [Header](#neo.fs.v2.object.Header) | | Object's Header |
| copies_number | [uint32](#uint32) | | Number of the object copies to store within the RPC call. By default object is processed according to the container's placement policy. | | copies_number | [uint32](#uint32) | repeated | Number of copies of the object to store within the RPC call. By default, object is processed according to the container's placement policy. Can be one of: 1. A single number; applied to the whole request and is treated as a minimal number of nodes that must store an object to complete the request successfully. 2. An ordered array; every number is treated as a minimal number of nodes in a corresponding placement vector that must store an object to complete the request successfully. The length MUST equal the placement vectors number, otherwise request is considered malformed. |
<a name="neo.fs.v2.object.PutResponse"></a> <a name="neo.fs.v2.object.PutResponse"></a>