Description
Sometimes when I created a new "Wiki Page" with five or seven new Category Tags (like 'CategoryMoinMoin) I start very quickly (using open new browser tabs) to create those new/missing "Category Pages". For this I use a "Category Template" like this:
= MoinMoinBugs/Xapian DatabaseModifiedError = '''List of pages in this category:''' <<FullSearchCached(category:MoinMoinBugs/Xapian DatabaseModifiedError)>> ---- CategoryCategory
and sure save the page. After this the new "Wiki Page" gets loaded and normally a message says "that everything is ok, thank you!" If the pages get displayed also the macro FullSearchCached gets executed. Now from time to time instead the macro is executed there will be an error displayed (see also below for the traceback):
DatabaseModifiedError The revision being read has been discarded - you should call Xapian::Database::reopen() and retry the operation
after reloading / revisiting the page with the browser everything is ok... (also search index is ok and the "problem" pages can be found with the search)
Questions:
- Why this happen, and what this message mean?
Is there anything we can do to avoid this "DatabaseModifiedError"?
Another problem is, I could not reproduce this behavior. maybe it's performance related or I just would need more patient to testing this more deeply. Anyway it doesn't happen everyday... more every few months.... (till now I guess around 1 or 3 times). So it's not a critical bug, also because a simple reload remove the problem.
- the only way to reproduce is to generate it is a) to disable to surgeprotection and then b) start to create a lot of NEW pages (I did aroung 50-100) in a few minutes.
Steps to reproduce
- could reproduce this bug; only know that creating fast a lot of pages with Search Macro could maybe reproduce this bug...
Example
Component selection
- xapian search (backend)
Details
DatabaseModifiedError The revision being read has been discarded - you should call Xapian::Database::reopen() and retry the operation * args = () * get_context = <bound method DatabaseModifiedError.Error_get_co...Xapian::DatabaseModifiedError *' at 0x9950870> >> * get_errno = <bound method DatabaseModifiedError.Error_get_er...Xapian::DatabaseModifiedError *' at 0x9950870> >> * get_error_string = <bound method DatabaseModifiedError.Error_get_er...Xapian::DatabaseModifiedError *' at 0x9950870> >> * get_msg = <bound method DatabaseModifiedError.Error_get_ms...Xapian::DatabaseModifiedError *' at 0x9950870> >> * get_type = <bound method DatabaseModifiedError.Error_get_ty...Xapian::DatabaseModifiedError *' at 0x9950870> >> * message = '' * this = <Swig Object of type 'Xapian::DatabaseModifiedError *' at 0x9950870>
traceback.html now I got the traceback
MoinMoin Version |
1.8.2 |
OS and Version |
Linux RedHat |
Python Version |
2.5 (r25:51908, Jun 8 2007, 06:03:36) |
Server Setup |
Apache with mod_wsgi |
Server Details |
Xapian Version 1.0.4 |
Language you are using the wiki in (set in the browser/UserPreferences) |
|
Workaround
- just simple reload/revisit the page (with the browser) and everything works ok
don't create that fast new pages
Discussion
- Maybe I should first update to the latest xapian and python version, but I do not really understand this bug so maybe a short explanation could help.
Plan
- Priority:
- Assigned to:
- Status: try it with current moin/1.9 code (e.g. in moinmo.in), I guess it is fixed now - reopen the bug if not.