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)