Hi,

Thanks a lot! Yes, I can reproduce the problem now. I guess it is related
to concurrency, but I'm not completely sure; I will check. Also annoying is
that the error is only written to the .trace.db file, but not in the main
thread, so the error is hidden; I will change this as well.

Regards,
Thomas



On Tue, Jul 16, 2013 at 4:11 PM, Nicolas Fortin (OrbisGIS) <
[email protected] <javascript:_e({}, 'cvml', '[email protected]');>>wrote:

> Hi Thomas,
>
> Even with your last MVStore I still have the corruption issue:
>
> The following branch is the merge of your last change and my last changes:
> https://github.com/nicolas-f/h2database/tree/h2-spatial
>
> The last unsaved page count is now 687 instead of 688 but a trace file is
> created:
>
>> 07-16 16:08:53 database: flush
>> java.lang.IllegalStateException: Corrupt page count -1 [1.3.172/3]
>>     at
>> org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:691)
>>     at org.h2.mvstore.MVStore.applyFreedPages(MVStore.java:1034)
>>     at org.h2.mvstore.MVStore.store(MVStore.java:900)
>>     at org.h2.mvstore.MVStore.beforeWrite(MVStore.java:1524)
>>     at org.h2.mvstore.MVMap.beforeWrite(MVMap.java:930)
>>     at org.h2.mvstore.MVMap.remove(MVMap.java:545)
>>     at org.h2.mvstore.MVStore.copyLive(MVStore.java:1268)
>>     at org.h2.mvstore.MVStore.compact(MVStore.java:1228)
>>     at org.h2.mvstore.db.MVTableEngine$Store.store(MVTableEngine.java:162)
>>     at org.h2.engine.Database.flush(Database.java:1821)
>>
>>     at org.h2.store.WriterThread.run(WriterThread.java:87)
>>     at java.lang.Thread.run(Thread.java:662)
>>
>
> Best regards,
>
> -Nicolas Fortin
> GIS Workshop
> IRSTV FR CNRS 2488
>
> Le mardi 16 juillet 2013 08:42:15 UTC+2, Thomas Mueller a écrit :
>>
>> Hi,
>>
>> Hm, I couldn't reproduce the problem so far. What I did was run you test
>> with the H2 trunk. At first, I got an exception because Geometry
>> serialization for the MVTableEngine wasn't implemented yet, I guess you
>> used a patched version of H2. But then I have implemented that missing
>> piece (it is committed in the trunk), and now the test works with the
>> following output:
>>
>> 0 store.getUnsavedPageCount()==**616
>> 1 store.getUnsavedPageCount()==5
>> 2 store.getUnsavedPageCount()==5
>> ...
>> 34 store.getUnsavedPageCount()==5
>> 35 store.getUnsavedPageCount()==5
>> 36 store.getUnsavedPageCount()==3
>> 37 store.getUnsavedPageCount()==3
>> 38 store.getUnsavedPageCount()==2
>> 39 store.getUnsavedPageCount()==**22
>> 40 store.getUnsavedPageCount()==2
>> 41 store.getUnsavedPageCount()==2
>> 42 store.getUnsavedPageCount()==2
>> 43 store.getUnsavedPageCount()==2
>> 44 store.getUnsavedPageCount()==3
>> 45 store.getUnsavedPageCount()==4
>>
>> Regards,
>> Thomas
>>
>  --
> 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] <javascript:_e({},
> 'cvml', 'h2-database%[email protected]');>.
> To post to this group, send email to 
> [email protected]<javascript:_e({}, 'cvml', 
> '[email protected]');>
> .
> Visit this group at http://groups.google.com/group/h2-database.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
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 http://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to