Skip to content

Can't dequeue corrupted pickle item #142

@PhracturedBlue

Description

@PhracturedBlue

Persist-Queue 0.5.0
I don't know how I got into this state, but I have a corrupted queue that I cannot remove items from.

>>> import persistqueue
>>> q = persistqueue.Queue("/tmp/elastic.e6c64f88.queue")
>>> q.qsize()
234
>>> q.get()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/var/lib/maap/.venv/lib/python3.7/site-packages/persistqueue/queue.py", line 216, in get
    item = self._get()
  File "/var/lib/maap/.venv/lib/python3.7/site-packages/persistqueue/queue.py", line 230, in _get
    data = self.serializer.load(self.tailf)
  File "/var/lib/maap/.venv/lib/python3.7/site-packages/persistqueue/serializers/pickle.py", line 28, in load
    return pickle.load(fp)
_pickle.UnpicklingError: could not find MARK

I can clearly wipe the queue, but I don't think this should be able to happen in the 1st place

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions