swift-dispersion-report : missing one copy

Asked by RazorX

Hola,

While evaluating swift I ran into an issue with replication and the dispersion report. Here is my setup:

All three severs running oneiric

root@swift-proxy1:/etc/swift# swift-ring-builder object.builder search 192.168.11.33
Devices: id zone ip address port name weight partitions balance meta
             4 2 192.168.11.33 6000 data1 1.00 65536 0.00
             5 2 192.168.11.33 6000 data2 1.00 65536 0.00
             6 2 192.168.11.33 6000 data3 1.00 65536 0.00
             7 2 192.168.11.33 6000 data4 1.00 65536 0.00

root@swift-proxy1:/etc/swift# swift-ring-builder object.builder search 192.168.11.64
Devices: id zone ip address port name weight partitions balance meta
             0 1 192.168.11.64 6000 data1 1.00 65536 0.00
             1 1 192.168.11.64 6000 data2 1.00 65536 0.00
             2 1 192.168.11.64 6000 data3 1.00 65536 0.00
             3 1 192.168.11.64 6000 data4 1.00 65536 0.00

The proxy is running on 192.168.11.37. I went into data1 on 192.168.11.33 and rm -R *'d hoping to see the replication just fix everything. Well, I see tons of stuff getting populated back almost instantly, but I still get this from the dispersion report:

Queried 2622 containers for dispersion reporting, 29s, 3 retries
There were 2622 partitions missing one copy.
100.00% of container copies found (5244 of 5244)
Sample represents 1.00% of the container partition space
Queried 2621 objects for dispersion reporting, 41s, 25 retries
There were 2621 partitions missing one copy.
100.00% of object copies found (5242 of 5242)
Sample represents 1.00% of the object partition space

I reports that all the copies are found, but also that copies are missing. I'm a bit confused about what's going on here? Also, I only have two zones and have replicas set to 2, so there should be only 2 copies. Yet before the dispersion report settles at the above, it reports a lot of partitions missing 2 copies... Any insight?

Question information

Language:
English Edit question
Status:
Answered
For:
OpenStack Object Storage (swift) Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
gholt (gholt) said :
#1

Ah, in looking at the code, it assumes 3 replicas in the "missing" output lines. :/

I'll change this into a bug so someone (maybe even me ;) can get it fixed.

The "% of copies found" part looks fine in the code.

Can you help with this problem?

Provide an answer of your own, or ask RazorX for more information if necessary.

To post a message you must log in.