Re: Problem with DataFileCache.get
[email protected] Wed, 27 Jan 2021 14:33:39 +0100
| Newsgroups | gmane.comp.java.hsqldb.user |
|---|---|
| Message-ID | <trinity-a268d54d-fa7a-4807-b2f4-e46e09e2b650-1611754419608@3c-app-webde-bap43> |
Hello Fred, thanks for your answer. We tried to run the command to fix the table index using sqltool-2.5.1.jar. But we got an error message: sql>PERFORM CHECK TABLE PUBLIC.MY_TABLE INDEX AND FIX; SEVERE SQL Error at '<stdin>' line 3: "PERFORM CHECK TABLE PUBLIC.MY_TABLE INDEX AND FIX " Also submitting "PERFORM CHECK ALL TABLE INDEX AND FIX;" returned that kind of error. If the semicolon at the end is omitted the sqltool expects some more input. So I guess the semicolon is required. Our tables are cached tables. Do you have an idea why these commands were not executed? Thank you, Haddock Gesendet: Montag, 25. Januar 2021 um 11:50 Uhr Von: "Fred Toussi via Hsqldb-user" <[email protected]> An: "HSQLDB user list" <[email protected]> Cc: "Fred Toussi" <[email protected]> Betreff: Re: [Hsqldb-user] Problem with DataFileCache.get The latest version 2.5.1 supports checking the database indexes and fixing them in some cases. See "Checking Database Tables and Indexes" in http://hsqldb.org/doc/2.0/guide/management-chapt.html Alternatively, you can run a query such as "SELECT AVG(somecolumn) FROM sometable" to access all rows of the table. Fred On Mon, Jan 25, 2021, at 09:03, [email protected] wrote: Hello, we have a site where HSQL is installed and since some days HSQL keeps consuming more and more RAM. The log shows the error message below that occurs very often like 50'000 times a day. From searching the Internet it seems that this is a problem with a corrupted database file. Could anyone confirm this or give a hint what the problem could be? If it is a currption problem, is there a way to repair the database file? We might clear the HSQL database and restart the application to see whether the problem goes away. Before doing that I wold like to checkout whether there is a way to repair the database without having to clear it. Thanks for any help or hints. at org.hsqldb.persist.Cache$CachedObjectComparator.longKey(Unknown Source) at org.hsqldb.map.BaseHashMap.getObjectLookup(Unknown Source) at org.hsqldb.persist.Cache.get(Unknown Source) at org.hsqldb.persist.DataFileCache.get(Unknown Source) at org.hsqldb.persist.RowStoreAVLDisk.get(Unknown Source) at org.hsqldb.index.NodeAVLDisk.findNode(Unknown Source) at org.hsqldb.index.NodeAVLDisk.getLeft(Unknown Source) at org.hsqldb.index.NodeAVLDisk.child(Unknown Source) at org.hsqldb.index.IndexAVL.insert(Unknown Source) at org.hsqldb.persist.RowStoreAVL.indexRow(Unknown Source) at org.hsqldb.persist.RowStoreAVLDisk.indexRow(Unknown Source) at org.hsqldb.TransactionManager2PL.addInsertAction(Unknown Source) at org.hsqldb.Session.addInsertAction(Unknown Source) at org.hsqldb.Table.insertSingleRow(Unknown Source) at org.hsqldb.StatementDML.insertSingleRow(Unknown Source) at org.hsqldb.StatementInsert.getResult(Unknown Source) at org.hsqldb.StatementDMQL.execute(Unknown Source) at org.hsqldb.Session.executeCompiledStatement(Unknown Source) at org.hsqldb.Session.executeCompiledBatchStatement(Unknown Source) at org.hsqldb.Session.execute(Unknown Source) at org.hsqldb.jdbc.JDBCPreparedStatement.executeBatch(Unknown Source) at com.zaxxer.hikari.pool.ProxyStatement.executeBatch(ProxyStatement.java:128) at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeBatch(HikariProxyPreparedStatement.java) at io.vertx.ext.jdbc.impl.actions.JDBCBatch.execute(JDBCBatch.java:92) at io.vertx.ext.jdbc.impl.actions.JDBCBatch.execute(JDBCBatch.java:32) at io.vertx.ext.jdbc.impl.actions.AbstractJDBCAction.handle(AbstractJDBCAction.java:58) at io.vertx.ext.jdbc.impl.actions.AbstractJDBCAction.lambda$execute$0(AbstractJDBCAction.java:66) at io.vertx.ext.jdbc.impl.actions.AbstractJDBCAction$$Lambda$744/24848340.handle(Unknown Source) at io.vertx.core.impl.ContextImpl.lambda$executeBlocking$1(ContextImpl.java:273) at io.vertx.core.impl.ContextImpl$$Lambda$28/4410568.run(Unknown Source) at io.vertx.core.impl.TaskQueue.run(TaskQueue.java:76) at io.vertx.core.impl.TaskQueue$$Lambda$8/30398763.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.lang.Thread.run(Unknown Source) _______________________________________________ Hsqldb-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/hsqldb-user _______________________________________________ Hsqldb-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/hsqldb-user _______________________________________________ Hsqldb-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/hsqldb-user