Hello everyone, I recently migrated from my old 0.9xxx version to the brand new 1.0rc0 on a test server. As my collections seemed broken, i began reindexing (following point 4.3 from /help/admin/bibindex-admin-guide).
The bibindex --reindex task ended with an error status. This is what the bibsched_task_xxx.log returns (the .err file is empty) 2011-03-03 09:59:48 --> tmp_idxPHRASE18F normal wordtable flush ended 2011-03-03 09:59:48 --> 40615 records took 44.6 seconds to complete.(54580 recs/min) 2011-03-03 09:59:48 --> Estimated runtime: 2.3 minutes 2011-03-03 09:59:48 --> tmp_idxPHRASE18F contains 26486 words from 40615 records 2011-03-03 09:59:48 --> tmp_idxPHRASE18F is in consistent state 2011-03-03 09:59:48 --> Putting new tmp index tables for id 18 into production 2011-03-03 09:59:49 --> Task #1070450 finished. [ERROR] The error is a bit more detailed in invenio.err (you'll find an excerpt attached to this mail). What can I do to fix this? Best regards, Greg ____________________________________________________________________ Gregory Favre Coordinateur Infoscience École Polytechnique Fédérale de Lausanne KIS - DIT Case Postale 121 CH-1015 Lausanne +41 21 693 22 88 + 41 79 599 09 06 [email protected] http://plan.epfl.ch/?sciper=128933 ____________________________________________________________________
The following problem occurred on <http://infoscience.epfl.ch> (Invenio 1.0.0-rc0) >> 2011-03-03 09:59:49 -> OperationalError: (1017, "Can't find file: >> './infoscience/idxPAIR18R.frm' (errno: 2)") >>> User details No client information available >>> Traceback details Traceback (most recent call last): File "/var/www/infoscience.epfl.ch/private/infoscience-env/lib/python2.6/site-packages/invenio/bibtask.py", line 754, in _task_run if callable(task_run_fnc) and task_run_fnc(): File "/var/www/infoscience.epfl.ch/private/infoscience-env/lib/python2.6/site-packages/invenio/bibindex_engine.py", line 1711, in task_run_core swap_temporary_reindex_tables(index_id, reindex_prefix) File "/var/www/infoscience.epfl.ch/private/infoscience-env/lib/python2.6/site-packages/invenio/bibindex_engine.py", line 344, in swap_temporary_reindex_tables "%sidxPHRASE%02dF TO idxPHRASE%02dF;" % (reindex_prefix, index_id, index_id) File "/var/www/infoscience.epfl.ch/private/infoscience-env/lib/python2.6/site-packages/invenio/dbquery.py", line 166, in run_sql rc = cur.execute(sql, param) File "/usr/lib/pymodules/python2.6/MySQLdb/cursors.py", line 166, in execute self.errorhandler(self, exc, value) File "/usr/lib/pymodules/python2.6/MySQLdb/connections.py", line 35, in defaulterrorhandler raise errorclass, errorvalue OperationalError: (1017, "Can't find file: './infoscience/idxPAIR18R.frm' (errno: 2)") Locals by frame, innermost last >>>> Frame <module> in >>>> /var/www/infoscience.epfl.ch/private/invenio/bin/bibindex at line 66 ******************************************************************************* 63 import sys 64 sys.exit(1) 65 ----> 66 main() ******************************************************************************* __builtins__ = "<module '__builtin__' (built-in)>" __file__ = "'/var/www/infoscience.epfl.ch/private/invenio/bin/bibindex'" __package__ = 'None' __name__ = "'__main__'" main = '<function main at 0x2a7af50>' __doc__ = "'\\nBibIndex bibliographic data, reference and fulltext indexing utility.\\n\\nUsage: bibindex %s [options] \\nExamples:\\n bibindex -a -i 234-250,293,300-500 -u admin@localhost\\n bibindex -a -w author,fulltext -M 8192 -v3\\n bibindex -d -m +4d -A on --flush=10000\\n\\n Indexing options:\\n -a, --add add or update words for selected records\\n -d, --del delete words for selected records\\n -i, --id=low[-high] select according to record re [...] >>>> Frame main in >>>> /var/www/infoscience.epfl.ch/private/infoscience-env/lib/python2.6/site-packages/invenio/bibindex_engine.py >>>> at line 1377 ******************************************************************************* 1374 task_stop_helper_fnc=task_stop_table_close_fnc, 1375 task_submit_elaborate_specific_parameter_fnc=task_submit_elaborate_specific_parameter, 1376 task_run_fnc=task_run_core, ----> 1377 task_submit_check_options_fnc=task_submit_check_options) 1378 1379 def task_submit_check_options(): 1380 """Check for options compatibility.""" ******************************************************************************* >>>> Frame task_init in >>>> /var/www/infoscience.epfl.ch/private/infoscience-env/lib/python2.6/site-packages/invenio/bibtask.py >>>> at line 356 ******************************************************************************* 353 ret = _task_run(task_run_fnc) 354 write_message("ERROR: The Python Profiler is not installed!", stream=sys.stderr) 355 else: ----> 356 ret = _task_run(task_run_fnc) 357 if not ret: 358 write_message("Error occurred. Exiting.", sys.stderr) 359 except Exception, e: ******************************************************************************* task_submit_check_options_fnc = '<function task_submit_check_options at 0x2a7daa0>' task_stop_helper_fnc = '<function task_stop_table_close_fnc at 0x2a7db90>' version = "'$Id$'" help_specific_usage = "' Indexing options:\\n -a, --add\\t\\tadd or update words for selected records\\n -d, --del\\t\\tdelete words for selected records\\n -i, --id=low[-high]\\t\\tselect according to doc recID\\n -m, --modified=from[,to]\\tselect according to modification date\\n -c, --collection=c1[,c2]\\tselect according to collection\\n -R, --reindex\\treindex the selected indexes from scratch\\n\\n Repairing options:\\n -k, --check\\t\\tcheck consistency for all records in the table(s)\\n -r, --repair\\ [...] to_be_submitted = 'False' argv = "['/var/www/infoscience.epfl.ch/private/invenio/bin/bibindex', '-u', 'admin', '--reindex', '-f50000']" specific_params = "('adi:m:c:w:krRM:f:', ['add', 'del', 'id=', 'modified=', 'collection=', 'windex=', 'check', 'repair', 'reindex', 'maxmem=', 'flush='])" task_run_fnc = '<function task_run_core at 0x2a7dc08>' authorization_action = "'runbibindex'" task_submit_elaborate_specific_parameter_fnc = '<function task_submit_elaborate_specific_parameter at 0x2a7db18>' authorization_msg = "'BibIndex Task Submission'" description = "'Examples:\\n\\t/var/www/infoscience.epfl.ch/private/invenio/bin/bibindex -a -i 234-250,293,300-500 -u admin@localhost\\n\\t/var/www/infoscience.epfl.ch/private/invenio/bin/bibindex -a -w author,fulltext -M 8192 -v3\\n \\t/var/www/infoscience.epfl.ch/private/invenio/bin/bibindex -d -m +4d -A on --flush=10000\\n'" >>>> Frame _task_run in >>>> /var/www/infoscience.epfl.ch/private/infoscience-env/lib/python2.6/site-packages/invenio/bibtask.py >>>> at line 761 ******************************************************************************* 758 except SystemExit: 759 pass 760 except: ----> 761 register_exception(alert_admin=True) 762 task_update_status("ERROR") 763 finally: 764 task_status = task_read_status() ******************************************************************************* sleeptime = "''" time_now = '1299138284.027539' pidfile_name = "'/var/www/infoscience.epfl.ch/private/invenio/var/run/bibsched_task_1070450.pid'" task_run_fnc = '<function task_run_core at 0x2a7dc08>' task_status = "'WAITING'" pidfile = "<closed file '/var/www/infoscience.epfl.ch/private/invenio/var/run/bibsched_task_1070450.pid', mode 'w' at 0x2a6c420>" >>>> Frame task_run_core in >>>> /var/www/infoscience.epfl.ch/private/infoscience-env/lib/python2.6/site-packages/invenio/bibindex_engine.py >>>> at line 1711 ******************************************************************************* 1708 task_sleep_now_if_required(can_stop_too=True) 1709 1710 if task_get_option("reindex"): ----> 1711 swap_temporary_reindex_tables(index_id, reindex_prefix) 1712 update_index_last_updated(index_id, task_get_task_param('task_starting_time')) 1713 task_sleep_now_if_required(can_stop_too=True) 1714 ******************************************************************************* fnc_get_pairs_from_phrase = '<function get_pairs_from_phrase at 0x2a7a6e0>' index_tags = "['0247_a']" is_fulltext_index = 'False' reindex_prefix = "'tmp_'" index_name = "'doi'" wordTables = "[(3, 'abstract', ['520__%']), (14, 'affiliation', ['973__a']), (4, 'author', ['700__%', '773__a']), (2, 'collection', ['980__a']), (18, 'doi', ['0247_a']), (16, 'fulltext', ['85640x']), (1, 'global', ['50%', '63%', '64%', '65%', '66%', '67%', '68%', '69%', '70%', '71%', '72%', '62%', '61%', '51%', '52%', '53%', '54%', '55%', '56%', '57%', '58%', '59%', '60%', '73%', '74%', '75%', '88%', '89%', '90%', '91%', '92%', '93%', '94%', '95%', '96%', '97%', '87%', '86%', '76%', '77%', '78%', '79%', '80% [...] wordTable = '<invenio.bibindex_engine.WordTable instance at 0x2d2b5a8>' fnc_get_phrases_from_phrase = '<function get_phrases_from_phrase at 0x2a7a758>' fnc_get_words_from_phrase = '<function get_words_from_phrase at 0x2a7a668>' index_id = '18' >>>> Frame swap_temporary_reindex_tables in >>>> /var/www/infoscience.epfl.ch/private/infoscience-env/lib/python2.6/site-packages/invenio/bibindex_engine.py >>>> at line 344 ******************************************************************************* 341 "idxPHRASE%02dR TO old_idxPHRASE%02dR," % (index_id, index_id) + 342 "%sidxPHRASE%02dR TO idxPHRASE%02dR," % (reindex_prefix, index_id, index_id) + 343 "idxPHRASE%02dF TO old_idxPHRASE%02dF," % (index_id, index_id) + ----> 344 "%sidxPHRASE%02dF TO idxPHRASE%02dF;" % (reindex_prefix, index_id, index_id) 345 ) 346 write_message("Dropping old index tables for id %s" % index_id) 347 run_sql("DROP TABLE old_idxWORD%02dR, old_idxWORD%02dF, old_idxPAIR%02dR, old_idxPAIR%02dF, old_idxPHRASE%02dR, old_idxPHRASE%02dF" % (index_id, index_id, index_id, index_id, index_id, index_id) ******************************************************************************* reindex_prefix = "'tmp_'" index_id = '18' >>>> Frame run_sql in >>>> /var/www/infoscience.epfl.ch/private/infoscience-env/lib/python2.6/site-packages/invenio/dbquery.py >>>> at line 168 ******************************************************************************* 165 cur = db.cursor() 166 rc = cur.execute(sql, param) 167 except OperationalError: # again an unexpected disconnect, bad malloc error, etc ----> 168 raise 169 170 if string.upper(string.split(sql)[0]) in ("SELECT", "SHOW", "DESC", "DESCRIBE"): 171 if n: ******************************************************************************* cur = '<MySQLdb.cursors.Cursor object at 0x7f379dbabb90>' with_desc = '0' db = "<_mysql.connection open to 'localhost' at 2acab40>" param = 'None' n = '0' sql = "'RENAME TABLE idxWORD18R TO old_idxWORD18R,tmp_idxWORD18R TO idxWORD18R,idxWORD18F TO old_idxWORD18F,tmp_idxWORD18F TO idxWORD18F,idxPAIR18R TO old_idxPAIR18R,tmp_idxPAIR18R TO idxPAIR18R,idxPAIR18F TO old_idxPAIR18F,tmp_idxPAIR18F TO idxPAIR18F,idxPHRASE18R TO old_idxPHRASE18R,tmp_idxPHRASE18R TO idxPHRASE18R,idxPHRASE18F TO old_idxPHRASE18F,tmp_idxPHRASE18F TO idxPHRASE18F;'" >>>> Frame execute in /usr/lib/pymodules/python2.6/MySQLdb/cursors.py at line >>>> 166 ******************************************************************************* 163 exc, value, tb = exc_info() 164 del tb 165 self.messages.append((exc, value)) ----> 166 self.errorhandler(self, exc, value) 167 self._executed = query 168 if not self._defer_warnings: self._warning_check() 169 return r ******************************************************************************* args = 'None' exc = "<class '_mysql_exceptions.OperationalError'>" self = '<MySQLdb.cursors.Cursor object at 0x7f379dbabb90>' charset = "'utf8'" db = '<weakproxy at 0x7f379db4bba8 to Connection at 0x2acab40>' value = 'OperationalError(1017, "Can\'t find file: \'./infoscience/idxPAIR18R.frm\' (errno: 2)")' query = "'RENAME TABLE idxWORD18R TO old_idxWORD18R,tmp_idxWORD18R TO idxWORD18R,idxWORD18F TO old_idxWORD18F,tmp_idxWORD18F TO idxWORD18F,idxPAIR18R TO old_idxPAIR18R,tmp_idxPAIR18R TO idxPAIR18R,idxPAIR18F TO old_idxPAIR18F,tmp_idxPAIR18F TO idxPAIR18F,idxPHRASE18R TO old_idxPHRASE18R,tmp_idxPHRASE18R TO idxPHRASE18R,idxPHRASE18F TO old_idxPHRASE18F,tmp_idxPHRASE18F TO idxPHRASE18F;'" ListType = "<type 'list'>" exc_info = '<built-in function exc_info>' TupleType = "<type 'tuple'>" >>>> Frame defaulterrorhandler in >>>> /usr/lib/pymodules/python2.6/MySQLdb/connections.py at line 35 ******************************************************************************* 32 connection.messages.append(error) 33 del cursor 34 del connection ----> 35 raise errorclass, errorvalue 36 37 38 class Connection(_mysql.connection): ******************************************************************************* errorclass = "<class '_mysql_exceptions.OperationalError'>" errorvalue = 'OperationalError(1017, "Can\'t find file: \'./infoscience/idxPAIR18R.frm\' (errno: 2)")' error = '(<class \'_mysql_exceptions.OperationalError\'>, OperationalError(1017, "Can\'t find file: \'./infoscience/idxPAIR18R.frm\' (errno: 2)"))'
