Replies: 5 comments
-
This sounds like a buggy S3 implementation. There is no concept of folders in S3, only objects. Are you sure that NetApp Storage Grid actually follows the S3 API spec? |
Beta Was this translation helpful? Give feedback.
-
There is no issue with NetApp Storage Grid object storage and Thanos Compactor. The problem is related to other s3 like object storage implementations, where recursive removal of "subfolders" is not removing this "subfolders". Please see also I know about objects, probably. But this does not change the reason the request is created. Thanos Compactor leaving alot of leftovers after removing objects from object storage while compacting. The leftovers looks like s3://metrics/01K20T2CG8W6PJVR371E9Q6H2N/chunks The caller=clean.go keep trying to remove it periodically (every 5 min) because of "found partially uploaded block; marking for deletion", with no success, even no error is generated. For the reason described in the request.
I had like 3k such messages in the Thanos Compactor log with his particular "block=01K20T2CG8W6PJVR371E9Q6H2N" until I removed block manually. |
Beta Was this translation helpful? Give feedback.
-
Here is a cycle for one block from the log
as you see, the files was deleted from the block and the block was "deleted", probably recursively
but still remain, empty.
We do use seeweedfs obj store |
Beta Was this translation helpful? Give feedback.
-
What are the attributes of the object |
Beta Was this translation helpful? Give feedback.
-
Dunno as it is already removed by script, but here is a meta of similar empty "folder"
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Not all s3 like object storage types support recursive deletion of "folders"
In NetApp Storage Grid object storage "subfolders" can be recursively deleted, like
However, in f.x. SeaweedFS object storage "subfolders" can not be recursively deleted, like
Even files are being removed, empty "folders" remain. This makes Thanos Compactor clean.go component confused
that in fact does not delete any "subfolders" and "folders", and continues every 5 min or when next clean.go run.
To delete "folder" you have to explicitly write it down, like
s3cmd del s3://metrics/01K1ZGKEEZCSSMPASWSVZRK0YTTEST/chunks
s3cmd del s3://metrics/01K1ZGKEEZCSSMPASWSVZRK0YTTEST
It would be a solution to have Thanos Compactor a mode to delete files and then each "folder" like
Such option can be configurable as it is probably resources consuming.
Beta Was this translation helpful? Give feedback.
All reactions