We have an instance of Confluence that was running on an HSQLDB.
Something has gone badly wrong, and for some reasons transactions were being stacked up in the log, but not committed to the database. We were taking VM snapshots every two hours, but when you restart the VM it wipes the log.
So we now have a database that is one week out of date, along with a log file of every transaction that every user has done in the past week (i.e. every page they've written/edited in Confluence).
Does anyone know how I can apply these HSQL transactions to the database to bring it back up to date. Else anybody know how I can tell the whole company that they've lost a week's worth of work on Confluence?
As a result of this, we've now migrated to SQL, and reviewed the VM backup procedures, so we should be ok moving forward, but I really want to recover this work - it's tantalisingly close....
thanks,
It is possible to do this.
modified=yes
instead of modified=no
This is a sample URL:
jdbc:hsqldb:file:<your filepath ending with name of databases>;hqldb.full_log_replay=true
If there is an error in connection, it will show the line number of the .log file where there is the error.
If there is an error, edit the log file at that point. But it is likely that memory runs out due to the database being all-in-memory and your data increasing over time.
There is a simple way to connect to a database used by Confluence and change some of the tables to CACHED tables, which are disk based and do not use much memory.