hive-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "S. Venkatesh" <venkat...@innerzeal.com>
Subject Re: Create table as select fails with error "Error in metadata: org.apache.thrift.TApplicationException"
Date Fri, 01 Oct 2010 09:16:13 GMT
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 <carl@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 <carl@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 <venkatesh@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 <carl@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

Mime
View raw message