Hello,
I'm using MVStore at the work. The main app runs on CentOS on VM within my pc. On Sept. 21, I rebooted my pc to update windows. I thought VM was set up properly so that it'd receive soft shutdown when the host is rebooting. But apparently it was not, and as a result, the VM was hard powered off. To my surprise, one of the MVStore became corrupt, and cannot be open. details: + innermost exception 0: java.lang.IllegalStateException: File corrupted in chunk 93402, expected page length 4..768, got 98267 [1.4.196/6] + message: File corrupted in chunk 93402, expected page length 4..768, got 98267 [1.4.196/6] at + + org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:765) + + org.h2.mvstore.Page.read(Page.java:649) + + org.h2.mvstore.Page.read(Page.java:195) + + org.h2.mvstore.MVStore.readPage(MVStore.java:1952) + + org.h2.mvstore.MVMap.readPage(MVMap.java:741) + + org.h2.mvstore.Page.getChildPage(Page.java:217) + + org.h2.mvstore.Cursor.min(Cursor.java:129) + + org.h2.mvstore.Cursor.hasNext(Cursor.java:36) + + org.h2.mvstore.MVStore.loadChunkMeta(MVStore.java:694) + + org.h2.mvstore.MVStore.readStoreHeader(MVStore.java:675) + + org.h2.mvstore.MVStore.<init>(MVStore.java:358) + + org.h2.mvstore.MVStore.open(MVStore.java:395) ... - The mvstore file is 10,899,456 bytes and I can provide it if necessary. - custom data types and serialization using google protocol buffer is used extensively. My code can be provided if necessary. mvstore version: h2-1.4.196.jar JDK jdk1.8.0_73 VM OS $ uname -a Linux golworkvm3 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux $ cat /etc/centos-release CentOS Linux release 7.3.1611 (Core) ------------------------------------- And here come my questions. (i) Is it really corrupt? If not, how do I open this file? I don't mind losing some of the last transactions of course. (ii) Is this the correct expected behavior of MVStore when the system is powered off? Thanks in advance for any help. Cheers, Jahwan -- You received this message because you are subscribed to the Google Groups "H2 Database" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/h2-database. For more options, visit https://groups.google.com/d/optout.
