Swift doesn't process corrupted hashes properly
Issue
-
The following errors occur periodically on object storage node after some
hashes.pkl
file gets corrupted:May 9 08:45:12 overcloud-controller-1 object-server: ERROR __call__ error with REPLICATE /d1/636 : Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/swift/obj/server.py", line 1150, in __call__ res = getattr(self, req.method)(req) File "/usr/lib/python2.7/site-packages/swift/common/utils.py", line 1672, in _timing_stats resp = func(ctrl, *args, **kwargs) File "/usr/lib/python2.7/site-packages/swift/obj/server.py", line 1123, in REPLICATE device, partition, suffixes, policy) File "/usr/lib/python2.7/site-packages/swift/obj/diskfile.py", line 1408, in get_hashes self._get_hashes, device, partition, policy, recalculate=suffixes) File "/usr/lib/python2.7/site-packages/swift/common/utils.py", line 3657, in tpool_reraise raise resp TypeError: must be encoded string without NULL bytes, not str May 9 08:45:13 overcloud-controller-1 object-server: Error syncing partition: Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/swift/obj/replicator.py", line 407, in update self.replication_cycle)) File "/usr/lib/python2.7/site-packages/swift/common/utils.py", line 36 57, in tpool_reraise raise resp TypeError: must be encoded string without NULL bytes, not unicode
Environment
- Red Hat OpenStack Platform 10
- Red Hat OpenStack Platform 13
- Red Hat OpenStack Platform 14
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.