Bin Shi created PHOENIX-4914:
--------------------------------
Summary: There is one corner case in which
BaseResultIterators.getParallelScans() returns wrong result of the last guide
post info update timestamp.
Key: PHOENIX-4914
URL: https://issues.apache.org/jira/browse/PHOENIX-4914
Project: Phoenix
Issue Type: Bug
Reporter: Bin Shi
Assignee: Bin Shi
When I add the following test case to testSelectQueriesWithFilters(...) in
[ExplainPlanWithStatsEnabledIT.java|https://github.com/apache/phoenix/pull/347/files#diff-21d3742c352623e12ec4889b0ac4f5d2]
in my clean local repository (without any local changes), the highlighted
assertion (commented out) will be hit which indicates a bug in
BaseResultIterators.getParallelScans() in the current code base.
// Query with multiple scan ranges, and each range's start key and end key
// are both between data
sql = "SELECT a FROM " + tableName + " WHERE K <= 103 AND K >= 101 OR K <= 108
AND K >= 106";
rs = conn.createStatement().executeQuery(sql);
i = 0;
numRows = 6;
int[] result = new int[] \{ 101, 102, 103, 106, 107, 108 };
while (rs.next()) {
assertEquals(result[i++], rs.getInt(1));
assertEquals(numRows, i);
info = getByteRowEstimates(conn, sql, binds);
{color:#8eb021}*// TODO: the original code before this change will hit the
following assertion.* {color}
{color:#8eb021}*// Need to investigate it.*{color}
{color:#8eb021} *// assertTrue(info.getEstimateInfoTs() > 0);*{color}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)