[ 
https://issues.apache.org/jira/browse/HIVE-19994?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16850147#comment-16850147
 ] 

Karthik Manamcheri commented on HIVE-19994:
-------------------------------------------

I think I understand what is happening, but I don't know why it is happening! 
Basically in my logs I can see that the table delete is proceeding normally 
until it tries to remove the MColumnDescriptor. Removal of MColumnDescriptor 
takes two SQL queries
 * DELETE FROM `COLUMNS_V2` WHERE `CD_ID`=757869
 DELETE FROM `CDS` WHERE `CD_ID`=757869
 * COLUMNS_V2 and CDS are related by a foreign key and the error happens here.

My team's current thought is that the problem resides in the datanucleus layer 
and it's handling of the persistence during delete. One of the fixes we tried 
and it seems to help is to add "<foreign-key name="COLUMNS_V2_FK" 
delete-action="cascade"/>" to package.jdo and this forces the datanuclues layer 
to deal with the foreign key constraint. If you don't have this in package.jdo, 
it delegates the foreign key checks to the underlying db.

> Impala "drop table" fails with Hive Metastore exception
> -------------------------------------------------------
>
>                 Key: HIVE-19994
>                 URL: https://issues.apache.org/jira/browse/HIVE-19994
>             Project: Hive
>          Issue Type: Bug
>          Components: Metastore
>    Affects Versions: 1.1.0
>         Environment: Hadoop distribution: CHD 5.14.2
> Hive version:  1.1.0-cdh5.14.2
> Impala version: 2.11.0
> Kudu version: 1.6.0
>  
>            Reporter: Rodion Myronov
>            Priority: Major
>         Attachments: metastore_exception.txt
>
>
> "drop table" statement in Impala shell fails with the following exception:
> {{ImpalaRuntimeException: Error making 'dropTable' RPC to Hive Metastore: 
> CAUSED BY: MetaException: One or more instances could not be deleted}}
>  
> Metastore log file shows that "DELETE FROM `PARTITION_KEYS` WHERE `TBL_ID`=?" 
> statement fails because of foreign key violation (full stacktrace will be 
> added):
> {{Caused by: java.sql.BatchUpdateException: Cannot delete or update a parent 
> row: a foreign key constraint fails 
> ("hivemetastore_emtig3vtq7qp1tiooo07sb70ud"."COLUMNS_V2", CONSTRAINT 
> "COLUMNS_V2_FK1" FOREIGN KEY ("CD_ID") REFERENCES "CDS" ("CD_ID"))}}
>  
> The table is created and then dropped as a part of ETL process executed every 
> hour. Most of the time it works fine, the issue is not reproducible at will.
> Table creation script is:
> {{CREATE TABLE IF NOT EXISTS price_advisor_ouput.t_switching_coef_source}}
> {{( }}
> {{...fields here...}}
> {{PRIMARY KEY (...PK field here...)}}
> {{)}}
> {{PARTITION BY HASH(matrix_pcd) PARTITIONS 3}}
> {{STORED AS KUDU;}}
>  
> Not sure how to approach diagnostics and fix, so any input will be really 
> appreciated. 
> Thanks in advance, 
> Rodion Myronov



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to