IPv6 compressed notation and replication

Bug #781837 reported by Marcelo Martins on 2011-05-12
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Object Storage (swift)
Medium
Mike Barton

Bug Description

If the ring is created with IPv6 in compressed notation where the address has a single contiguous group of zero fields represented as a double colon "::''. It appears that the replicator has issues because rsyncd sees two sets of "::" when trying to replicate to another device. In rsyncd the word after the "::" is the rsyncd module entry. Therefore it gets confused, I believe.

The problem goes away once the ring is recreated without a single contiguous group of zero fields being represented in double colon "::''.

Example:
==========
BAD RING
==========
root@swift-ip6:/etc/swift# swift-ring-builder object.builder
object.builder, build version 4
262144 partitions, 3 replicas, 4 zones, 4 devices, 0.00 balance
The minimum number of hours before a partition can be reassigned is 1
Devices: id zone ip address port name weight partitions balance meta
             0 1 fdef:8130:6627::100 6010 sdb1 1.00 196608 0.00
             1 2 fdef:8130:6627::100 6020 sdb2 1.00 196608 0.00
             2 3 fdef:8130:6627::100 6030 sdb3 1.00 196608 0.00
             3 4 fdef:8130:6627::100 6040 sdb4 1.00 196608 0.00

=========
GOOD RING
=========
root@swift-ip6:/etc/swift# swift-ring-builder container.builder
container.builder, build version 4
262144 partitions, 3 replicas, 4 zones, 4 devices, 0.00 balance
The minimum number of hours before a partition can be reassigned is 1
Devices: id zone ip address port name weight partitions balance meta
             0 1 fdef:8130:6627:0:0:0:0:100 6011 sdb1 1.00 196608 0.00
             1 2 fdef:8130:6627:0:0:0:0:100 6021 sdb2 1.00 196608 0.00
             2 3 fdef:8130:6627:0:0:0:0:100 6031 sdb3 1.00 196608 0.00
             3 4 fdef:8130:6627:0:0:0:0:100 6041 sdb4 1.00 196608 0.00

---
ode/sdb4/containers/214383/6dc/d15bcd741e48f1f9e88f1b7db362f6dc/d15bcd741e48f1f9e88f1b7db362f6dc.db', 'fdef:8130:6627::100::container/sdb1/tmp/1e2a9d41-1aa4-45ac-a1c9-09c754122983']
---
May 12 18:00:58 swift-ip6 object-replicator The --contimeout option may only be used when connecting to an rsync daemon.
May 12 18:00:58 swift-ip6 object-replicator rsync error: syntax or usage error (code 1) at main.c(1265) [sender=3.0.7]
May 12 18:00:58 swift-ip6 object-replicator Bad rsync return code: ['rsync', '--recursive', '--whole-file', '--human-readable', '--xattrs', '--itemize-changes', '--ignore-existing', '--timeout=30', '--contimeout=30', '/srv/node/sdb1/objects/138463/794', 'fdef:8130:6627::100::object/sdb4/objects/138463'] -> 1

Related branches

gholt (gholt) on 2011-05-12
Changed in swift:
status: New → In Progress
importance: Undecided → Medium
assignee: nobody → Mike Barton (redbo)
Changed in swift:
status: In Progress → Fix Committed
Thierry Carrez (ttx) on 2011-05-31
Changed in swift:
milestone: none → 1.4.0
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers