[Openstack] Replication error

Drudy, Gerry Gerry.Drudy at hp.com
Fri Sep 27 14:32:35 UTC 2013

I have encountered this traceback but I was doing something unusual: I was blowing away an existing swift system and rebuilding it with a smaller ring power.  Unfortunately I had not cleaned up all of the old data on one of the devices.  On the reconfigured system the object replicator encountered partitions on that uncleaned device, in the /srv/node/<device>/objects directory, from the old configuration and so some of the partitions encountered in that directory were greater than expected with the newer/smaller ring. As a result the object-replicator could not translate the larger partition to a device id and blew up (producing the backtrace).


From: McCabe, Donagh
Sent: 27 September 2013 15:09
To: Mike Preston; openstack at lists.openstack.org
Subject: Re: [Openstack] Replication error


Did you at some stage remove a node from your system and decommission it?  We've seen similar (but not identical) backtraces in the replicator when someone powers up an old node.

It's a good idea to wipe the rings off nodes that you are removing from the system (after rebalance has finished of course).


From: Mike Preston [mailto:mike.preston at synety.com]
Sent: 23 September 2013 10:35
To: openstack at lists.openstack.org
Subject: [Openstack] Replication error


We are seeing a replication error on swift. The error only is seen on a single node, the other nodes appear to be working fine.
Installed version is debian wheezy with swift 1.4.8-2+deb7u1
Sep 23 10:33:03 storage-node-01 object-replicator Starting object replication pass.
Sep 23 10:33:03 storage-node-01 object-replicator Exception in top-level replication loop: #012Traceback (most recent call last):#012  File "/usr/lib/python2.7/dist-packages/swift/obj/replicator.py", line 564, in replicate#012    jobs = self.collect_jobs()#012  File "/usr/lib/python2.7/dist-packages/swift/obj/replicator.py", line 536, in collect_jobs#012    self.object_ring.get_part_nodes(int(partition))#012  File "/usr/lib/python2.7/dist-packages/swift/common/ring/ring.py", line 103, in get_part_nodes#012    return [self.devs[r[part]] for r in self._replica2part2dev_id]#012IndexError: array index out of range
Sep 23 10:33:03 storage-node-01 object-replicator Nothing replicated for 0.728466033936 seconds.
Sep 23 10:33:03 storage-node-01 object-replicator Object replication complete. (0.01 minutes)
Can anyone shed any light on this or next steps in debugging it or fixing it?

Mike Preston
Infrastructure Team  |  SYNETY

direct: 0116 424 4016
mobile: 07950 892038
main: 0116 424 4000

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20130927/cdf7cde0/attachment.html>

More information about the Openstack mailing list