Could you please be more specific? Which version of phoenix are you using? Do you have a small script to reproduce? At first glance it looks like a PQS bug.
Thanks, Sergey On Thu, Apr 19, 2018 at 8:17 AM, Lu Wei <wey...@outlook.com> wrote: > Hi there, > > I have a phoenix table containing an BIGINT ARRAY column. But when > querying query server (through sqlline-thin.py), there is an exception: > > java.lang.ClassCastException: java.lang.Integer cannot be cast to > java.lang.Long > > BTW, when query through sqlline.py, everything works fine. And data in > HBase table are of Long type, so why does the Integer to Long cast happen? > > > ## Table schema: > > create table if not exists gis_tracking3(tracking_object_id bigint not > null, lat double, lon double, speed double, bearing double, time timestamp > not null, events bigint array constraint pk primary key > (tracking_object_id, time)) > > > ## when query events[1], it works fine: > > 0: jdbc:phoenix:thin:url=http://10.10.13.87:8> select events[1]+1 from > gis_tracking3; > +------------------------------+ > | (ARRAY_ELEM(EVENTS, 1) + 1) | > +------------------------------+ > | 11 | > | 2223 | > | null | > | null | > | 10001 | > +------------------------------+ > > > ## when querying events, it throws exception: > > 0: jdbc:phoenix:thin:url=http://10.10.13.87:8> select events from > gis_tracking3; > java.lang.ClassCastException: java.lang.Integer cannot be cast to > java.lang.Long > at org.apache.phoenix.shaded.org.apache.calcite.avatica.util. > AbstractCursor$LongAccessor.getLong(AbstractCursor.java:550) > at org.apache.phoenix.shaded.org.apache.calcite.avatica.util. > AbstractCursor$ArrayAccessor.convertValue(AbstractCursor.java:1310) > at org.apache.phoenix.shaded.org.apache.calcite.avatica.util. > AbstractCursor$ArrayAccessor.getObject(AbstractCursor.java:1289) > at org.apache.phoenix.shaded.org.apache.calcite.avatica.util. > AbstractCursor$ArrayAccessor.getArray(AbstractCursor.java:1342) > at org.apache.phoenix.shaded.org.apache.calcite.avatica.util. > AbstractCursor$ArrayAccessor.getString(AbstractCursor.java:1354) > at org.apache.phoenix.shaded.org.apache.calcite.avatica. > AvaticaResultSet.getString(AvaticaResultSet.java:257) > at sqlline.Rows$Row.<init>(Rows.java:183) > at sqlline.BufferedRows.<init>(BufferedRows.java:38) > at sqlline.SqlLine.print(SqlLine.java:1660) > at sqlline.Commands.execute(Commands.java:833) > at sqlline.Commands.sql(Commands.java:732) > at sqlline.SqlLine.dispatch(SqlLine.java:813) > at sqlline.SqlLine.begin(SqlLine.java:686) > at sqlline.SqlLine.start(SqlLine.java:398) > at sqlline.SqlLine.main(SqlLine.java:291) > at org.apache.phoenix.queryserver.client.SqllineWrapper.main( > SqllineWrapper.java:93) > > > I guess there is some issue in query sever, but can't figure out why. > > Any suggestions? > > > > Thanks, > > Wei >