Everything was running fine, then the service just died this morning
When trying to restart the service, I get:
org.h2.jdbc.JdbcSQLException: File corrupted while reading record: "/usr/local/FlashphonerWebCallServer-5.0.2570/database/wcs_manager.mv.db". Possible solution: use the recovery tool [90030-184]
I downloaded the wcs_manager db file and tried to recover the file locally:
Command line:
java -cp h2*.jar org.h2.tools.Recover -dir "~" -db "wcs_manager"
Result:
Chunk 654720 is invalid [1.4.196/6]
java.lang.IllegalStateException: Chunk 654720 is invalid [1.4.196/6]
at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:765)
at org.h2.mvstore.MVStore.getChunkIfFound(MVStore.java:964)
at org.h2.mvstore.MVStore.getChunk(MVStore.java:935)
at org.h2.mvstore.MVStore.readPage(MVStore.java:1943)
at org.h2.mvstore.MVMap.readPage(MVMap.java:741)
at org.h2.mvstore.Page.getChildPage(Page.java:217)
at org.h2.mvstore.MVMap.binarySearch(MVMap.java:473)
at org.h2.mvstore.MVMap.binarySearch(MVMap.java:474)
at org.h2.mvstore.MVMap.get(MVMap.java:455)
at org.h2.mvstore.MVStore.getChunkIfFound(MVStore.java:958)
at org.h2.mvstore.MVStore.getChunk(MVStore.java:935)
at org.h2.mvstore.MVStore.readPage(MVStore.java:1943)
at org.h2.mvstore.MVMap.readPage(MVMap.java:741)
at org.h2.mvstore.Page.getChildPage(Page.java:217)
at org.h2.mvstore.Cursor.fetchNext(Cursor.java:150)
at org.h2.mvstore.Cursor.next(Cursor.java:50)
at org.h2.mvstore.MVStore.loadChunkMeta(MVStore.java:695)
at org.h2.mvstore.MVStore.readStoreHeader(MVStore.java:675)
at org.h2.mvstore.MVStore.<init>(MVStore.java:358)
at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2930)
at org.h2.mvstore.MVStoreTool.info(MVStoreTool.java:346)
at org.h2.tools.Recover.process(Recover.java:346)
at org.h2.tools.Recover.runTool(Recover.java:196)
at org.h2.server.web.WebApp.tools(WebApp.java:400)
at org.h2.server.web.WebApp.process(WebApp.java:240)
at org.h2.server.web.WebApp.processRequest(WebApp.java:169)
at org.h2.server.web.WebThread.process(WebThread.java:133)
at org.h2.server.web.WebThread.run(WebThread.java:89)
at java.lang.Thread.run(Unknown Source)
When trying to restart the service, I get:
org.h2.jdbc.JdbcSQLException: File corrupted while reading record: "/usr/local/FlashphonerWebCallServer-5.0.2570/database/wcs_manager.mv.db". Possible solution: use the recovery tool [90030-184]
I downloaded the wcs_manager db file and tried to recover the file locally:
Command line:
java -cp h2*.jar org.h2.tools.Recover -dir "~" -db "wcs_manager"
Result:
Chunk 654720 is invalid [1.4.196/6]
java.lang.IllegalStateException: Chunk 654720 is invalid [1.4.196/6]
at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:765)
at org.h2.mvstore.MVStore.getChunkIfFound(MVStore.java:964)
at org.h2.mvstore.MVStore.getChunk(MVStore.java:935)
at org.h2.mvstore.MVStore.readPage(MVStore.java:1943)
at org.h2.mvstore.MVMap.readPage(MVMap.java:741)
at org.h2.mvstore.Page.getChildPage(Page.java:217)
at org.h2.mvstore.MVMap.binarySearch(MVMap.java:473)
at org.h2.mvstore.MVMap.binarySearch(MVMap.java:474)
at org.h2.mvstore.MVMap.get(MVMap.java:455)
at org.h2.mvstore.MVStore.getChunkIfFound(MVStore.java:958)
at org.h2.mvstore.MVStore.getChunk(MVStore.java:935)
at org.h2.mvstore.MVStore.readPage(MVStore.java:1943)
at org.h2.mvstore.MVMap.readPage(MVMap.java:741)
at org.h2.mvstore.Page.getChildPage(Page.java:217)
at org.h2.mvstore.Cursor.fetchNext(Cursor.java:150)
at org.h2.mvstore.Cursor.next(Cursor.java:50)
at org.h2.mvstore.MVStore.loadChunkMeta(MVStore.java:695)
at org.h2.mvstore.MVStore.readStoreHeader(MVStore.java:675)
at org.h2.mvstore.MVStore.<init>(MVStore.java:358)
at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2930)
at org.h2.mvstore.MVStoreTool.info(MVStoreTool.java:346)
at org.h2.tools.Recover.process(Recover.java:346)
at org.h2.tools.Recover.runTool(Recover.java:196)
at org.h2.server.web.WebApp.tools(WebApp.java:400)
at org.h2.server.web.WebApp.process(WebApp.java:240)
at org.h2.server.web.WebApp.processRequest(WebApp.java:169)
at org.h2.server.web.WebThread.process(WebThread.java:133)
at org.h2.server.web.WebThread.run(WebThread.java:89)
at java.lang.Thread.run(Unknown Source)