Hi,

The ArrayIndexOutOfBoundsException was due to a bug in the MVStore code,
and the MVStore is beta.

> how am I suppose to code for this?

You can't really code for this I'm afraid.

> I cannot just shutdown and warn the user that all is lost.

Well, except if there is a backup (if you periodically create backups of
the database).

> Do all exceptions indicate that a rollback is pointless or just ones on
the commit?

It depends on the exception and the bug... it's hard to say.

> and assume that when all the kinks are worked out that it will never
happen?

This particular problem is now solved, but of course there is a risk of
similar bugs (which should get smaller over time, as the code is tested
more and more). I don't think we can ensure that such bugs will throw an
exception during a specific phase (during update / insert, but not during
commit).

Regards,
Thomas

On Thu, Jan 8, 2015 at 3:00 PM, Kenton Garner <kenton.gar...@gmail.com
<javascript:_e(%7B%7D,'cvml','kenton.gar...@gmail.com');>> wrote:

> Fair enough, however, in this case the database continued to function
> after the retry - and the other connected applications did not experience
> any issues.  The only indication that the "database was corrupt" was the
> exception thrown by the commit().
>
> From my perspective, how am I suppose to code for this?  I cannot just
> shutdown and warn the user that all is lost.
>  - Do all exceptions indicate that a rollback is pointless or just ones on
> the commit?
>  - Are their exceptions that can be rolled back and recovered from?
>  - Are you suggesting that we just caulk this up to beta code and assume
> that when all the kinks are worked out that it will never happen?
>
> I guess I am concerned that there is something in the commit logic that
> allows the pending transactions to be stored even on a thrown exception.  I
> can see where this may fall into one of those impossible problems to solve,
> but had the exception been thrown on a SELECT or UPDATE statement other
> than the COMMIT would the pending transactions still have been persisted -
> or would the rollback have been possible/automatic?
>
>
> On Thu, Jan 8, 2015 at 1:13 AM, Noel Grandin <noelgran...@gmail.com
> <javascript:_e(%7B%7D,'cvml','noelgran...@gmail.com');>> wrote:
>
>>
>>
>> On 2015-01-07 06:08 PM, Kenton Garner wrote:
>>
>>>
>>> I am still concerned about the problem that I had with the commit()
>>> throwing an exception while actually commiting the
>>> changes and then not allowing the rollback....  ( from the previous
>>> reply to this discussion )  Any thoughts on that yet?
>>>
>>>
>> Once the DB is corrupted, the possibility of doing a rollback is
>> basically non-existent. Rollback is there to allow you to recover from
>> application level problems, but it can't do much about corruption in the
>> core DB structures.
>>
>>
>> --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "H2 Database" group.
>> To unsubscribe from this topic, visit https://groups.google.com/d/
>> topic/h2-database/u216BjxNf9U/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> h2-database+unsubscr...@googlegroups.com
>> <javascript:_e(%7B%7D,'cvml','h2-database%2bunsubscr...@googlegroups.com');>
>> .
>> To post to this group, send email to h2-database@googlegroups.com
>> <javascript:_e(%7B%7D,'cvml','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
> <javascript:_e(%7B%7D,'cvml','h2-database%2bunsubscr...@googlegroups.com');>
> .
> To post to this group, send email to h2-database@googlegroups.com
> <javascript:_e(%7B%7D,'cvml','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