conflicting commands between horizon and cli can cause object to be uploaded with no container

Bug #1233111 reported by Dafna Ron
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Object Storage (swift)
Invalid
Undecided
Unassigned

Bug Description

I uploaded a file to a container in cli while at the same time deleting the container in horizon
I can see the container exists in horizon but fail to retrieve object list.
when I run swift list in horizon I can see a container but cannot delete it:

[root@nott-vdsa tmp(keystone_admin)]# swift list
bla
[root@nott-vdsa tmp(keystone_admin)]# swift delete bla
Container 'bla' not found
[root@nott-vdsa tmp(keystone_admin)]#

way to reproduce:

create a container with no objects.
log in to horizon and press the delete container
press the OK for delete while at the same time run upload to a file in cli:

[root@nott-vdsa tmp(keystone_admin)]# swift upload bla packstack-answers-20130924-140637.txt
packstack-answers-20130924-140637.txt

[root@nott-vdsa tmp(keystone_admin)]# swift list
bla
[root@nott-vdsa tmp(keystone_admin)]# swift delete bla
Container 'bla' not found

result:
we can see a container but cannot remove it in cli and we cannot retrieve objects from horizon.

Revision history for this message
clayg (clay-gerrard) wrote :

Can you confirm the object-updater and container-replicator have run - I would expect the object create would have recreated the container?

The container-updater will correct the account listing.

Revision history for this message
Dafna Ron (dron-3) wrote :

both actions ran.
this is a race between the two commands,

Revision history for this message
Kun Huang (academicgareth) wrote :

Hi Dafna Ron

I tried as you did but everything runs well. At the time delete container from horizon, I upload a file to that container. Then uploading success, and after re-fresh horizon page, that container is still here. And I use cli "swift delete my_container", that container is gone both from cli output and horizon page.

Revision history for this message
Dafna Ron (dron-3) wrote :

it's a race between commands :) if everything is ok it means both commands ran in a correct order and that there was no conflict

Revision history for this message
Kun Huang (academicgareth) wrote :

How long have you been waiting between pushing confirm to delete container in horizon and using cli upload a file. I do these actions with nearly no time.

Revision history for this message
Dafna Ron (dron-3) wrote :

I did not wait.
confirm delete -> switch screens -> run upload.

Revision history for this message
Kun Huang (academicgareth) wrote :

=。=

Still not reproduced

Revision history for this message
Thiago da Silva (thiagodasilva) wrote :

I'm marking this bug as Invalid. It has been 3 years since it was reported and we have not heard of similar issues with horizon and Kun was not able to reproduce it at the time.

From the description this looks more like a eventual consistency issue that is expected. "race between (client) commands" in swift doesn't make much sense, as Clay suggested, object-updater and replicator would eventually catch up and correct any inconsistencies.

Changed in swift:
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.