Hi all, UPSERT into a table with ROW_TIMESTAMP column is not possible. I'm using phoenix-4.8.0-hbase-1.1.
Table Schema: create table my_table ( obj_id varchar(20) not null, create_dt timestamp not null, keyword varchar(100) not null, count integer constraint pk primary key (obj_id, create_dt row_timestamp, keyword) ); 1) Spark Integration No rows are inserted. No errors. 2) sqlline.py - timestamp column is in a query No rows are inserted. upsert into my_table (obj_id, create_dt, keyword, count) values ('objid', '2017-02-26 13:48:00', 'k', 100); 3) sqlline.py - timestamp column is not in a query This throws an exception: > java.lang.ArrayIndexOutOfBoundsException: 8 > at > org.apache.phoenix.execute.MutationState.getNewRowKeyWithRowTimestamp(MutationState.java:548) > at > org.apache.phoenix.execute.MutationState.generateMutations(MutationState.java:627) > at > org.apache.phoenix.execute.MutationState.addRowMutations(MutationState.java:566) > at org.apache.phoenix.execute.MutationState.send(MutationState.java:908) > at org.apache.phoenix.execute.MutationState.send(MutationState.java:1329) > at org.apache.phoenix.execute.MutationState.commit(MutationState.java:1161) > at > org.apache.phoenix.jdbc.PhoenixConnection$3.call(PhoenixConnection.java:529) upsert into my_table (obj_id, keyword, count) values ('objid', 'k', 100); Everything works well without row_timestamp. Thanks in advance! : )