rajeshbabu created PHOENIX-1048:
-----------------------------------
Summary: tables and sequences should be deleted at different times
when scn set at BaseConnectedQueryIT#deletePriorTables
Key: PHOENIX-1048
URL: https://issues.apache.org/jira/browse/PHOENIX-1048
Project: Phoenix
Issue Type: Bug
Reporter: rajeshbabu
Assignee: rajeshbabu
Priority: Minor
Fix For: 5.0.0, 3.1, 4.1
Currently we are deleting tables and sequences with same scn at
BaseConnectedQueryIT#deletePriorTables, this may cause some test case failures.
When we delete sequences of indexed table, we will set the same timestamp for
delete.
{code}
} else if (isDelete) {
// FIXME: the version of the Delete constructor
without the lock args was introduced
// in 0.94.4, thus if we try to use it here we can
no longer use the 0.94.2 version
// of the client.
Cell firstKV = results.get(0);
Delete delete = new Delete(firstKV.getRowArray(),
firstKV.getRowOffset(),
firstKV.getRowLength(),ts);
mutations.add(delete);
} else if (isUpsert) {
{code}
The same timestamp is getting used to set time range for scanning table.
{code}
PhoenixConnection connection = context.getConnection();
Long scn = connection.getSCN();
ScanUtil.setTimeRange(scan, scn == null ? context.getCurrentTime() :
scn);
{code}
The max value in the time range is exclusive so reading sequence table may give
deleted sequences. Some test cases may fail because of this.
{code}
org.apache.phoenix.exception.PhoenixParserException: ERROR 604 (42P00): Syntax
error. Mismatched input. Expecting "NAME", got "null" at line 1, column 27.
at
org.apache.phoenix.exception.PhoenixParserException.newException(PhoenixParserException.java:33)
at org.apache.phoenix.parse.SQLParser.parseStatement(SQLParser.java:111)
at
org.apache.phoenix.jdbc.PhoenixStatement$PhoenixStatementParser.parseStatement(PhoenixStatement.java:777)
at
org.apache.phoenix.jdbc.PhoenixStatement.parseStatement(PhoenixStatement.java:858)
at
org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:915)
at
org.apache.phoenix.end2end.BaseConnectedQueryIT.deletePriorSequences(BaseConnectedQueryIT.java:196)
at
org.apache.phoenix.end2end.BaseConnectedQueryIT.deletePriorTables(BaseConnectedQueryIT.java:143)
at
org.apache.phoenix.end2end.BaseConnectedQueryIT.deletePriorTables(BaseConnectedQueryIT.java:132)
at
org.apache.phoenix.end2end.BaseClientManagedTimeIT.doTestSetup(BaseClientManagedTimeIT.java:39)
{code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)