Hi Venkatesh, I filed HIVE-1679 which covers the issue I described earlier as well as HIVE-1681 which I think is the real root cause of the problem you are seeing. Please see HIVE-1681 for more information.
Thanks. Carl On Fri, Oct 1, 2010 at 12:51 AM, S. Venkatesh <venkat...@innerzeal.com>wrote: > 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 > > >