Issue #334 resolved

destruction of the element leads to the impossibility of viewing history

ishayahu_lastov
created an issue

I had an element with some history. If I destroy an previous revision, I can't see history for this item any more. This is traceback:

2013-03-12 12:54:27,786 MoinMoin ERROR Exception on /+history/Телефония в МЕОЦ [GET]
Traceback (most recent call last):
  File "/usr/home/ishayahu/moin-2.0/env/lib/python2.7/site-packages/flask/app.py", line 1687, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/home/ishayahu/moin-2.0/env/lib/python2.7/site-packages/flask/app.py", line 1360, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/home/ishayahu/moin-2.0/env/lib/python2.7/site-packages/flask/app.py", line 1358, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/home/ishayahu/moin-2.0/env/lib/python2.7/site-packages/flask/app.py", line 1344, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/usr/home/ishayahu/moin-2.0/MoinMoin/apps/frontend/views.py", line 857, in history
    history = [dict((k, v) for k, v in rev.meta.iteritems() if k != CONTENT) for rev in revs]
  File "/usr/home/ishayahu/moin-2.0/MoinMoin/apps/frontend/views.py", line 857, in <genexpr>
    history = [dict((k, v) for k, v in rev.meta.iteritems() if k != CONTENT) for rev in revs]
  File "/usr/home/ishayahu/moin-2.0/env/lib/python2.7/_abcoll.py", line 362, in iteritems
    for key in self:
  File "/usr/home/ishayahu/moin-2.0/MoinMoin/storage/middleware/indexing.py", line 1212, in __iter__
    self._meta, _ = self.revision._load()
  File "/usr/home/ishayahu/moin-2.0/MoinMoin/storage/middleware/indexing.py", line 1168, in _load
    meta, data = self.backend.retrieve(self.backend_name, self.revid)  # raises KeyError if rev does not exist
  File "/usr/home/ishayahu/moin-2.0/MoinMoin/storage/middleware/routing.py", line 91, in retrieve
    meta, data = backend.retrieve(revid)
  File "/usr/home/ishayahu/moin-2.0/MoinMoin/storage/backends/stores.py", line 93, in retrieve
    data = self._get_data(dataid)
  File "/usr/home/ishayahu/moin-2.0/MoinMoin/storage/backends/stores.py", line 83, in _get_data
    data = self.data_store[dataid]
  File "/usr/home/ishayahu/moin-2.0/MoinMoin/storage/stores/fs.py", line 63, in __getitem__
    raise KeyError(key)
KeyError: u'04b0ac8c9bd44e7985b9a59a9d3357b7'

Comments (6)

  1. Thomas Waldmann repo owner

    The bug needs to be reproduced with an ASCII item name (most people here don't speak russian(?) and it just creates long unreadable URLs). Edit the original bug report and replace traceback etc. with the ASCII item version.

    Then have a look at the index contents (before and after reproducing the issue). moin index-dump or so is the command for that. Likely, you'll see something there afterwards that should not really be there any more.

  2. Log in to comment