Big helper objects #9

Closed
opened 2023-01-09 18:44:32 +00:00 by carpawell · 4 comments
carpawell commented 2023-01-09 18:44:32 +00:00 (Migrated from github.com)
2023-01-09T17:53:09.260Z        debug   delete/delete.go:52     operation finished with error   {"component": "Object.Delete service", "request": "DELETE", "address": "GcmLhnye9oMfbQbd4cYVFDKmkvY3Kmr5rtP5a1jUrQKV/Avi7VKGpx5sH3af9oV21bDdHjA1xXWhaH5zXsAR7qvCF", "local": false, "with session": true, "with bearer": false, "error": "(*putsvc.Streamer) could not write payload chunk to target: could not release object: could not close target: could not close next target: (*putsvc.distributedTarget) could not validate payload content: (*object.FormatValidator) could not unmarshal tombstone content: proto: cannot parse invalid wire-format data"}
  1. Set really low small object limit;
  2. Put 96KB (rand num that >> small obj limit) obj;
  3. Try to remove it.

I think that is because TS becomes big and now validation is broken after helper objects broadcast optimization. But that must be rechecked.

``` 2023-01-09T17:53:09.260Z debug delete/delete.go:52 operation finished with error {"component": "Object.Delete service", "request": "DELETE", "address": "GcmLhnye9oMfbQbd4cYVFDKmkvY3Kmr5rtP5a1jUrQKV/Avi7VKGpx5sH3af9oV21bDdHjA1xXWhaH5zXsAR7qvCF", "local": false, "with session": true, "with bearer": false, "error": "(*putsvc.Streamer) could not write payload chunk to target: could not release object: could not close target: could not close next target: (*putsvc.distributedTarget) could not validate payload content: (*object.FormatValidator) could not unmarshal tombstone content: proto: cannot parse invalid wire-format data"} ``` 0. Set __really__ low small object limit; 1. Put 96KB (rand num that `>>` small obj limit) obj; 2. Try to remove it. I think that is because TS becomes _big_ and now validation is broken after helper objects [broadcast optimization](https://github.com/nspcc-dev/neofs-node/pull/2050/commits/be23744402009984bdb14e8eff3dc0f2a214a779). But that must be rechecked.
fyrchik commented 2023-02-10 15:50:37 +00:00 (Migrated from github.com)

I think it is expected -- basically we have some limit on an object size.
Last time I checked it was quite big: object ID is 32-byte in size, so if MaxObjectSize is 1MiB, we still can store ~ max object size * max object count in tombstone == 1 MiB * (1 MiB / 32) == 2^40 / 2^5 = 2^35 = 32 GiB.

I think we should at least extend the documentation here.

I think it is expected -- basically we have some limit on an object size. Last time I checked it was quite big: object ID is 32-byte in size, so if `MaxObjectSize` is 1MiB, we still can store ~ `max object size * max object count in tombstone == 1 MiB * (1 MiB / 32) == 2^40 / 2^5 = 2^35 = 32 GiB`. I think we should at least extend the documentation here.
fyrchik added this to the v0.38.0 milestone 2023-05-18 08:54:12 +00:00
Owner

Let's document the restriction and describe the behaviour.

Let's document the restriction and describe the behaviour.
fyrchik modified the milestone from v0.38.0 to v0.39.0 2023-10-02 13:17:40 +00:00
fyrchik modified the milestone from v0.39.0 to v0.40.0 2024-05-14 14:18:10 +00:00
fyrchik added
documentation
and removed
triage
labels 2024-05-14 14:18:17 +00:00
Owner

The documentation should be in the api repo.

The documentation should be in the api repo.
fyrchik pinned this 2024-05-14 14:40:31 +00:00
fyrchik unpinned this 2024-05-14 14:40:33 +00:00
Owner

Closed in favor of TrueCloudLab/frostfs-api#50

Closed in favor of https://git.frostfs.info/TrueCloudLab/frostfs-api/issues/50
fyrchik modified the milestone from v0.40.0 to vNext 2024-05-14 14:41:39 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
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: TrueCloudLab/frostfs-node#9
No description provided.