After power failure, the first connection takes quite some time. Looking at the trace, it looks like indexes are being rebuilt (with some indexes rebuilt multiple times).
What settings can be used to reduce the amount of time to recover after reboot (smaller transaction log, etc)? Here is an example test connection stack to recover after failure: Profiler: top 3 stack trace(s) of 96733 ms [build-163]: 9835/27486 (35%): at java.lang.Class.getComponentType(Native Method) at org.h2.store.Page.insert(Page.java:109) at org.h2.index.PageBtreeLeaf.addRow(PageBtreeLeaf.java:161) at org.h2.index.PageBtreeLeaf.addRowTry(PageBtreeLeaf.java:100) at org.h2.index.PageBtreeNode.addRowTry(PageBtreeNode.java:200) at org.h2.index.PageBtreeIndex.addRow(PageBtreeIndex.java:105) at org.h2.index.PageBtreeIndex.add(PageBtreeIndex.java:96) at org.h2.table.RegularTable.addRowsToIndex(RegularTable.java:327) at org.h2.table.RegularTable.addIndex(RegularTable.java:256) at org.h2.store.PageStore.addMeta(PageStore.java:1660) at org.h2.store.PageStore.redo(PageStore.java:1495) at org.h2.store.PageLog.recover(PageLog.java:319) at org.h2.store.PageStore.recover(PageStore.java:1358) at org.h2.store.PageStore.openExisting(PageStore.java:355) at org.h2.store.PageStore.open(PageStore.java:279) at org.h2.engine.Database.getPageStore(Database.java:2118) at org.h2.engine.Database.open(Database.java:577) at org.h2.engine.Database.openDatabase(Database.java:222) at org.h2.engine.Database.<init>(Database.java:217) at org.h2.engine.Engine.openSession(Engine.java:56) at org.h2.engine.Engine.openSession(Engine.java:159) at org.h2.engine.Engine.createSessionAndValidate(Engine.java:138) at org.h2.engine.Engine.createSession(Engine.java:121) at org.h2.engine.Engine.createSession(Engine.java:28) at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:305) at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:110) at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:94) at org.h2.Driver.connect(Driver.java:72) at org.h2.server.web.WebServer.getConnection(WebServer.java:644) at org.h2.server.web.WebApp.test(WebApp.java:839) at org.h2.server.web.WebApp.process(WebApp.java:215) at org.h2.server.web.WebApp.processRequest(WebApp.java:164) 2326/27486 (8%): at org.h2.index.BaseIndex.compareRows(BaseIndex.java:171) at org.h2.table.RegularTable$1.compare(RegularTable.java:323) at org.h2.table.RegularTable$1.compare(RegularTable.java:322) at java.util.Arrays.mergeSort(Unknown Source) at java.util.Arrays.sort(Unknown Source) at java.util.Collections.sort(Unknown Source) at org.h2.table.RegularTable.addRowsToIndex(RegularTable.java:321) at org.h2.table.RegularTable.addIndex(RegularTable.java:256) at org.h2.store.PageStore.addMeta(PageStore.java:1660) at org.h2.store.PageStore.redo(PageStore.java:1495) at org.h2.store.PageLog.recover(PageLog.java:319) at org.h2.store.PageStore.recover(PageStore.java:1358) at org.h2.store.PageStore.openExisting(PageStore.java:355) at org.h2.store.PageStore.open(PageStore.java:279) at org.h2.engine.Database.getPageStore(Database.java:2118) at org.h2.engine.Database.open(Database.java:577) at org.h2.engine.Database.openDatabase(Database.java:222) at org.h2.engine.Database.<init>(Database.java:217) at org.h2.engine.Engine.openSession(Engine.java:56) at org.h2.engine.Engine.openSession(Engine.java:159) at org.h2.engine.Engine.createSessionAndValidate(Engine.java:138) at org.h2.engine.Engine.createSession(Engine.java:121) at org.h2.engine.Engine.createSession(Engine.java:28) at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:305) at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:110) at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:94) at org.h2.Driver.connect(Driver.java:72) at org.h2.server.web.WebServer.getConnection(WebServer.java:644) at org.h2.server.web.WebApp.test(WebApp.java:839) at org.h2.server.web.WebApp.process(WebApp.java:215) at org.h2.server.web.WebApp.processRequest(WebApp.java:164) at org.h2.server.web.WebThread.process(WebThread.java:137) 1852/27486 (6%): at org.h2.table.Table.compareTypeSave(Table.java:1035) at org.h2.index.BaseIndex.compareValues(BaseIndex.java:244) at org.h2.index.BaseIndex.compareRows(BaseIndex.java:176) at org.h2.table.RegularTable$1.compare(RegularTable.java:323) at org.h2.table.RegularTable$1.compare(RegularTable.java:322) at java.util.Arrays.mergeSort(Unknown Source) at java.util.Arrays.sort(Unknown Source) at java.util.Collections.sort(Unknown Source) at org.h2.table.RegularTable.addRowsToIndex(RegularTable.java:321) at org.h2.table.RegularTable.addIndex(RegularTable.java:256) at org.h2.store.PageStore.addMeta(PageStore.java:1660) at org.h2.store.PageStore.redo(PageStore.java:1495) at org.h2.store.PageLog.recover(PageLog.java:319) at org.h2.store.PageStore.recover(PageStore.java:1358) at org.h2.store.PageStore.openExisting(PageStore.java:355) at org.h2.store.PageStore.open(PageStore.java:279) at org.h2.engine.Database.getPageStore(Database.java:2118) at org.h2.engine.Database.open(Database.java:577) at org.h2.engine.Database.openDatabase(Database.java:222) at org.h2.engine.Database.<init>(Database.java:217) at org.h2.engine.Engine.openSession(Engine.java:56) at org.h2.engine.Engine.openSession(Engine.java:159) at org.h2.engine.Engine.createSessionAndValidate(Engine.java:138) at org.h2.engine.Engine.createSession(Engine.java:121) at org.h2.engine.Engine.createSession(Engine.java:28) at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:305) at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:110) at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:94) at org.h2.Driver.connect(Driver.java:72) at org.h2.server.web.WebServer.getConnection(WebServer.java:644) at org.h2.server.web.WebApp.test(WebApp.java:839) at org.h2.server.web.WebApp.process(WebApp.java:215) packages: 53%: org.h2.store 17%: org.h2.index 15%: org.h2.table . Profiler: top 3 stack trace(s) of 598 ms [build-163]: 70/201 (34%): at java.io.FileDescriptor.sync(Native Method) at org.h2.store.fs.FileDisk.force(FilePathDisk.java:387) at org.h2.store.FileStore.sync(FileStore.java:413) at org.h2.store.PageStore.writeVariableHeader(PageStore.java:940) at org.h2.store.PageStore.setLogFirstPage(PageStore.java:934) at org.h2.store.PageLog.removeUntil(PageLog.java:702) at org.h2.store.PageStore.checkpoint(PageStore.java:427) at org.h2.store.PageStore.compact(PageStore.java:597) at org.h2.engine.Database.closeOpenFilesAndUnlock(Database.java:1198) at org.h2.engine.Database.close(Database.java:1148) at org.h2.engine.Database.removeSession(Database.java:1027) at org.h2.engine.Session.close(Session.java:563) at org.h2.jdbc.JdbcConnection.close(JdbcConnection.java:365) at org.h2.util.JdbcUtils.closeSilently(JdbcUtils.java:79) at org.h2.server.web.WebApp.test(WebApp.java:847) at org.h2.server.web.WebApp.process(WebApp.java:215) at org.h2.server.web.WebApp.processRequest(WebApp.java:164) at org.h2.server.web.WebThread.process(WebThread.java:137) at org.h2.server.web.WebThread.run(WebThread.java:93) at java.lang.Thread.run(Unknown Source) 56/201 (27%): at java.io.FileDescriptor.sync(Native Method) at org.h2.store.fs.FileDisk.force(FilePathDisk.java:387) at org.h2.store.FileStore.sync(FileStore.java:413) at org.h2.store.PageStore.writeVariableHeader(PageStore.java:940) at org.h2.store.PageStore.setLogFirstPage(PageStore.java:934) at org.h2.store.PageStore.compact(PageStore.java:610) at org.h2.engine.Database.closeOpenFilesAndUnlock(Database.java:1198) at org.h2.engine.Database.close(Database.java:1148) at org.h2.engine.Database.removeSession(Database.java:1027) at org.h2.engine.Session.close(Session.java:563) at org.h2.jdbc.JdbcConnection.close(JdbcConnection.java:365) at org.h2.util.JdbcUtils.closeSilently(JdbcUtils.java:79) at org.h2.server.web.WebApp.test(WebApp.java:847) at org.h2.server.web.WebApp.process(WebApp.java:215) at org.h2.server.web.WebApp.processRequest(WebApp.java:164) at org.h2.server.web.WebThread.process(WebThread.java:137) at org.h2.server.web.WebThread.run(WebThread.java:93) at java.lang.Thread.run(Unknown Source) 25/201 (12%): at java.io.FileDescriptor.sync(Native Method) at org.h2.store.fs.FileDisk.force(FilePathDisk.java:387) at org.h2.store.FileStore.sync(FileStore.java:413) at org.h2.store.PageStore.writeVariableHeader(PageStore.java:940) at org.h2.store.PageStore.setLogFirstPage(PageStore.java:934) at org.h2.store.PageLog.openForWriting(PageLog.java:188) at org.h2.store.PageStore.compact(PageStore.java:489) at org.h2.engine.Database.closeOpenFilesAndUnlock(Database.java:1198) at org.h2.engine.Database.close(Database.java:1148) at org.h2.engine.Database.removeSession(Database.java:1027) at org.h2.engine.Session.close(Session.java:563) at org.h2.jdbc.JdbcConnection.close(JdbcConnection.java:365) at org.h2.util.JdbcUtils.closeSilently(JdbcUtils.java:79) at org.h2.server.web.WebApp.test(WebApp.java:847) at org.h2.server.web.WebApp.process(WebApp.java:215) at org.h2.server.web.WebApp.processRequest(WebApp.java:164) at org.h2.server.web.WebThread.process(WebThread.java:137) at org.h2.server.web.WebThread.run(WebThread.java:93) at java.lang.Thread.run(Unknown Source) packages: 90%: org.h2.store.fs 4%: org.h2.util 2%: org.h2.store -- You received this message because you are subscribed to the Google Groups "H2 Database" group. To view this discussion on the web visit https://groups.google.com/d/msg/h2-database/-/-wqK8yFCa-EJ. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/h2-database?hl=en.
