You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Rajesh Balamohan (JIRA)" <ji...@apache.org> on 2015/09/04 01:45:46 UTC
[jira] [Resolved] (HIVE-11725) Delete on ACID enabled table
provides wrong results
[ https://issues.apache.org/jira/browse/HIVE-11725?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rajesh Balamohan resolved HIVE-11725.
-------------------------------------
Resolution: Invalid
> Delete on ACID enabled table provides wrong results
> ---------------------------------------------------
>
> Key: HIVE-11725
> URL: https://issues.apache.org/jira/browse/HIVE-11725
> Project: Hive
> Issue Type: Bug
> Components: Transactions
> Reporter: Rajesh Balamohan
> Assignee: Eugene Koifman
>
> This is based on the master codebase (last commit: 492c8b1d88ffcb68ba4f77a3a49ae8fc768cdd7c)
> Created a table with TBLPROPERTIES("transactional"="true", "NO_AUTO_COMPACTION"="true"). Populated bunch of records in the table and deleted few of them. Select query after delete does not seem to consider the deleted records.
> {noformat}
> set hive.support.concurrency=true;
> set hive.enforce.bucketing=true;
> set hive.exec.dynamic.partition.mode=nonstrict;
> set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;
> set hive.compactor.initiator.on=false;
> set hive.compactor.worker.threads=0;
> DROP TABLE `lineitem_acid_bucket`;
> CREATE TABLE `lineitem_acid_bucket`(
> `l_orderkey` bigint,
> `l_partkey` bigint,
> `l_suppkey` bigint,
> `l_linenumber` bigint,
> `l_quantity` double,
> `l_extendedprice` double,
> `l_discount` double,
> `l_tax` double,
> `l_returnflag` string,
> `l_linestatus` string,
> `l_shipdate` string,
> `l_commitdate` string,
> `l_receiptdate` string,
> `l_shipinstruct` string,
> `l_shipmode` string,
> `l_comment` string)
> CLUSTERED BY (l_orderkey)
> INTO 256 BUCKETS STORED AS ORC TBLPROPERTIES("transactional"="true", "NO_AUTO_COMPACTION"="true"); <-- intentionally enabled NO_AUTO_COMPACTION, so that user can have control on compaction
> -- Populate some data from master lineitem table which has data
> INSERT INTO lineitem_acid_bucket SELECT * FROM lineitem WHERE l_orderkey > 0 AND l_orderkey < 10000000;
> INSERT INTO lineitem_acid_bucket SELECT * FROM lineitem WHERE l_orderkey > 10000001 AND l_orderkey < 20000000;
> INSERT INTO lineitem_acid_bucket SELECT * FROM lineitem WHERE l_orderkey > 20000001 AND l_orderkey < 30000000;
> INSERT INTO lineitem_acid_bucket SELECT * FROM lineitem WHERE l_orderkey > 30000001 AND l_orderkey < 40000000;
> INSERT INTO lineitem_acid_bucket SELECT * FROM lineitem WHERE l_orderkey > 40000001 AND l_orderkey < 50000000;
> INSERT INTO lineitem_acid_bucket SELECT * FROM lineitem WHERE l_orderkey > 50000001 AND l_orderkey < 60000000;
> INSERT INTO lineitem_acid_bucket SELECT * FROM lineitem WHERE l_orderkey > 60000001 AND l_orderkey < 70000000;
> INSERT INTO lineitem_acid_bucket SELECT * FROM lineitem WHERE l_orderkey > 70000001 AND l_orderkey < 80000000;
> INSERT INTO lineitem_acid_bucket SELECT * FROM lineitem WHERE l_orderkey > 80000001 AND l_orderkey < 90000000;
> SELECT count(*) FROM lineitem_acid_bucket WHERE l_orderkey > 15000001 and l_orderkey < 65000000;
> 49990192
> DELETE FROM lineitem_acid_bucket WHERE l_orderkey > 15000001 and l_orderkey < 20000000;
> INFO : Table rajesh.lineitem_acid_bucket stats: [numFiles=2368, numRows=84989293, totalSize=2921444884, rawDataSize=0]
> Run the same select query again
> SELECT count(*) FROM lineitem_acid_bucket WHERE l_orderkey > 15000001 and l_orderkey < 65000000;
> 44992181 <--- wrong value
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)