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.

Reply via email to