You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Marton Bod (Jira)" <ji...@apache.org> on 2022/03/10 11:13:00 UTC

[jira] [Commented] (HIVE-25989) CTLT HBaseStorageHandler is dropping underlying HBase table when failed

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

Marton Bod commented on HIVE-25989:
-----------------------------------

Pushed to master. Thanks [~pvary] for the review and [~nareshpr] for reporting the issue!

> CTLT HBaseStorageHandler is dropping underlying HBase table when failed
> -----------------------------------------------------------------------
>
>                 Key: HIVE-25989
>                 URL: https://issues.apache.org/jira/browse/HIVE-25989
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Naresh P R
>            Assignee: Marton Bod
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 2h 40m
>  Remaining Estimate: 0h
>
> With hive.strict.managed.tables & hive.create.as.acid, 
> Hive-Hbase rollback code is assuming it is a createTable failure instead of CTLT & removing underlying hbase table while rolling back at here.
> [https://github.com/apache/hive/blob/master/hbase-handler/src/java/org/apache/hadoop/hive/hbase/HBaseMetaHook.java#L187-L195]
>  
> Repro
>  
> {code:java}
> hbase
> =====
> hbase shell
> create 'hbase_hive_table', 'cf'
> beeline
> =======
> set hive.support.concurrency=true;
> set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;
> set hive.strict.managed.tables=true;
> set hive.create.as.acid=true;
> set hive.create.as.insert.only=true;
> set hive.default.fileformat.managed=ORC;
> > CREATE EXTERNAL TABLE `hbase_hive_table`(                       
>    `key` int COMMENT '',                            
>    `value` string COMMENT '')                       
>  ROW FORMAT SERDE                                   
>    'org.apache.hadoop.hive.hbase.HBaseSerDe'        
>  STORED BY                                          
>    'org.apache.hadoop.hive.hbase.HBaseStorageHandler'  
>  WITH SERDEPROPERTIES (                             
>    'hbase.columns.mapping'=':key,cf:cf')                      
>  TBLPROPERTIES ('hbase.table.name'='hbase_hive_table');
> > select * from hbase_hive_table;
> +-----------------------+-------------------------+
> | hbase_hive_table.key  | hbase_hive_table.value  |
> +-----------------------+-------------------------+
> +-----------------------+-------------------------+
> > create table new_hbase_hive_table like hbase_hive_table;
> Caused by: org.apache.hadoop.hive.metastore.api.MetaException: The table must be stored using an ACID compliant format (such as ORC): default.new_hbase_hive_table
> > select * from hbase_hive_table;
> Error: java.io.IOException: org.apache.hadoop.hbase.TableNotFoundException: hbase_hive_table
> {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)