Tagging notifications in tree service #260

Closed
opened 2025-12-28 17:36:46 +00:00 by sami · 6 comments
Owner

Originally created by @alexvanin on GitHub (Jun 22, 2022).

Originally assigned to: @KirillovDenis on GitHub.

In tree service branch, we can't use objInfo structure in notifications like we do on master branch after nspcc-dev/neofs-s3-gw@bd5fd041b7. The reason is that object tagging does not involve operations in object service anymore.

I have a couple proposals.

  1. Do not use data.ObjectInfo in SendNotificationsParams. Notification uses only a small subset of fields from ObjectInfo: name, size, version, etag (hash). Those can be defined in a separate structure which can be built based on ObjectInfo or from scratch.

  2. Specify version in tagging notifications. Version is available in request. Without (1) we have to parse version into object.ID and then set it in ObjectInfo. After (1) we can set version string directly.

  3. Check what field actually need to be specified. In some notifications like delete notifications we avoid size and etag. I guess it is okay, but can we avoid this info in tagging notifications?

Originally created by @alexvanin on GitHub (Jun 22, 2022). Originally assigned to: @KirillovDenis on GitHub. In tree service branch, we can't use `objInfo` structure in notifications like we do on master branch after https://github.com/nspcc-dev/neofs-s3-gw/commit/bd5fd041b7597747649cd5a9ae39b18318a149ef. The reason is that object tagging does not involve operations in object service anymore. I have a couple proposals. 1. Do not use `data.ObjectInfo` in `SendNotificationsParams`. Notification uses only a [small subset of fields](https://github.com/nspcc-dev/neofs-s3-gw/blob/8a1fc8ae3f99cff5dc060d969a384e94e109ec1f/api/notifications/controller.go#L243-L246) from `ObjectInfo`: name, size, version, etag (hash). Those can be defined in a separate structure which can be built based on `ObjectInfo` or from scratch. 2. Specify version in tagging notifications. Version is available in request. Without (1) we have to parse version into object.ID and then set it in `ObjectInfo`. After (1) we can set version string directly. 3. Check what field actually need to be specified. In some notifications like delete notifications we avoid size and etag. I guess it is okay, but can we avoid this info in tagging notifications?
sami 2025-12-28 17:36:46 +00:00
Author
Owner

@alexvanin commented on GitHub (Jun 22, 2022):

/cc @masterSplinter01 @KirillovDenis

@alexvanin commented on GitHub (Jun 22, 2022): /cc @masterSplinter01 @KirillovDenis
Author
Owner

@KirillovDenis commented on GitHub (Jun 22, 2022):

It seems it's one more case where we want to store size and etag in tree service.

@KirillovDenis commented on GitHub (Jun 22, 2022): It seems it's one more case where we want to store `size` and `etag` in tree service.
Author
Owner

@alexvanin commented on GitHub (Jun 23, 2022):

May be useful for multipart upload (check) and for expiration in https://github.com/nspcc-dev/neofs-s3-gw/issues/192#issuecomment-1161447217.

@alexvanin commented on GitHub (Jun 23, 2022): May be useful for multipart upload (check) and for expiration in https://github.com/nspcc-dev/neofs-s3-gw/issues/192#issuecomment-1161447217.
Author
Owner

@alexvanin commented on GitHub (Jul 7, 2022):

Blocked the same as https://github.com/nspcc-dev/neofs-s3-gw/issues/533#issuecomment-1157524328

@alexvanin commented on GitHub (Jul 7, 2022): Blocked the same as https://github.com/nspcc-dev/neofs-s3-gw/issues/533#issuecomment-1157524328
Author
Owner

@alexvanin commented on GitHub (Jul 18, 2022):

Unblocked due to https://github.com/nspcc-dev/neofs-s3-gw/pull/536#issuecomment-1186941185

@alexvanin commented on GitHub (Jul 18, 2022): Unblocked due to https://github.com/nspcc-dev/neofs-s3-gw/pull/536#issuecomment-1186941185
Author
Owner

@KirillovDenis commented on GitHub (Jul 20, 2022):

Done in #598

@KirillovDenis commented on GitHub (Jul 20, 2022): Done in #598
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nspcc-dev/neofs-s3-gw#260
No description provided.