[ https://issues.apache.org/jira/browse/PHOENIX-2364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15085234#comment-15085234 ]
Pierre Lacave edited comment on PHOENIX-2364 at 1/6/16 8:57 AM: ---------------------------------------------------------------- You are correct that there is an issue in the test, it is timezone dependant I suspect timestamp.toString() to return a timezone adjusted value I would expect an information about the tz in the string date, not sure why this is missing. {noformat} java.sql.Timestamp timestamp = new java.sql.Timestamp(1451913111631L); Dublin TZ (effectively UTC today) timestamp.toString()) -> 2016-01-04 13:11:51.631 timestampResult.getTime() -> 1451913111631L San Francisco TZ timestamp.toString()) -> 2016-01-04 05:11:51.631 timestampResult.getTime() -> 1451884311631 {noformat} was (Author: pierre.lacave): You are correct that there is an issue in the test, it is timezone dependant I suspect timestamp.toString() to return a timezone adjusted value I would expect an information about the tz in the string date, not sure why this is missing. {noformat} java.sql.Timestamp timestamp = new java.sql.Timestamp(1451913111631L); Dublin TZ timestamp.toString()) -> 2016-01-04 13:11:51.631 timestampResult.getTime() -> 1451913111631L San Francisco TZ timestamp.toString()) -> 2016-01-04 05:11:51.631 timestampResult.getTime() -> 1451884311631 {noformat} > timestamp type primary key desc error > ------------------------------------- > > Key: PHOENIX-2364 > URL: https://issues.apache.org/jira/browse/PHOENIX-2364 > Project: Phoenix > Issue Type: Bug > Affects Versions: 4.6.0 > Reporter: soyoon park > Fix For: 4.7.0 > > Attachments: PHOENIX-2364.patch, PHOENIX-2364_1.patch > > > I wanted to see that I don't have to use reverse scan(HBase) by using PHOENIX > query(constraint pk primary key DESC). > But it did not work. > **TESTED PHOENIX query : > CREATE TABLE TEST_DESC ( > TIME TIMESTAMP NOT NULL, > NAME VARCHAR > CONSTRAINT PK PRIMARY KEY (TIME DESC) > ); > **sample data > UPSERT INTO TEST_DESC (TIME,NAME) VALUES (TO_TIMESTAMP(current_date()|| ' ' > || current_time()) ,'a'); > UPSERT INTO TEST_DESC (TIME,NAME) VALUES (TO_TIMESTAMP('2003-12-13 > 10:13:18',),'b'); > UPSERT INTO TEST_DESC (TIME,NAME) VALUES (CAST(current_date() AS TIMESTAMP) > ,'c'); > SELECT * FROM TEST_DESC; > **and then sqlline shows me error like below(sqlline) > 0: jdbc:phoenix:data01> select * from TEST_DESC; > +------------------------------------------+------------------------------------------+ > | TIME | NAME > | > +------------------------------------------+------------------------------------------+ > java.lang.IllegalArgumentException: offset (8) + length (4) exceed the > capacity of the array: 4 > at > org.apache.hadoop.hbase.util.Bytes.explainWrongLengthOrOffset(Bytes.java:605) > at org.apache.hadoop.hbase.util.Bytes.toInt(Bytes.java:775) > at org.apache.hadoop.hbase.util.Bytes.toInt(Bytes.java:761) > at > org.apache.phoenix.schema.types.PUnsignedInt$UnsignedIntCodec.decodeInt(PUnsignedInt.java:162) > at > org.apache.phoenix.schema.types.PTimestamp.toObject(PTimestamp.java:108) > at > org.apache.phoenix.schema.types.PTimestamp.toObject(PTimestamp.java:32) > at > org.apache.phoenix.schema.types.PDataType.toObject(PDataType.java:984) > at > org.apache.phoenix.compile.ExpressionProjector.getValue(ExpressionProjector.java:75) > at > org.apache.phoenix.jdbc.PhoenixResultSet.getString(PhoenixResultSet.java:601) > at sqlline.Rows$Row.<init>(Rows.java:183) > at sqlline.IncrementalRows.hasNext(IncrementalRows.java:63) > at sqlline.TableOutputFormat.print(TableOutputFormat.java:33) > at sqlline.SqlLine.print(SqlLine.java:1653) > at sqlline.Commands.execute(Commands.java:833) > at sqlline.Commands.sql(Commands.java:732) > at sqlline.SqlLine.dispatch(SqlLine.java:808) > at sqlline.SqlLine.begin(SqlLine.java:681) > at sqlline.SqlLine.start(SqlLine.java:398) > at sqlline.SqlLine.main(SqlLine.java:292) -- This message was sent by Atlassian JIRA (v6.3.4#6332)