After a shutdown, we occasionally experience a failure to restart.
This instance is running on a Windows VM. The testing group shut down the _VM_, but it appears that the hsql db shut down cleanly. We are not issuing a compact, just a shutdown when the app is terminated, to decrease the possibility that the db would get killed in the middle of writing the in-mem stuff to disk.
Let me know if there is anything else you need.
Thanks,
Duff
log excerpt:
2012-11-02 11:55:32,202 INFO ApplicationStateListener.logEvent(58) | Application {app-name}: stopped
2012-11-02 11:55:32,218 INFO SchedulerService.destroy(181) | SchedulerService HttpRequestHandler for servlet starting shut down at Fri Nov 02 11:55:32 EDT 2012…
2012-11-02 11:55:32,218 WARN SchedulerService.run(318) | Thread interruped during sleep - probably due to shutdown
2012-11-02 11:55:32,218 INFO SchedulerService.destroy(201) | SchedulerService HttpRequestHandler for servlet shut down at Fri Nov 02 11:55:32 EDT 2012
2012-11-02 11:55:32,249 INFO HsqlDbServerBean.destroy(123) | *** Attempting to shut down HSQLDB…
2012-11-02 11:55:32,374 INFO HsqlDbServerBean.destroy(133) | Attempting to shut down HSQL database…
2012-11-02 11:55:32,546 INFO HsqlDbServerBean.destroy(135) | Shut down operation completed OK for HSQL database in 0.172 seconds.
2012-11-02 11:55:32,546 INFO HsqlDbServerBean.destroy(148) | Closing all HSQL server connections…
2012-11-02 11:55:32,546 INFO HsqlDbServerBean.destroy(150) | HSQL server connections closed.
2012-11-02 11:55:32,546 INFO HsqlDbServerBean.destroy(153) | Stopping HSQL server…
2012-11-02 11:55:32,655 INFO HsqlDbServerBean.destroy(173) | HSQL server stopped.
2012-11-02 11:55:32,655 INFO HsqlDbServerBean.destroy(180) | *** HSQLDB shutdown attempt complete
2012-11-02 11:56:25,765 INFO PropertyFileEncryptor.setBeanFactory(47) | Encrypting properties
2012-11-02 11:56:26,281 INFO HsqlDbServerBean.afterPropertiesSet(108) | HSQL Server Startup sequence initiated
2012-11-02 11:56:27,687 FATAL ENGINE.logSevereEvent(?) | C:/Program Files/{path removed}/Database/vcdb/vcdb.data getFromFile 243393
org.hsqldb.HsqlException: java.io.EOFException
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.persist.RowStoreAVLDisk.get(Unknown Source)
at org.hsqldb.persist.DataFileCache.getFromFile(Unknown Source)
at org.hsqldb.persist.DataFileCache.get(Unknown Source)
at org.hsqldb.persist.RowStoreAVLDisk.get(Unknown Source)
at org.hsqldb.persist.RowStoreAVLDisk.setAccessor(Unknown Source)
at org.hsqldb.Table.setIndexRoots(Unknown Source)
at org.hsqldb.Table.setIndexRoots(Unknown Source)
at org.hsqldb.StatementCommand.getResult(Unknown Source)
at org.hsqldb.StatementCommand.execute(Unknown Source)
at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
at org.hsqldb.scriptio.ScriptReaderText.readDDL(Unknown Source)
at org.hsqldb.scriptio.ScriptReaderBase.readAll(Unknown Source)
at org.hsqldb.persist.Log.processScript(Unknown Source)
at org.hsqldb.persist.Log.open(Unknown Source)
at org.hsqldb.persist.Logger.openPersistence(Unknown Source)
at org.hsqldb.Database.reopen(Unknown Source)
at org.hsqldb.Database.open(Unknown Source)
at org.hsqldb.DatabaseManager.getDatabase(Unknown Source)
at org.hsqldb.DatabaseManager.getDatabase(Unknown Source)
at org.hsqldb.server.Server.openDatabases(Unknown Source)
at org.hsqldb.server.Server.run(Unknown Source)
at org.hsqldb.server.Server.access$000(Unknown Source)
at org.hsqldb.server.Server$ServerThread.run(Unknown Source)
Caused by: java.io.EOFException
at org.hsqldb.lib.HsqlByteArrayInputStream.readInt(Unknown Source)
at org.hsqldb.index.NodeAVLDisk.<init>(Unknown Source)
at org.hsqldb.RowAVLDisk.<init>(Unknown Source)
… 23 more
2012-11-02 11:56:27,703 WARN ENGINE.logWarningEvent(?) | java.io.EOFException in statement
org.hsqldb.HsqlException: java.io.EOFException
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.persist.RowStoreAVLDisk.get(Unknown Source)
at org.hsqldb.persist.DataFileCache.getFromFile(Unknown Source)
at org.hsqldb.persist.DataFileCache.get(Unknown Source)
at org.hsqldb.persist.RowStoreAVLDisk.get(Unknown Source)
at org.hsqldb.persist.RowStoreAVLDisk.setAccessor(Unknown Source)
at org.hsqldb.Table.setIndexRoots(Unknown Source)
at org.hsqldb.Table.setIndexRoots(Unknown Source)
at org.hsqldb.StatementCommand.getResult(Unknown Source)
at org.hsqldb.StatementCommand.execute(Unknown Source)
at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
at org.hsqldb.scriptio.ScriptReaderText.readDDL(Unknown Source)
at org.hsqldb.scriptio.ScriptReaderBase.readAll(Unknown Source)
at org.hsqldb.persist.Log.processScript(Unknown Source)
at org.hsqldb.persist.Log.open(Unknown Source)
at org.hsqldb.persist.Logger.openPersistence(Unknown Source)
at org.hsqldb.Database.reopen(Unknown Source)
at org.hsqldb.Database.open(Unknown Source)
at org.hsqldb.DatabaseManager.getDatabase(Unknown Source)
at org.hsqldb.DatabaseManager.getDatabase(Unknown Source)
at org.hsqldb.server.Server.openDatabases(Unknown Source)
at org.hsqldb.server.Server.run(Unknown Source)
at org.hsqldb.server.Server.access$000(Unknown Source)
at org.hsqldb.server.Server$ServerThread.run(Unknown Source)
Caused by: java.io.EOFException
at org.hsqldb.lib.HsqlByteArrayInputStream.readInt(Unknown Source)
at org.hsqldb.index.NodeAVLDisk.<init>(Unknown Source)
at org.hsqldb.RowAVLDisk.<init>(Unknown Source)
… 23 more
2012-11-02 11:56:27,703 WARN ENGINE.logWarningEvent(?) | Script processing failure
org.hsqldb.HsqlException: error in script file line: 331 java.io.EOFException in statement
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.scriptio.ScriptReaderText.readDDL(Unknown Source)
at org.hsqldb.scriptio.ScriptReaderBase.readAll(Unknown Source)
at org.hsqldb.persist.Log.processScript(Unknown Source)
at org.hsqldb.persist.Log.open(Unknown Source)
at org.hsqldb.persist.Logger.openPersistence(Unknown Source)
at org.hsqldb.Database.reopen(Unknown Source)
at org.hsqldb.Database.open(Unknown Source)
at org.hsqldb.DatabaseManager.getDatabase(Unknown Source)
at org.hsqldb.DatabaseManager.getDatabase(Unknown Source)
at org.hsqldb.server.Server.openDatabases(Unknown Source)
at org.hsqldb.server.Server.run(Unknown Source)
at org.hsqldb.server.Server.access$000(Unknown Source)
at org.hsqldb.server.Server$ServerThread.run(Unknown Source)
Caused by: org.hsqldb.HsqlException: java.io.EOFException
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.persist.RowStoreAVLDisk.get(Unknown Source)
at org.hsqldb.persist.DataFileCache.getFromFile(Unknown Source)
at org.hsqldb.persist.DataFileCache.get(Unknown Source)
at org.hsqldb.persist.RowStoreAVLDisk.get(Unknown Source)
at org.hsqldb.persist.RowStoreAVLDisk.setAccessor(Unknown Source)
at org.hsqldb.Table.setIndexRoots(Unknown Source)
at org.hsqldb.Table.setIndexRoots(Unknown Source)
at org.hsqldb.StatementCommand.getResult(Unknown Source)
at org.hsqldb.StatementCommand.execute(Unknown Source)
at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
… 13 more
Caused by: java.io.EOFException
at org.hsqldb.lib.HsqlByteArrayInputStream.readInt(Unknown Source)
at org.hsqldb.index.NodeAVLDisk.<init>(Unknown Source)
at org.hsqldb.RowAVLDisk.<init>(Unknown Source)
… 23 more
2012-11-02 11:56:27,812 FATAL ENGINE.logSevereEvent(?) | could not reopen database
org.hsqldb.HsqlException: error in script file line: 331 java.io.EOFException in statement
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.scriptio.ScriptReaderText.readDDL(Unknown Source)
at org.hsqldb.scriptio.ScriptReaderBase.readAll(Unknown Source)
at org.hsqldb.persist.Log.processScript(Unknown Source)
at org.hsqldb.persist.Log.open(Unknown Source)
at org.hsqldb.persist.Logger.openPersistence(Unknown Source)
at org.hsqldb.Database.reopen(Unknown Source)
at org.hsqldb.Database.open(Unknown Source)
at org.hsqldb.DatabaseManager.getDatabase(Unknown Source)
at org.hsqldb.DatabaseManager.getDatabase(Unknown Source)
at org.hsqldb.server.Server.openDatabases(Unknown Source)
at org.hsqldb.server.Server.run(Unknown Source)
at org.hsqldb.server.Server.access$000(Unknown Source)
at org.hsqldb.server.Server$ServerThread.run(Unknown Source)
Caused by: org.hsqldb.HsqlException: java.io.EOFException
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.persist.RowStoreAVLDisk.get(Unknown Source)
at org.hsqldb.persist.DataFileCache.getFromFile(Unknown Source)
at org.hsqldb.persist.DataFileCache.get(Unknown Source)
at org.hsqldb.persist.RowStoreAVLDisk.get(Unknown Source)
at org.hsqldb.persist.RowStoreAVLDisk.setAccessor(Unknown Source)
at org.hsqldb.Table.setIndexRoots(Unknown Source)
at org.hsqldb.Table.setIndexRoots(Unknown Source)
at org.hsqldb.StatementCommand.getResult(Unknown Source)
at org.hsqldb.StatementCommand.execute(Unknown Source)
at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
… 13 more
Caused by: java.io.EOFException
at org.hsqldb.lib.HsqlByteArrayInputStream.readInt(Unknown Source)
at org.hsqldb.index.NodeAVLDisk.<init>(Unknown Source)
at org.hsqldb.RowAVLDisk.<init>(Unknown Source)
… 23 more
2012-11-02 11:56:27,906 INFO HsqlDbServerBean.afterPropertiesSet(113) | HSQL Server listening on port 9101
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I don't know about this issue, but 2.2.6 and 2.2.7 had an issue sometimes when shutdown did not take place. This was fixed in 2.2.8. Please upgrade to the latest version 2.2.9 or better still the latest snapshot jar.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
After a shutdown, we occasionally experience a failure to restart.
This instance is running on a Windows VM. The testing group shut down the _VM_, but it appears that the hsql db shut down cleanly. We are not issuing a compact, just a shutdown when the app is terminated, to decrease the possibility that the db would get killed in the middle of writing the in-mem stuff to disk.
Let me know if there is anything else you need.
Thanks,
Duff
log excerpt:
2012-11-02 11:55:32,202 INFO ApplicationStateListener.logEvent(58) | Application {app-name}: stopped
2012-11-02 11:55:32,218 INFO SchedulerService.destroy(181) | SchedulerService HttpRequestHandler for servlet starting shut down at Fri Nov 02 11:55:32 EDT 2012…
2012-11-02 11:55:32,218 WARN SchedulerService.run(318) | Thread interruped during sleep - probably due to shutdown
2012-11-02 11:55:32,218 INFO SchedulerService.destroy(201) | SchedulerService HttpRequestHandler for servlet shut down at Fri Nov 02 11:55:32 EDT 2012
2012-11-02 11:55:32,249 INFO HsqlDbServerBean.destroy(123) | *** Attempting to shut down HSQLDB…
2012-11-02 11:55:32,374 INFO HsqlDbServerBean.destroy(133) | Attempting to shut down HSQL database…
2012-11-02 11:55:32,546 INFO HsqlDbServerBean.destroy(135) | Shut down operation completed OK for HSQL database in 0.172 seconds.
2012-11-02 11:55:32,546 INFO HsqlDbServerBean.destroy(148) | Closing all HSQL server connections…
2012-11-02 11:55:32,546 INFO HsqlDbServerBean.destroy(150) | HSQL server connections closed.
2012-11-02 11:55:32,546 INFO HsqlDbServerBean.destroy(153) | Stopping HSQL server…
2012-11-02 11:55:32,655 INFO HsqlDbServerBean.destroy(173) | HSQL server stopped.
2012-11-02 11:55:32,655 INFO HsqlDbServerBean.destroy(180) | *** HSQLDB shutdown attempt complete
2012-11-02 11:56:25,765 INFO PropertyFileEncryptor.setBeanFactory(47) | Encrypting properties
2012-11-02 11:56:26,281 INFO HsqlDbServerBean.afterPropertiesSet(108) | HSQL Server Startup sequence initiated
2012-11-02 11:56:27,687 FATAL ENGINE.logSevereEvent(?) | C:/Program Files/{path removed}/Database/vcdb/vcdb.data getFromFile 243393
org.hsqldb.HsqlException: java.io.EOFException
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.persist.RowStoreAVLDisk.get(Unknown Source)
at org.hsqldb.persist.DataFileCache.getFromFile(Unknown Source)
at org.hsqldb.persist.DataFileCache.get(Unknown Source)
at org.hsqldb.persist.RowStoreAVLDisk.get(Unknown Source)
at org.hsqldb.persist.RowStoreAVLDisk.setAccessor(Unknown Source)
at org.hsqldb.Table.setIndexRoots(Unknown Source)
at org.hsqldb.Table.setIndexRoots(Unknown Source)
at org.hsqldb.StatementCommand.getResult(Unknown Source)
at org.hsqldb.StatementCommand.execute(Unknown Source)
at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
at org.hsqldb.scriptio.ScriptReaderText.readDDL(Unknown Source)
at org.hsqldb.scriptio.ScriptReaderBase.readAll(Unknown Source)
at org.hsqldb.persist.Log.processScript(Unknown Source)
at org.hsqldb.persist.Log.open(Unknown Source)
at org.hsqldb.persist.Logger.openPersistence(Unknown Source)
at org.hsqldb.Database.reopen(Unknown Source)
at org.hsqldb.Database.open(Unknown Source)
at org.hsqldb.DatabaseManager.getDatabase(Unknown Source)
at org.hsqldb.DatabaseManager.getDatabase(Unknown Source)
at org.hsqldb.server.Server.openDatabases(Unknown Source)
at org.hsqldb.server.Server.run(Unknown Source)
at org.hsqldb.server.Server.access$000(Unknown Source)
at org.hsqldb.server.Server$ServerThread.run(Unknown Source)
Caused by: java.io.EOFException
at org.hsqldb.lib.HsqlByteArrayInputStream.readInt(Unknown Source)
at org.hsqldb.index.NodeAVLDisk.<init>(Unknown Source)
at org.hsqldb.RowAVLDisk.<init>(Unknown Source)
… 23 more
2012-11-02 11:56:27,703 WARN ENGINE.logWarningEvent(?) | java.io.EOFException in statement
org.hsqldb.HsqlException: java.io.EOFException
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.persist.RowStoreAVLDisk.get(Unknown Source)
at org.hsqldb.persist.DataFileCache.getFromFile(Unknown Source)
at org.hsqldb.persist.DataFileCache.get(Unknown Source)
at org.hsqldb.persist.RowStoreAVLDisk.get(Unknown Source)
at org.hsqldb.persist.RowStoreAVLDisk.setAccessor(Unknown Source)
at org.hsqldb.Table.setIndexRoots(Unknown Source)
at org.hsqldb.Table.setIndexRoots(Unknown Source)
at org.hsqldb.StatementCommand.getResult(Unknown Source)
at org.hsqldb.StatementCommand.execute(Unknown Source)
at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
at org.hsqldb.scriptio.ScriptReaderText.readDDL(Unknown Source)
at org.hsqldb.scriptio.ScriptReaderBase.readAll(Unknown Source)
at org.hsqldb.persist.Log.processScript(Unknown Source)
at org.hsqldb.persist.Log.open(Unknown Source)
at org.hsqldb.persist.Logger.openPersistence(Unknown Source)
at org.hsqldb.Database.reopen(Unknown Source)
at org.hsqldb.Database.open(Unknown Source)
at org.hsqldb.DatabaseManager.getDatabase(Unknown Source)
at org.hsqldb.DatabaseManager.getDatabase(Unknown Source)
at org.hsqldb.server.Server.openDatabases(Unknown Source)
at org.hsqldb.server.Server.run(Unknown Source)
at org.hsqldb.server.Server.access$000(Unknown Source)
at org.hsqldb.server.Server$ServerThread.run(Unknown Source)
Caused by: java.io.EOFException
at org.hsqldb.lib.HsqlByteArrayInputStream.readInt(Unknown Source)
at org.hsqldb.index.NodeAVLDisk.<init>(Unknown Source)
at org.hsqldb.RowAVLDisk.<init>(Unknown Source)
… 23 more
2012-11-02 11:56:27,703 WARN ENGINE.logWarningEvent(?) | Script processing failure
org.hsqldb.HsqlException: error in script file line: 331 java.io.EOFException in statement
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.scriptio.ScriptReaderText.readDDL(Unknown Source)
at org.hsqldb.scriptio.ScriptReaderBase.readAll(Unknown Source)
at org.hsqldb.persist.Log.processScript(Unknown Source)
at org.hsqldb.persist.Log.open(Unknown Source)
at org.hsqldb.persist.Logger.openPersistence(Unknown Source)
at org.hsqldb.Database.reopen(Unknown Source)
at org.hsqldb.Database.open(Unknown Source)
at org.hsqldb.DatabaseManager.getDatabase(Unknown Source)
at org.hsqldb.DatabaseManager.getDatabase(Unknown Source)
at org.hsqldb.server.Server.openDatabases(Unknown Source)
at org.hsqldb.server.Server.run(Unknown Source)
at org.hsqldb.server.Server.access$000(Unknown Source)
at org.hsqldb.server.Server$ServerThread.run(Unknown Source)
Caused by: org.hsqldb.HsqlException: java.io.EOFException
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.persist.RowStoreAVLDisk.get(Unknown Source)
at org.hsqldb.persist.DataFileCache.getFromFile(Unknown Source)
at org.hsqldb.persist.DataFileCache.get(Unknown Source)
at org.hsqldb.persist.RowStoreAVLDisk.get(Unknown Source)
at org.hsqldb.persist.RowStoreAVLDisk.setAccessor(Unknown Source)
at org.hsqldb.Table.setIndexRoots(Unknown Source)
at org.hsqldb.Table.setIndexRoots(Unknown Source)
at org.hsqldb.StatementCommand.getResult(Unknown Source)
at org.hsqldb.StatementCommand.execute(Unknown Source)
at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
… 13 more
Caused by: java.io.EOFException
at org.hsqldb.lib.HsqlByteArrayInputStream.readInt(Unknown Source)
at org.hsqldb.index.NodeAVLDisk.<init>(Unknown Source)
at org.hsqldb.RowAVLDisk.<init>(Unknown Source)
… 23 more
2012-11-02 11:56:27,812 FATAL ENGINE.logSevereEvent(?) | could not reopen database
org.hsqldb.HsqlException: error in script file line: 331 java.io.EOFException in statement
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.scriptio.ScriptReaderText.readDDL(Unknown Source)
at org.hsqldb.scriptio.ScriptReaderBase.readAll(Unknown Source)
at org.hsqldb.persist.Log.processScript(Unknown Source)
at org.hsqldb.persist.Log.open(Unknown Source)
at org.hsqldb.persist.Logger.openPersistence(Unknown Source)
at org.hsqldb.Database.reopen(Unknown Source)
at org.hsqldb.Database.open(Unknown Source)
at org.hsqldb.DatabaseManager.getDatabase(Unknown Source)
at org.hsqldb.DatabaseManager.getDatabase(Unknown Source)
at org.hsqldb.server.Server.openDatabases(Unknown Source)
at org.hsqldb.server.Server.run(Unknown Source)
at org.hsqldb.server.Server.access$000(Unknown Source)
at org.hsqldb.server.Server$ServerThread.run(Unknown Source)
Caused by: org.hsqldb.HsqlException: java.io.EOFException
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.persist.RowStoreAVLDisk.get(Unknown Source)
at org.hsqldb.persist.DataFileCache.getFromFile(Unknown Source)
at org.hsqldb.persist.DataFileCache.get(Unknown Source)
at org.hsqldb.persist.RowStoreAVLDisk.get(Unknown Source)
at org.hsqldb.persist.RowStoreAVLDisk.setAccessor(Unknown Source)
at org.hsqldb.Table.setIndexRoots(Unknown Source)
at org.hsqldb.Table.setIndexRoots(Unknown Source)
at org.hsqldb.StatementCommand.getResult(Unknown Source)
at org.hsqldb.StatementCommand.execute(Unknown Source)
at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
… 13 more
Caused by: java.io.EOFException
at org.hsqldb.lib.HsqlByteArrayInputStream.readInt(Unknown Source)
at org.hsqldb.index.NodeAVLDisk.<init>(Unknown Source)
at org.hsqldb.RowAVLDisk.<init>(Unknown Source)
… 23 more
2012-11-02 11:56:27,906 INFO HsqlDbServerBean.afterPropertiesSet(113) | HSQL Server listening on port 9101
I don't know about this issue, but 2.2.6 and 2.2.7 had an issue sometimes when shutdown did not take place. This was fixed in 2.2.8. Please upgrade to the latest version 2.2.9 or better still the latest snapshot jar.