You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Mujtaba Chohan (JIRA)" <ji...@apache.org> on 2017/10/13 21:08:00 UTC
[jira] [Created] (PHOENIX-4287) Incorrect aggregate query results
when stats are disable for parallelization
Mujtaba Chohan created PHOENIX-4287:
---------------------------------------
Summary: Incorrect aggregate query results when stats are disable for parallelization
Key: PHOENIX-4287
URL: https://issues.apache.org/jira/browse/PHOENIX-4287
Project: Phoenix
Issue Type: Bug
Affects Versions: 4.12.0
Environment: HBase 1.3.1
Reporter: Mujtaba Chohan
With {{phoenix.use.stats.parallelization}} set to {{false}}, aggregate query returns incorrect results when stats are available.
With local index and stats disabled for parallelization:
{noformat}
explain select count(*) from TABLE_T;
+-------------------------------------------------------------------------------------------------------+-----------------+----------------+-----------+
| PLAN | EST_BYTES_READ | EST_ROWS_READ | EST_INFO |
+-------------------------------------------------------------------------------------------------------+-----------------+----------------+-----------+
| CLIENT 0-CHUNK 332170 ROWS 625043899 BYTES PARALLEL 0-WAY RANGE SCAN OVER TABLE_T [1] | 625043899 | 332170 | 150792825 |
| SERVER FILTER BY FIRST KEY ONLY | 625043899 | 332170 | 150792825 |
| SERVER AGGREGATE INTO SINGLE ROW | 625043899 | 332170 | 150792825 |
+-------------------------------------------------------------------------------------------------------+-----------------+----------------+-----------+
select count(*) from TABLE_T;
+-----------+
| COUNT(1) |
+-----------+
| 0 |
+-----------+
{noformat}
Using data table
{noformat}
explain select /*+NO_INDEX*/ count(*) from TABLE_T;
+--------------------------------------------------------------------------------------------------+-----------------+----------------+----------------+
| PLAN | EST_BYTES_READ | EST_ROWS_READ | EST_INFO_TS |
+--------------------------------------------------------------------------------------------------+-----------------+----------------+----------------+
| CLIENT 2-CHUNK 332151 ROWS 438492470 BYTES PARALLEL 1-WAY FULL SCAN OVER TABLE_T | 438492470 | 332151 | 1507928257617 |
| SERVER FILTER BY FIRST KEY ONLY | 438492470 | 332151 | 1507928257617 |
| SERVER AGGREGATE INTO SINGLE ROW | 438492470 | 332151 | 1507928257617 |
+--------------------------------------------------------------------------------------------------+-----------------+----------------+----------------+
select /*+NO_INDEX*/ count(*) from TABLE_T;
+-----------+
| COUNT(1) |
+-----------+
| 14 |
+-----------+
{noformat}
Without stats available, results are correct:
{noformat}
explain select /*+NO_INDEX*/ count(*) from TABLE_T;
+----------------------------------------------------------------------+-----------------+----------------+--------------+
| PLAN | EST_BYTES_READ | EST_ROWS_READ | EST_INFO_TS |
+----------------------------------------------------------------------+-----------------+----------------+--------------+
| CLIENT 2-CHUNK PARALLEL 1-WAY FULL SCAN OVER TABLE_T | null | null | null |
| SERVER FILTER BY FIRST KEY ONLY | null | null | null |
| SERVER AGGREGATE INTO SINGLE ROW | null | null | null |
+----------------------------------------------------------------------+-----------------+----------------+--------------+
select /*+NO_INDEX*/ count(*) from TABLE_T;
+-----------+
| COUNT(1) |
+-----------+
| 333327 |
+-----------+
{noformat}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)