spurious files next to object hashdir trigger bad quarantine
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Object Storage (swift) |
New
|
Undecided
|
Unassigned |
Bug Description
When the object datadir tree has a bogus file where a hashdir should be it will causes the whole suffix to get quarnatined:
ubuntu@saio:~$ tree /srv/node4/
/srv/node4/
└── 645
└── 35a
├── 7089ab48d955ab0
└── a161102fba1710e
└── 1480572570.
3 directories, 2 files
ubuntu@saio:~$ swift-init object-replicator once -nv -c 4
WARNING: Unable to modify max process limit. Running as non-root?
Running object-replicator once...
object-6040: Running object replicator in script mode.
object-6040: STDERR: ERROR:root:
object-6040: 1/1 (100.00%) partitions replicated in 0.03s (29.83/sec, 0s remaining)
object-6040: 2 successes, 0 failures
object-6040: Object replication complete (once). (0.00 minutes)
object-6040: Exited
ubuntu@saio:~$ tree /srv/node4/
/srv/node4/
└── 645
└── hashes.pkl
1 directory, 1 file
ubuntu@saio:~$ ls /srv/node4/
7089ab48d955ab0
What seems to be going on in the diskfile here, is just that the quarantine interface is expecting a data file instead of a hashdir. i.e.
this one works:
this one is quite wrong: