[Openstack] Replication error
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?
Infrastructure Team | SYNETY
direct: 0116 424 4016
mobile: 07950 892038
main: 0116 424 4000
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Openstack