You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Ankit Singhal (JIRA)" <ji...@apache.org> on 2017/05/05 05:59:04 UTC

[jira] [Commented] (PHOENIX-3800) NPE when doing UPSERT SELECT into salted tables

    [ https://issues.apache.org/jira/browse/PHOENIX-3800?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15997820#comment-15997820 ] 

Ankit Singhal commented on PHOENIX-3800:
----------------------------------------

+1, Thanks [~sato_eiichi] for the fix. 
Let me commit this.

> NPE when doing UPSERT SELECT into salted tables
> -----------------------------------------------
>
>                 Key: PHOENIX-3800
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3800
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.10.0
>            Reporter: Eiichi Sato
>         Attachments: PHOENIX-3800.patch
>
>
> We run into NPE when doing UPSERT SELECT into salted tables, client and server both running 4.10.0 release. Here is a minimal reproducer and the stack trace on the client side.
> {code}
> create table test (id varchar not null primary key, a integer, b integer) salt_buckets = 2;
> upsert into test (id, b) select id, 1 from test;
> {code}
> {code}
> 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)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)