mirror of
https://github.com/nspcc-dev/neofs-s3-gw.git
synced 2026-03-01 04:29:15 +00:00
Cannot delete bucket after restoring versioned object #286
Labels
No labels
I2
I2
I3
I4
S2
S3
S4
S4
U0
U1
U2
U2
U3
U4
U4
auth-mate
blocked
bug
config
dependencies
discussion
documentation
enhancement
epic
feature
go
good first issue
help wanted
performance
question
security
test
tree-service
tree-service
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nspcc-dev/neofs-s3-gw#286
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @vdomnich-yadro on GitHub (Jul 20, 2022).
Originally assigned to: @KirillovDenis on GitHub.
Steps to Reproduce (for bugs)
The issue can be reproduced both with AWS CLI and with boto3 client. Steps are:
VersionIdVersionIdfrom previous step)Please, find attached logs for automated test run:
aws-cli-log.txt
boto3-log.txt
Expected Behavior
The bucket is deleted.
Current Behavior
The delete command fails with error:
Possible Solution
Maybe the bucket deletion code doesn't handle deletion marker properly when it checks that the bucket is empty.
Your Environment
@KirillovDenis commented on GitHub (Jul 20, 2022):
What version of
neofs-s3-gwdo you use? The same asneofs-authmate-v0.21.1?@vdomnich-yadro commented on GitHub (Jul 20, 2022):
@KirillovDenis updated the description and included this info
@vdomnich-yadro commented on GitHub (Jul 20, 2022):
@anatoly-bogatyrev this is the issue that we discussed yesterday, it was not a sporadic problem and reproduces quite stably.
I can't assign labels to issues, but this should go under label
P0, thanks!@alexvanin commented on GitHub (Jul 20, 2022):
Reproduced in tree-service (v0.21.1-119-ga8d6916)
@KirillovDenis commented on GitHub (Jul 20, 2022):
@vdomnich-yadro Could you provide content of
file:///tests/TemporaryDir//delete.json?@vdomnich-yadro commented on GitHub (Jul 20, 2022):
@KirillovDenis Sure, here you go:
We are passing just object key, without version.
@KirillovDenis commented on GitHub (Jul 21, 2022):
In this case there are two object versions and one delete marker in the bucket. It seems bucket shouldn't be deleted then because of AWS spec:
All objects (including all object versions and delete markers) in the bucket must be deleted before the bucket itself can be deleted@vdomnich-yadro commented on GitHub (Jul 21, 2022):
@KirillovDenis makes sense, let me see if specifying all versions and delete markers will do the trick.
@alexvanin commented on GitHub (Jul 21, 2022):
Anyway, we've seen odd behavior when object in dir like
some-dir/versioned-objectallows to delete bucket without removal of all its versions. Guess this should be fixed.@KirillovDenis commented on GitHub (Jul 21, 2022):
Done in #603