Hi all,
to wrap up Patricia's story: we have been able to restore the HSQL database
used by WebAnno to a working state.
For those who might also run into the same kind of problem, here a synopsis:
We discovered this error message in the startup-log / console of WebAnno:
----
FATAL [SYSTEM] ENGINE - bad line in script file 217
org.hsqldb.HsqlException: error in script file line: 217 org.hsqldb.HsqlException: General error: SET DATABASE UNIQUE NAME HSQLDB786DE347B9
----
The problematic "script file" mention here can be found within the WebAnno
home folder in `db/webanno.script`.
Opening the file in a plain text editor revealed that its contents where
kind of "duplicated". At a high level it looked like this:
----
AAAA
BBBB
BBBB
BBBB
AAAA
AAAA
----
The AAAA and BBBB blocks are lines of database commands which represent
the configuration and content of the WebAnno database.
If we take all the AAAA blocks together, we had a complete database.
But somehow an additional full copy of the database (the BBBB blocks)
was inserted right smack into the middle of the AAAA copy. We note that
the error reported above says that setting "DATABASE UNIQUE NAME"
could not be set. That is because at the beginning of the AAAA blocks,
it was set and then when the BBBB blocks start, we find the command
a second time. The system then says that the unique name cannot be
set a second time of course.
To fix the problem, we carefully cut the BBBB blocks out of the script
file and pasted them to a new text file and saved the webanno.script file.
Then we compared the webanno.script file to the file with the BBBB blocks
(a tool like Meld [1] can be useful for this). After verifying that we did
indeed properly remove the BBBB block and that there are no significant
differences betweeen the remaining AAAA blocks in the webanno.script file
and the BBBB blocks in the new text file, we started WebAnno again and
voilá, it worked.
This information does not apply to installations that use a MySQL database.
The usage of MySQL is recommended as in our observations it is generally more
robust than the default HSQL database - but it also requires installing
a separate piece of software (i.e. MySQL) and is therefore much less
convenient for people using WebAnno on their desktop. So desktop users usually
work with the HSQL database while people installing WebAnno on their servers for
multi-user scenarios typically use MySQL (or the compatible MariaDB).
Best,
-- Richard
[1]
https://meldmerge.org