-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clarify object address field in object context of session token #202
Comments
We need to clarify the description. When there is no address set, it's interpreted as applicable for all addresses. Do we need this field to be |
Addition: this field in fact is used by node. By I am not sure it is correct. See useObjectIDFromSession invocation references. |
We've inspired within nspcc-dev/neofs-node#1420 to make objects in session context
We can either:
Thoughts? @alexvanin @realloc |
…container Object sessions for `PUT` and `SEARCH` ops are spread to the whole container due to op semantics. Sometimes it is convenient to spread the session to all objects of the container for other operations. Thus, object sessions for the whole container can be unified. Modify docs of `ObjectSessionContext.address` field: * require `container_id` field to be correctly set; * require `object_id` field to be correctly field if set; * allow `object_id` field to be unset and make this case equivalent to the container-global session. Signed-off-by: Leonard Lyubich <[email protected]>
…container Object sessions for `PUT` and `SEARCH` ops are spread to the whole container due to op semantics. Sometimes it is convenient to spread the session to all objects of the container for other operations. Thus, object sessions for the whole container can be unified. Modify docs of `ObjectSessionContext.address` field: * require `container_id` field to be correctly set; * require `object_id` field to be correctly field if set; * allow `object_id` field to be unset and make this case equivalent to the container-global session. Signed-off-by: Leonard Lyubich <[email protected]>
Sometimes it is useful to open single session which covers several objects in the container. In previous implementation it could be done: * by opening container-global session * by opening N per-object sessions Both approaches are not optimal for the mentioned need. Define `ObjectSessionContext.Target` which is backward compatible with `refs.Address` in binary format. Replace `address` field of `refs.Address` type in `ObjectSessionContext` message with `target` field of `ObjectSessionContext.Target` type. This change saves backward compatibility in binary format, but break the JSON one. Such a breakage is considered admissible for now since NeoFS API protocol hasn't declared JSON compatibility yet. Signed-off-by: Leonard Lyubich <[email protected]>
Object sessions for `PUT` and `SEARCH` ops are spread to the whole container due to op semantics. Sometimes it is convenient to spread the session to all objects of the container for other operations. Thus, object sessions for the whole container can be unified. Modify docs of `ObjectSessionContext.address` field: * require `container_id` field to be correctly set; * require `object_id` field to be correctly field if set; * allow `object_id` field to be unset and make this case equivalent to the container-global session. Signed-off-by: Leonard Lyubich <[email protected]>
Sometimes it is useful to open single session which covers several objects in the container. In previous implementation it could be done: * by opening container-global session * by opening N per-object sessions Both approaches are not optimal for the mentioned need. Define `ObjectSessionContext.Target` which is backward compatible with `refs.Address` in binary format. Replace `address` field of `refs.Address` type in `ObjectSessionContext` message with `target` field of `ObjectSessionContext.Target` type. This change saves backward compatibility in binary format, but break the JSON one. Such a breakage is considered admissible for now since NeoFS API protocol hasn't declared JSON compatibility yet. Signed-off-by: Leonard Lyubich <[email protected]>
It seems that we currently ignore value of object address in session token (related nspcc-dev/neofs-node#1191).
neofs-api/session/types.proto
Line 44 in f6dad19
It is not quite clear what address it should contain in case of
DELETE
andSEARCH
operations. Also is it possible to have wildcard for different addresses? We need more details about that.The text was updated successfully, but these errors were encountered: