2017-11-27 09:39:34 |
Christopher Bartz |
description |
When using a storage-policy with an underneath ring using a replica count > 3 and a container ring with replica == 3, the object server logs following warning
Nov 20 12:20:04 server5 object-server: X-Delete-At-Container header must be specified for expiring objects background PUT to work properly. Making best guess as to the container name for now. (txn: txc70lshsaklhdalkhlkhlkhl)
for (total_count - replica_count) object servers. The reason lies in lines https://github.com/openstack/swift/blob/master/swift/proxy/controllers/obj.py#L441-L443 and https://github.com/openstack/swift/blob/master/swift/proxy/controllers/obj.py#L302-L312 : If the container ring has n replicas, only n headers with x-delete-at-container are generated. If the object-server uses more than n replicas (k), k -n headers are missing and therefore k - n object servers are complaining. |
When using a storage-policy with an underneath ring using a replica count > 3 and a container ring with replica == 3, the object server logs following warning
Nov 20 12:20:04 server5 object-server: X-Delete-At-Container header must be specified for expiring objects background PUT to work properly. Making best guess as to the container name for now. (txn: txc70lshsaklhdalkhlkhlkhl)
for (total_count - replica_count) object servers. The reason lies in lines https://github.com/openstack/swift/blob/master/swift/proxy/controllers/obj.py#L441-L443 and https://github.com/openstack/swift/blob/master/swift/proxy/controllers/obj.py#L302-L312 : If the container ring has n replicas, only n headers with x-delete-at-container are generated. If the object-server uses more than n replicas (k), k -n headers are missing and therefore k - n object servers are complaining.
The bug is critical because https://github.com/openstack/swift/blob/master/swift/obj/server.py#L398-L399 mentions that the warning will get replaced by an exception in the future. |
|