xapian db corruption - xapian.DatabaseCorruptError: Couldn't read enough (EOF) ??
Today, my hourly cron job has generated an error and continues to do so every hour:
Subject: Cron <mailman@gw> /opt/mailman/mm/bin/django-admin runjobs hourly
Not sure what caused this. Perhaps a reboot when the cronjob hadn't completed? And a possible manual remedy would be to wipe the indexed db and let the cron run again?
[ERROR/MainProcess] Failed indexing 1 - 1000 (retry 5/5): Couldn't read enough (EOF) (pid 85950): Couldn't read enough (EOF) Traceback (most recent call last): File "/opt/mailman/mm/venv/lib/python3.11/site-packages/haystack/management/commands/update_index.py", line 119, in do_update backend.update(index, current_qs, commit=commit) File "/opt/mailman/mm/venv/lib/python3.11/site-packages/xapian_backend.py", line 276, in update database = self._database(writable=True) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/mailman/mm/venv/lib/python3.11/site-packages/xapian_backend.py", line 1160, in _database database = xapian.WritableDatabase(self.path, xapian.DB_CREATE_OR_OPEN) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/mailman/mm/venv/lib/python3.11/site-packages/xapian/__init__.py", line 3743, in __init__ _xapian.WritableDatabase_swiginit(self, _xapian.new_WritableDatabase(*args))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ xapian.DatabaseCorruptError: Couldn't read enough (EOF) Failed to update the fulltext index: Couldn't read enough (EOF) Traceback (most recent call last): File "/opt/mailman/mm/venv/lib/python3.11/site-packages/hyperkitty/lib/utils.py", line 179, in run_with_lock fn(*args, **kwargs) File "/opt/mailman/mm/venv/lib/python3.11/site-packages/hyperkitty/search_indexes.py", line 117, in update_index update_cmd.update_backend("hyperkitty", "default") File "/opt/mailman/mm/venv/lib/python3.11/site-packages/haystack/management/commands/update_index.py", line 342, in update_backend max_pk = do_update( ^^^^^^^^^^ File "/opt/mailman/mm/venv/lib/python3.11/site-packages/haystack/management/commands/update_index.py", line 119, in do_update backend.update(index, current_qs, commit=commit) File "/opt/mailman/mm/venv/lib/python3.11/site-packages/xapian_backend.py", line 276, in update database = self._database(writable=True) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/mailman/mm/venv/lib/python3.11/site-packages/xapian_backend.py", line 1160, in _database database = xapian.WritableDatabase(self.path, xapian.DB_CREATE_OR_OPEN) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/mailman/mm/venv/lib/python3.11/site-packages/xapian/__init__.py", line 3743, in __init__ _xapian.WritableDatabase_swiginit(self, _xapian.new_WritableDatabase(*args))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ xapian.DatabaseCorruptError: Couldn't read enough (EOF)
-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 In an Internet failure case, the #1 suspect is a constant: DNS. "Oh, the cruft.", egrep -v '^$|^.*#' ¯\_(ツ)_/¯ :-) [How to ask smart questions: http://www.catb.org/~esr/faqs/smart-questions.html]
On 7/29/24 03:27, Odhiambo Washington via Mailman-users wrote:
Today, my hourly cron job has generated an error and continues to do so every hour:
Subject: Cron <mailman@gw> /opt/mailman/mm/bin/django-admin runjobs hourly
Not sure what caused this. Perhaps a reboot when the cronjob hadn't completed? And a possible manual remedy would be to wipe the indexed db and let the cron run again?
Or maybe just run /opt/mailman/mm/bin/django-admin rebuild_index
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On Mon, Jul 29, 2024 at 9:35 PM Mark Sapiro <mark@msapiro.net> wrote:
On 7/29/24 03:27, Odhiambo Washington via Mailman-users wrote:
Today, my hourly cron job has generated an error and continues to do so every hour:
Subject: Cron <mailman@gw> /opt/mailman/mm/bin/django-admin runjobs hourly
Not sure what caused this. Perhaps a reboot when the cronjob hadn't completed? And a possible manual remedy would be to wipe the indexed db and let the cron run again?
Or maybe just run `/opt/mailman/mm/bin/django-admin rebuild_index
Nice to know.
I just deleted the contents of the xapian_index folder and then ran the cronjob. Solved.
-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 In an Internet failure case, the #1 suspect is a constant: DNS. "Oh, the cruft.", egrep -v '^$|^.*#' ¯\_(ツ)_/¯ :-) [How to ask smart questions: http://www.catb.org/~esr/faqs/smart-questions.html]
participants (2)
-
Mark Sapiro
-
Odhiambo Washington