Hi Venkatesh, I attached an interim patch to HIVE-1681. Please try applying this and let me know if it fixes your problem.
Thanks. Carl On Fri, Oct 1, 2010 at 1:31 AM, Carl Steinbach <c...@cloudera.com> wrote: > 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 >> > >> > >