Eric Belanger created PHOENIX-3991:
--------------------------------------
Summary: ROW_TIMESTAMP on TIMESTAMP column type throws
ArrayOutOfBound when upserting without providing a value.
Key: PHOENIX-3991
URL: https://issues.apache.org/jira/browse/PHOENIX-3991
Project: Phoenix
Issue Type: Bug
Affects Versions: 4.10.0
Reporter: Eric Belanger
Priority: Minor
{code:sql}
CREATE TABLE TEST (
CREATED TIMESTAMP NOT NULL,
ID CHAR(36) NOT NULL,
DEFINITION VARCHAR,
CONSTRAINT TEST_PK PRIMARY KEY (CREATED ROW_TIMESTAMP, ID)
)
-- WORKS
UPSERT INTO TEST (CREATED, ID, DEFINITION) VALUES (NOW(), 'A', 'DEFINITION A');
-- ArrayOutOfBoundException
UPSERT INTO TEST (ID, DEFINITION) VALUES ('A', 'DEFINITION A');
{code}
Stack Trace:
{noformat}
java.lang.ArrayIndexOutOfBoundsException: 8
at
org.apache.phoenix.execute.MutationState.getNewRowKeyWithRowTimestamp(MutationState.java:554)
at
org.apache.phoenix.execute.MutationState.generateMutations(MutationState.java:640)
at
org.apache.phoenix.execute.MutationState.addRowMutations(MutationState.java:572)
at
org.apache.phoenix.execute.MutationState.send(MutationState.java:1003)
at
org.apache.phoenix.execute.MutationState.send(MutationState.java:1469)
at
org.apache.phoenix.execute.MutationState.commit(MutationState.java:1301)
at
org.apache.phoenix.jdbc.PhoenixConnection$3.call(PhoenixConnection.java:539)
at
org.apache.phoenix.jdbc.PhoenixConnection$3.call(PhoenixConnection.java:536)
at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
at
org.apache.phoenix.jdbc.PhoenixConnection.commit(PhoenixConnection.java:536)
{noformat}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)