Hi,

Thanks a lot! I have analyzed the database file, and I think I know what
the problem is. It looks like the disk (or operating system) re-ordered
write operations, so that changes later in time (and later in the file)
were written, but one earlier change (both in time and in the file) was not
written.

(Detail for later reference: various entries (in chunks 'aad4' to 'aadb',
from 16:05:10.378 to 16:05:13.916) think that chunk 'aad3' (later than
16:05:09.369, earlier than 16:05:10.378) is in block 2, but block 2
actually contains the earlier chunk 'aa7b' from 16:04:24.742).

The MVStore should detect this and automatically discard chunks that were
written later than 16:05:10.378. It does not currently do that, this is a
problem. I will implement this for the next release.

I think what also can happen is write re-ordering causes a file to be
truncated too early. This would explain a different corruption problem. The
fix for that would need to be different however (truncation would need to
wait for 45 seconds).

Regards,
Thomas




On Thursday, May 7, 2015, Mikael Nordenberg <mik...@ikanos.se> wrote:

> Same corruption happened again today on a clients computer when power
> disappeared.
> Will try to reproduce tomorrow in our lab.
>
> /Mikael
>
> Den torsdag 7 maj 2015 kl. 15:42:48 UTC+2 skrev Mikael Nordenberg:
>>
>> Hi,
>>
>> We are using H2 version 1.4.185 with mv-store.
>> After an unclean shutdown the database file was corrupt. The database is
>> attached.
>> Opening the database results in http://pastebin.com/PXceifPx
>>
>> The database is used from a single thread.
>> Hope this gives anything...
>>
>> /Mikael
>>
>  --
> 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 h2-database+unsubscr...@googlegroups.com.
> To post to this group, send email to h2-database@googlegroups.com.
> Visit this group at http://groups.google.com/group/h2-database.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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 h2-database+unsubscr...@googlegroups.com.
To post to this group, send email to h2-database@googlegroups.com.
Visit this group at http://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.

Reply via email to