I think you have a salted table and you are hitting a below bug. https://issues.apache.org/jira/browse/PHOENIX-3800
Do you mind trying out the patch, we will have this fixed in 4.11 at least(probably 4.10.1 too). On Fri, May 5, 2017 at 11:06 AM, Bernard Quizon < [email protected]> wrote: > Hi, > > I have upgraded my phoenix version from phoenix-4.4.0-Hbase-1.1 to > phoenix-4.10.0-Hbase-1.1, everything's seems to be working fine. > > But when I tried to execute a simple upsert select, it resulted to an > error. > > Query: > > UPSERT INTO TEST.TABLE1(id, boolean_field) SELECT id, false FROM > TEST.TABLE1; > > Result: > > java.lang.NullPointerException: at index 2 > > at com.google.common.collect.ObjectArrays.checkElementNotNull( > ObjectArrays.java:191) > > at com.google.common.collect.ImmutableList.construct( > ImmutableList.java:320) > > at com.google.common.collect.ImmutableList.copyOf( > ImmutableList.java:290) > > at org.apache.phoenix.schema.PTableImpl.init(PTableImpl.java:534) > > at org.apache.phoenix.schema.PTableImpl.<init>(PTableImpl. > java:408) > > at org.apache.phoenix.schema.PTableImpl.makePTable( > PTableImpl.java:297) > > at org.apache.phoenix.compile.UpsertCompiler.compile( > UpsertCompiler.java:684) > > at org.apache.phoenix.jdbc.PhoenixStatement$ > ExecutableUpsertStatement.compilePlan(PhoenixStatement.java:611) > > at org.apache.phoenix.jdbc.PhoenixStatement$ > ExecutableUpsertStatement.compilePlan(PhoenixStatement.java:597) > > at org.apache.phoenix.jdbc.PhoenixStatement$2.call( > PhoenixStatement.java:351) > > at org.apache.phoenix.jdbc.PhoenixStatement$2.call( > PhoenixStatement.java:341) > > at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) > > at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation( > PhoenixStatement.java:339) > > at org.apache.phoenix.jdbc.PhoenixStatement.execute( > PhoenixStatement.java:1511) > > at sqlline.Commands.execute(Commands.java:822) > > 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) > > > Btw, it works on my older version. Any thoughts? > > > Thanks! >
