object: add __NEOFS__ASSOCIATE object attribute#337
Conversation
proto-docs/object.md
Outdated
| 16 byte UUIDv4 used to identify the split object hierarchy parts | ||
| * $Object:split.first \ | ||
| object_id of the first part in split chain; non-acceptable for deprecated V1 split scheme | ||
| * $Object:target \ |
There was a problem hiding this comment.
with __NEOFS__TARGET attribute this wouldnt've been needed. Any reason to not do it?
There was a problem hiding this comment.
this is a core feature for me with a certain type and non-string original representation. i feel it the same way as oid or other fields. likely all the necessary fields can be placed in the attributes in their string form, and SN may be forced to validate them, but what for?
There was a problem hiding this comment.
i am also not a fan of expiration epoch as an attribute, i do not understand it
There was a problem hiding this comment.
to get backward and forward compatibility on serialization (incl. signatures) and search
from protobuf pov, fields are more preferable to me as well. But they are harder to support
There was a problem hiding this comment.
compatibility
i can understand it, but i do not want to see it we would do it from scratch. we do not have compatibility anyway, since the old TS/LOCK will just die in any case
There was a problem hiding this comment.
the same way, locking many objects with a single LOCK object will not be acceptable. non-compatible either
object/types.proto
Outdated
| // Position of the object in the split hierarchy | ||
| Split split = 11 [json_name = "split"]; | ||
|
|
||
| // Target object for typed system objects only, ignored otherwise: |
There was a problem hiding this comment.
i'd prohibit, not ignore. Setting this in regular or LINK objects doesn't seem smth valid
if necessary, we'll weaken the requirement
There was a problem hiding this comment.
BTW, for LINK this makes total sense. Especially wrt placement. Having a LINK on all machines that are supposed to hold big ID is beneficial for performance.
There was a problem hiding this comment.
LINKs have parent ID. If we want to tune placement rules for some objects by this field, this must be documented here
f579ffb to
185df56
Compare
target field__NEOFS__ASSOCIATE object attribute
185df56 to
6d934fb
Compare
It obsoletes old LOCK- and TOMBSTONE-typed objects with strictly typed messages in their payloads. Closes #312, closes #311.