Do you have any secondary indexes? Thanks, James
On Mon, Mar 17, 2014 at 2:41 PM, Sean Huo <[email protected]> wrote: > The NPE happens immediately, so it has nothing to do with the actual data, > it is a parser error. > > Thanks > Sean > > > On Mon, Mar 17, 2014 at 2:36 PM, James Taylor <[email protected]>wrote: > >> Do you see any pattern regarding when you get this exception, as in how >> many rows you've already upserted or after a particular row was upserted? >> Does it happen every time? >> >> Thanks, >> James >> >> >> On Mon, Mar 17, 2014 at 1:41 PM, Sean Huo <[email protected]> wrote: >> >>> We are running on phoenix 3.0. >>> >>> Here is the approximate schema: >>> >>> CREATE TABLE BI.EVENTS ( >>> >>> >>> DATE TIMESTAMP NOT NULL, >>> >>> EVENT_TYPE VARCHAR NOT NULL, >>> >>> EVENT_NAME VARCHAR NOT NULL, >>> >>> DEVICE VARCHAR NOT NULL, >>> >>> AID VARCHAR NOT NULL, >>> >>> USER.IP VARCHAR, >>> >>> USER.REFERER VARCHAR, >>> >>> USER.UID VARCHAR, >>> >>> USER.AGENT VARCHAR, >>> >>> USER.DETAIL VARCHAR, >>> >>> EVENT.DETAIL VARCHAR >>> >>> CONSTRAINT PK PRIMARY KEY (DATE, EVENT_TYPE, EVENT_NAME, DEVICE, AID) >>> >>> ) VERSIONS=2, SALT_BUCKETS = 36; >>> >>> >>> >>> >>> On Mon, Mar 17, 2014 at 1:34 PM, Sean Huo <[email protected]> wrote: >>> >>>> The strang thing is that this query runs fine: >>>> >>>> select trunc(date,'DAY',7) as day, count(distinct uid) from bi.events >>>> where date >= to_date('2014-02-05','yyyy-MM-dd') and date < >>>> to_date('2014-03-05','yyyy-MM-dd') and uid is not null group by >>>> trunc(date,'DAY',7), device; >>>> >>>> >>>> On Mon, Mar 17, 2014 at 1:32 PM, James Taylor >>>> <[email protected]>wrote: >>>> >>>>> Hi Sean, >>>>> What version of Phoenix are you using? Would it be possible to post >>>>> your CREATE TABLE statement and also (if you have it), a series of UPSERT >>>>> statements that leads to repro-ing this issue? >>>>> Thanks, >>>>> James >>>>> >>>>> >>>>> On Mon, Mar 17, 2014 at 1:18 PM, Sean Huo <[email protected]>wrote: >>>>> >>>>>> Why do I get a NPE with this query on sqlline >>>>>> >>>>>> select trunc(date,'DAY',7) as day ,device, count(distinct uid) from >>>>>> bi.events where date >= to_date('2014-02-05','yyyy-MM-dd') and date < >>>>>> to_date('2014-03-05','yyyy-MM-dd') and uid is not null group by >>>>>> trunc(date,'DAY',7), device; >>>>>> >>>>>> >>>>>> at >>>>>> org.apache.phoenix.schema.RowKeyValueAccessor.<init>(RowKeyValueAccessor.java:70) >>>>>> >>>>>> at >>>>>> org.apache.phoenix.compile.ExpressionCompiler.wrapGroupByExpression(ExpressionCompiler.java:435) >>>>>> >>>>>> at >>>>>> org.apache.phoenix.compile.ExpressionCompiler.visit(ExpressionCompiler.java:521) >>>>>> >>>>>> at >>>>>> org.apache.phoenix.compile.ExpressionCompiler.visit(ExpressionCompiler.java:109) >>>>>> >>>>>> at >>>>>> org.apache.phoenix.parse.ColumnParseNode.accept(ColumnParseNode.java:52) >>>>>> >>>>>> at >>>>>> org.apache.phoenix.compile.ProjectionCompiler.compile(ProjectionCompiler.java:223) >>>>>> >>>>>> at >>>>>> org.apache.phoenix.compile.QueryCompiler.compileSingleQuery(QueryCompiler.java:273) >>>>>> >>>>>> at >>>>>> org.apache.phoenix.compile.QueryCompiler.compile(QueryCompiler.java:126) >>>>>> >>>>>> at >>>>>> org.apache.phoenix.compile.QueryCompiler.compile(QueryCompiler.java:113) >>>>>> >>>>>> at >>>>>> org.apache.phoenix.optimize.QueryOptimizer.optimize(QueryOptimizer.java:47) >>>>>> >>>>>> at >>>>>> org.apache.phoenix.optimize.QueryOptimizer.optimize(QueryOptimizer.java:42) >>>>>> >>>>>> at >>>>>> org.apache.phoenix.jdbc.PhoenixStatement$ExecutableSelectStatement.optimizePlan(PhoenixStatement.java:214) >>>>>> >>>>>> at >>>>>> org.apache.phoenix.jdbc.PhoenixStatement$ExecutableSelectStatement.executeQuery(PhoenixStatement.java:192) >>>>>> >>>>>> at >>>>>> org.apache.phoenix.jdbc.PhoenixStatement$ExecutableSelectStatement.execute(PhoenixStatement.java:203) >>>>>> >>>>>> at >>>>>> org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1029) >>>>>> >>>>>> >>>>>> Thanks >>>>>> >>>>>> Sean >>>>>> >>>>> >>>>> >>>> >>> >> >
