Hi Carl, Awesome, we'll try this and let you know.
Sincerely appreciated, Venkatesh On Fri, Oct 1, 2010 at 2:21 PM, Carl Steinbach <c...@cloudera.com> wrote: > 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 >>> > >> > > -- Regards, Venkatesh “Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away.” - Antoine de Saint-Exupéry