IPv6 compressed notation and replication

Bug #781837 reported by Marcelo Martins
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Object Storage (swift)
Fix Released
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)
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)
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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.