[ https://issues.apache.org/jira/browse/CARBONDATA-1763?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ramakrishna S updated CARBONDATA-1763: -------------------------------------- Description: Steps: 1. Create table and load with data 2. Run update query on the table - this will take table metalock 3. In parallel run the pre-aggregate table create step - this will not be allowed due to table lock 4. Rerun pre-aggegate table create step *+Expected:+* Pre-aggregate table should be created *+Actual:+* Pre-aggregate table creation fails +Create, Load & Update+: 0: jdbc:hive2://10.18.98.136:23040> create table if not exists lineitem4(L_SHIPDATE string,L_SHIPMODE string,L_SHIPINSTRUCT string,L_RETURNFLAG string,L_RECEIPTDATE string,L_ORDERKEY string,L_PARTKEY string,L_SUPPKEY string,L_LINENUMBER int,L_QUANTITY double,L_EXTENDEDPRICE double,L_DISCOUNT double,L_TAX double,L_LINESTATUS string,L_COMMITDATE string,L_COMMENT string) STORED BY 'org.apache.carbondata.format' TBLPROPERTIES ('table_blocksize'='128','NO_INVERTED_INDEX'='L_SHIPDATE,L_SHIPMODE,L_SHIPINSTRUCT,L_RETURNFLAG,L_RECEIPTDATE,L_ORDERKEY,L_PARTKEY,L_SUPPKEY','sort_columns'=''); +---------+--+ | Result | +---------+--+ +---------+--+ No rows selected (0.266 seconds) 0: jdbc:hive2://10.18.98.136:23040> load data inpath "hdfs://hacluster/user/test/lineitem.tbl.5" into table lineitem4 options('DELIMITER'='|','FILEHEADER'='L_ORDERKEY,L_PARTKEY,L_SUPPKEY,L_LINENUMBER,L_QUANTITY,L_EXTENDEDPRICE,L_DISCOUNT,L_TAX,L_RETURNFLAG,L_LINESTATUS,L_SHIPDATE,L_COMMITDATE,L_RECEIPTDATE,L_SHIPINSTRUCT,L_SHIPMODE,L_COMMENT'); +---------+--+ | Result | +---------+--+ +---------+--+ No rows selected (6.331 seconds) 0: jdbc:hive2://10.18.98.136:23040> update lineitem4 set (l_linestatus) = ('xx'); +Create Datamap:+ 0: jdbc:hive2://10.18.98.136:23040> create datamap agr_lineitem4 ON TABLE lineitem4 USING "org.apache.carbondata.datamap.AggregateDataMapHandler" as select l_returnflag,l_linestatus,sum(l_quantity),avg(l_quantity),count(l_quantity) from lineitem4 group by l_returnflag, l_linestatus; Error: java.lang.RuntimeException: Acquire table lock failed after retry, please try after some time (state=,code=0) 0: jdbc:hive2://10.18.98.136:23040> select l_returnflag,l_linestatus,sum(l_quantity),avg(l_quantity),count(l_quantity) from lineitem4 group by l_returnflag, l_linestatus; +---------------+---------------+------------------+---------------------+--------------------+--+ | l_returnflag | l_linestatus | sum(l_quantity) | avg(l_quantity) | count(l_quantity) | +---------------+---------------+------------------+---------------------+--------------------+--+ | N | xx | 1.2863213E7 | 25.48745561614304 | 504688 | | A | xx | 6318125.0 | 25.506342144783375 | 247708 | | R | xx | 6321939.0 | 25.532459087898417 | 247604 | +---------------+---------------+------------------+---------------------+--------------------+--+ 3 rows selected (1.033 seconds) 0: jdbc:hive2://10.18.98.136:23040> create datamap agr_lineitem4 ON TABLE lineitem4 USING "org.apache.carbondata.datamap.AggregateDataMapHandler" as select l_returnflag,l_linestatus,sum(l_quantity),avg(l_quantity),count(l_quantity) from lineitem4 group by l_returnflag, l_linestatus; Error: java.lang.RuntimeException: Table [lineitem4_agr_lineitem4] already exists under database [test_db1] (state=,code=0) was: Steps: 1. Create table and load with large data create table if not exists lineitem4(L_SHIPDATE string,L_SHIPMODE string,L_SHIPINSTRUCT string,L_RETURNFLAG string,L_RECEIPTDATE string,L_ORDERKEY string,L_PARTKEY string,L_SUPPKEY string,L_LINENUMBER int,L_QUANTITY double,L_EXTENDEDPRICE double,L_DISCOUNT double,L_TAX double,L_LINESTATUS string,L_COMMITDATE string,L_COMMENT string) STORED BY 'org.apache.carbondata.format' TBLPROPERTIES ('table_blocksize'='128','NO_INVERTED_INDEX'='L_SHIPDATE,L_SHIPMODE,L_SHIPINSTRUCT,L_RETURNFLAG,L_RECEIPTDATE,L_ORDERKEY,L_PARTKEY,L_SUPPKEY','sort_columns'=''); load data inpath "hdfs://hacluster/user/test/lineitem.tbl.1" into table lineitem4 options('DELIMITER'='|','FILEHEADER'='L_ORDERKEY,L_PARTKEY,L_SUPPKEY,L_LINENUMBER,L_QUANTITY,L_EXTENDEDPRICE,L_DISCOUNT,L_TAX,L_RETURNFLAG,L_LINESTATUS,L_SHIPDATE,L_COMMITDATE,L_RECEIPTDATE,L_SHIPINSTRUCT,L_SHIPMODE,L_COMMENT'); 2. Create a pre-aggregate table create datamap agr_lineitem4 ON TABLE lineitem4 USING "org.apache.carbondata.datamap.AggregateDataMapHandler" as select L_RETURNFLAG,L_LINESTATUS,sum(L_QUANTITY),sum(L_EXTENDEDPRICE) from lineitem4 group by L_RETURNFLAG, L_LINESTATUS; 3. Run aggregate query at the same time select l_returnflag,l_linestatus,sum(l_quantity),sum(l_extendedprice) from lineitem4 group by l_returnflag, l_linestatus; *+Expected:+*: aggregate query should fetch data either from main table or pre-aggregate table. *+Actual:+* aggregate query does not return data until the pre-aggregate table is created 0: jdbc:hive2://10.18.98.48:23040> select l_returnflag,l_linestatus,sum(l_quantity),sum(l_extendedprice) from lineitem4 group by l_returnflag, l_linestatus; +---------------+---------------+------------------+-----------------------+--+ | l_returnflag | l_linestatus | sum(l_quantity) | sum(l_extendedprice) | +---------------+---------------+------------------+-----------------------+--+ +---------------+---------------+------------------+-----------------------+--+ No rows selected (1.74 seconds) 0: jdbc:hive2://10.18.98.48:23040> select l_returnflag,l_linestatus,sum(l_quantity),sum(l_extendedprice) from lineitem4 group by l_returnflag, l_linestatus; +---------------+---------------+------------------+-----------------------+--+ | l_returnflag | l_linestatus | sum(l_quantity) | sum(l_extendedprice) | +---------------+---------------+------------------+-----------------------+--+ +---------------+---------------+------------------+-----------------------+--+ No rows selected (0.746 seconds) 0: jdbc:hive2://10.18.98.48:23040> select l_returnflag,l_linestatus,sum(l_quantity),sum(l_extendedprice) from lineitem4 group by l_returnflag, l_linestatus; +---------------+---------------+------------------+------------------------+--+ | l_returnflag | l_linestatus | sum(l_quantity) | sum(l_extendedprice) | +---------------+---------------+------------------+------------------------+--+ | N | F | 2.9808092E7 | 4.471079473931997E10 | | A | F | 1.145546488E9 | 1.717580824169429E12 | | N | O | 2.31980219E9 | 3.4789002701143467E12 | | R | F | 1.146403932E9 | 1.7190627928317903E12 | +---------------+---------------+------------------+------------------------+--+ 4 rows selected (0.8 seconds) 0: jdbc:hive2://10.18.98.48:23040> select l_returnflag,l_linestatus,sum(l_quantity),sum(l_extendedprice) from lineitem4 group by l_returnflag, l_linestatus; +---------------+---------------+------------------+------------------------+--+ | l_returnflag | l_linestatus | sum(l_quantity) | sum(l_extendedprice) | +---------------+---------------+------------------+------------------------+--+ | N | F | 2.9808092E7 | 4.471079473931997E10 | | A | F | 1.145546488E9 | 1.717580824169429E12 | | N | O | 2.31980219E9 | 3.4789002701143467E12 | | R | F | 1.146403932E9 | 1.7190627928317903E12 | +---------------+---------------+------------------+------------------------+--+ > Carbon1.3.0-Pre-AggregateTable - Recreating a failed pre-aggregate table fails due to table exists > -------------------------------------------------------------------------------------------------- > > Key: CARBONDATA-1763 > URL: https://issues.apache.org/jira/browse/CARBONDATA-1763 > Project: CarbonData > Issue Type: Bug > Components: data-load > Affects Versions: 1.3.0 > Environment: Test - 3 node ant cluster > Reporter: Ramakrishna S > Assignee: Kunal Kapoor > Labels: DFX > Fix For: 1.3.0 > > > Steps: > 1. Create table and load with data > 2. Run update query on the table - this will take table metalock > 3. In parallel run the pre-aggregate table create step - this will not be allowed due to table lock > 4. Rerun pre-aggegate table create step > *+Expected:+* Pre-aggregate table should be created > *+Actual:+* Pre-aggregate table creation fails > +Create, Load & Update+: > 0: jdbc:hive2://10.18.98.136:23040> create table if not exists lineitem4(L_SHIPDATE string,L_SHIPMODE string,L_SHIPINSTRUCT string,L_RETURNFLAG string,L_RECEIPTDATE string,L_ORDERKEY string,L_PARTKEY string,L_SUPPKEY string,L_LINENUMBER int,L_QUANTITY double,L_EXTENDEDPRICE double,L_DISCOUNT double,L_TAX double,L_LINESTATUS string,L_COMMITDATE string,L_COMMENT string) STORED BY 'org.apache.carbondata.format' TBLPROPERTIES ('table_blocksize'='128','NO_INVERTED_INDEX'='L_SHIPDATE,L_SHIPMODE,L_SHIPINSTRUCT,L_RETURNFLAG,L_RECEIPTDATE,L_ORDERKEY,L_PARTKEY,L_SUPPKEY','sort_columns'=''); > +---------+--+ > | Result | > +---------+--+ > +---------+--+ > No rows selected (0.266 seconds) > 0: jdbc:hive2://10.18.98.136:23040> load data inpath "hdfs://hacluster/user/test/lineitem.tbl.5" into table lineitem4 options('DELIMITER'='|','FILEHEADER'='L_ORDERKEY,L_PARTKEY,L_SUPPKEY,L_LINENUMBER,L_QUANTITY,L_EXTENDEDPRICE,L_DISCOUNT,L_TAX,L_RETURNFLAG,L_LINESTATUS,L_SHIPDATE,L_COMMITDATE,L_RECEIPTDATE,L_SHIPINSTRUCT,L_SHIPMODE,L_COMMENT'); > +---------+--+ > | Result | > +---------+--+ > +---------+--+ > No rows selected (6.331 seconds) > 0: jdbc:hive2://10.18.98.136:23040> update lineitem4 set (l_linestatus) = ('xx'); > +Create Datamap:+ > 0: jdbc:hive2://10.18.98.136:23040> create datamap agr_lineitem4 ON TABLE lineitem4 USING "org.apache.carbondata.datamap.AggregateDataMapHandler" as select l_returnflag,l_linestatus,sum(l_quantity),avg(l_quantity),count(l_quantity) from lineitem4 group by l_returnflag, l_linestatus; > Error: java.lang.RuntimeException: Acquire table lock failed after retry, please try after some time (state=,code=0) > 0: jdbc:hive2://10.18.98.136:23040> select l_returnflag,l_linestatus,sum(l_quantity),avg(l_quantity),count(l_quantity) from lineitem4 group by l_returnflag, l_linestatus; > +---------------+---------------+------------------+---------------------+--------------------+--+ > | l_returnflag | l_linestatus | sum(l_quantity) | avg(l_quantity) | count(l_quantity) | > +---------------+---------------+------------------+---------------------+--------------------+--+ > | N | xx | 1.2863213E7 | 25.48745561614304 | 504688 | > | A | xx | 6318125.0 | 25.506342144783375 | 247708 | > | R | xx | 6321939.0 | 25.532459087898417 | 247604 | > +---------------+---------------+------------------+---------------------+--------------------+--+ > 3 rows selected (1.033 seconds) > 0: jdbc:hive2://10.18.98.136:23040> create datamap agr_lineitem4 ON TABLE lineitem4 USING "org.apache.carbondata.datamap.AggregateDataMapHandler" as select l_returnflag,l_linestatus,sum(l_quantity),avg(l_quantity),count(l_quantity) from lineitem4 group by l_returnflag, l_linestatus; > Error: java.lang.RuntimeException: Table [lineitem4_agr_lineitem4] already exists under database [test_db1] (state=,code=0) -- This message was sent by Atlassian JIRA (v6.4.14#64029) |
Free forum by Nabble | Edit this page |