Swift doesn't process corrupted hashes properly

Solution Verified - Updated -

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.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content