We are seeing this exception:

Internal error processing create_table
java.lang.RuntimeException: Commit is called, but transaction is not active.
Either there are mismatching open and close calls or rollback was called in the
same transaction

Carl, this suggests that the transaction is not active when commit was
called. I concur with your observation.

Venkatesh

On Fri, Oct 1, 2010 at 12:21 PM, Carl Steinbach <c...@cloudera.com> wrote:
> It looks like the root of the problem is that the code in ObjectStore is not
> detecting failed transactions, and hence is not rolling them back.
> Using JDO with locally managed transactions, you're expected to do something
> like this:
> Transaction tx = pm.currentTransaction();
> try {
>   tx.begin();
>   { do some stuff }
>   tx.commit();
> } finally {
>   if (tx.isActive()) {
>     tx.rollback();
>   }
> }
> But the code in ObjectStore instead wraps these methods in openTransaction()
> and commitTransaction(). After calling tx.commit()  the method
> commitTransaction() should then call tx.isActive() to check if the
> transaction failed and call rollback if appropriate. Currently it doesn't do
> this and instead always returns false.
> I'm filing a ticket against this now.
> Thanks.
> Carl
>

Reply via email to