-
Notifications
You must be signed in to change notification settings - Fork 18
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
GC object parts test #794
Comments
It's easy to get unfinished chain with S3, btw. Multipart does exactly that. |
@roman-khimov @carpawell i need a way to get parts' IDs of an unfinished object. I see them in s3 gw logs, e.g.:
Are there any commands that can give me those IDs? Regular objects listings don't show them and I don't really want to grep logs. |
heading an object with multipart upload id doesn't return any info about parts:
getting this object and trying to inspect as a link file, also returns nothing useful:
|
@evgeniiz321, |
@carpawell It returns all objects except the one used in the filter itself:
I expect to see only one id, because I uploaded only one part. And in the above output there is the one id that related to my multipart upload (I took the value to compare from s3 gw logs), but others I guess are system objects, that need to be filtered away. Maybe the filter string can be somehow enhanced? Without any filters:
|
It depends on how size of the part relates to MaxObjectSize network setting. We have very low MaxObjectSize for tests, so likely your single part overflows that and this behavior is OK. Either you upload a smaller part (but there are S3 limits on that IIRC) or you can take them all, they're all part of the same chain. |
You can HEAD objects and see if they have first object ID in their headers or not. If yes, node does correct things here (SEARCH works OK). If no, node is the problem. All the other cases do not relate SNs (S3 may slice strange; your container may contain only parts for now; test may have too small MaxObjectSize, etc) |
Is your feature request related to a problem? Please describe.
I'm always frustrated when we do not test unfinished object removal. If an object is not finished (no LINK object can be found), its parts can be removed to be GCed (while a finished object's parts are protected).
Describe the solution you'd like
Get some unfinished object (but how? PUT a big one and stop operation? request more featured
neofs-cli
util?) and know somehow its parts' IDs. Delete parts and get no errors.Additional context
Split scheme has been changed: nspcc-dev/neofs-node#2716, nspcc-dev/neofs-api#283, nspcc-dev/neofs-spec#97.
The text was updated successfully, but these errors were encountered: