I see, thanks for the quick response.

Sure I'll try it out soon.

On Fri, May 5, 2017 at 2:04 PM, Ankit Singhal <ankitsinghal59@gmail.com> wrote:
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 <bernard.quizon@stellarloyalty.com> 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!