Dear Diwaker,
Il giorno mer, 08/06/2011 alle 10.21 +0545, Diwaker Ghimire ha scritto:
> 1. Donot yet create tables, import old db, and run make
> update-v0.99.3-tables
> during this step an error occurred on renaming table to
> oaiREPOSITORY citing it already existed so i renamed it to
> same table it was trying to rename from and rerun this step,
> there was an error on INSERT operation on nonexistence table
> [i just skipped this step from this position, there was no
> such table on db with previous version and this script didn't
> bother to create one so i thought that was not necesary.]
Upon every upgrade of Invenio, completely new tables are created by the
command:
[...]
${prefix}/bin/dbexec < $(top_srcdir)/modules/miscutil/sql/tabcreate.sql
[...]
In the case of the script "update-v0.99.3-tables", this is triggered
only after a successful renaming of oaiARCHIVE to oaiREPOSITORY. Since
in your case this failed because oaiREPOSITORY was already existing
(since it existed since v0.99.2 and you probably tried also that minor
release of Invenio), the whole execution of "update-v0.99.3-tables"
failed. Indeed we should fix this so that oaiARCHIVE is renamed only
once.
Note that the INSERT statement that was probably failing is the
"INSERT INTO knwKB...", which is referring to a table that would be
created by the above mentioned execution of tabcreate.sql.
To actually recover I would suggest you to just run:
$ make -i update-v0.99.3-tables
This would actually skip any failing update statement (but would
correctly run the missing one).
Given your description it should simply give an error again for the
renaming of oaiARCHIVE to oaiREPOSITORY, but succeed in everything else.
> I Patched from: webinterface_handler_wsgi_utils.py line :
> 368
>
> http://invenio-software.org/attachment/ticket/451/0001-WebStyle-fix-StringField-definition.patch
Great!
> After patching above error was solved, yet there is another
> one,
>
> [Tue Jun 07 09:40:34 2011] [error] Exception KeyError:
> KeyError(-1216509296,) in <module 'threading' from
> '/usr/lib/python2.6/threading.pyc'> ignored
Is there more traceback available (in particular
in /opt/invenio/var/log/invenio.err)?
> 1. Found these error on invenio.err while trying to browse site
> Browser shows server encounter an error,
>
> The server encountered an error while dealing with your
> request. ...
>
> The following problem occurred on <http://invenio.local>
> (Invenio 1.0.0-rc0)
> >> 2011-06-07 13:39:01 -> InvenioWebAccessFireroleError: too
> many values to unpack
> >>> User details
Yes, this is due to the very first problem you encountered, i.e. the
fact that the update failed. If you see, the last statement of the
"update-v0.99.3-tables" script is:
[...]
echo -e 'from invenio.access_control_firerole import repair_role_definitions;\
repair_role_definitions()' | $(PYTHON)
[...]
which would precisely upgrade the Firerole structures in the DB. This
issue will go away if you run the above mentioned "make -i
update-v0.99.3-tables" command.
> Did I missed something, or i did something wrong please help
Hope this solves all your issues.
Cheers,
Samuele
--
Samuele Kaplun
Invenio Developer ** <http://invenio-software.org/>