Running TimeBoundaryQuery is giving me NullPointerException

I am running a Realtime Node which is (supposedly) ingesting a CSV file. When I run the query, I get a nullpointerexception here:

2015-05-20T22:38:36,105 ERROR [qtp1943408246-20] io.druid.server.QueryResource - Exception handling request: {class=io.druid.server.QueryResource, exceptionType=class java.lang.NullPointerException, exceptionMessage=null, exception=java.lang.NullPointerException, query=TimeBoundaryQuery{dataSource=‘authenticated’, querySegmentSpec=MultipleIntervalSegmentSpec{intervals=[0000-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z]}, duration=PT94670899200S, bound=}, peer=0:0:0:0:0:0:0:1}

java.lang.NullPointerException

at io.druid.segment.realtime.RealtimeManager$FireChief.getQueryRunner(RealtimeManager.java:327) ~[druid-server-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at io.druid.segment.realtime.RealtimeManager$1$1.apply(RealtimeManager.java:166) ~[druid-server-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at io.druid.segment.realtime.RealtimeManager$1$1.apply(RealtimeManager.java:162) ~[druid-server-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at com.google.common.collect.Iterators$8.transform(Iterators.java:794) ~[guava-16.0.1.jar:?]

at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48) ~[guava-16.0.1.jar:?]

at com.google.common.collect.Iterators$3.next(Iterators.java:163) ~[guava-16.0.1.jar:?]

at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48) ~[guava-16.0.1.jar:?]

at com.google.common.collect.Iterators.addAll(Iterators.java:357) ~[guava-16.0.1.jar:?]

at com.google.common.collect.Lists.newArrayList(Lists.java:147) ~[guava-16.0.1.jar:?]

at com.google.common.collect.Lists.newArrayList(Lists.java:129) ~[guava-16.0.1.jar:?]

at io.druid.query.ChainedExecutionQueryRunner$1.make(ChainedExecutionQueryRunner.java:106) ~[druid-processing-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at com.metamx.common.guava.BaseSequence.toYielder(BaseSequence.java:78) ~[java-util-0.27.0.jar:?]

at com.metamx.common.guava.BaseSequence.accumulate(BaseSequence.java:67) ~[java-util-0.27.0.jar:?]

at com.metamx.common.guava.Sequences.toList(Sequences.java:113) ~[java-util-0.27.0.jar:?]

at io.druid.query.timeboundary.TimeBoundaryQueryQueryToolChest$4.doRun(TimeBoundaryQueryQueryToolChest.java:103) ~[druid-processing-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at io.druid.query.BySegmentSkippingQueryRunner.run(BySegmentSkippingQueryRunner.java:44) ~[druid-processing-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at io.druid.query.UnionQueryRunner.run(UnionQueryRunner.java:45) ~[druid-processing-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at io.druid.query.BaseQuery.run(BaseQuery.java:78) ~[druid-processing-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at io.druid.query.BaseQuery.run(BaseQuery.java:73) ~[druid-processing-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at io.druid.server.QueryResource.doPost(QueryResource.java:153) [druid-server-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_45]

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_45]

FYI - my spec file is here:

[

{

“dataSchema” : {

“dataSource” : “authenticated”,

“parser” : {

“type” : “string”,

“parseSpec” : {

“format” : “csv”,

“timestampSpec” : {

“column” : “minute”,

“format” : “auto”

},

“columns”:[“minute”,“cli_id”,“domain_est”,“xurl_domain”],

“dimensionsSpec” : {

“dimensions”: [“cli_id”,“domain_est”,“xurl_domain”],

“dimensionExclusions” : ,

“spatialDimensions” :

}

}

},

“metricsSpec” : [

{

“type” : “count”,

“name” : “count”

},

{

“type” : “doubleSum”,

“name” : “measured”,

“fieldName” : “measured”

},

{

“type” : “doubleSum”,

“name” : “matched”,

“fieldName” : “matched”

}

],

“granularitySpec” : {

“type” : “uniform”,

“segmentGranularity” : “DAY”,

“queryGranularity” : “NONE”,

“intervals” : [ “2013-08-31/2015-09-01” ]

}

},

“ioConfig” : {

“type” : “realtime”,

“firehose” : {

“type” : “local”,

“baseDir” : “examples/authenticated/”,

“filter” : “*.csv”

},

“plumber”: {

“type”: “realtime”

}

},

“tuningConfig”: {

“type” : “realtime”,

“maxRowsInMemory”: 500000,

“intermediatePersistPeriod”: “PT10m”,

“windowPeriod”: “PT10m”,

“basePersistDirectory”: “/tmp/realtime/basePersist”,

“rejectionPolicy”: {

“type”: “serverTime”

}

}

}

]

And my data looks like the following:

Getting very close to actually viewing data - any help appreciated!

try changing…

“columns”:[“minute”,“cli_id”,“domain_est”,“xurl_domain”,“measured”,“matched”],

– Himanshu

Hmm - thanks, I am sure that this was an issue, but I am still getting a NullPointerException.

Here is the error:

2015-05-21T03:55:05,056 WARN [qtp135002781-37] io.druid.server.QueryResource - Exception occurred on request [TimeBoundaryQuery{dataSource=‘authenticated’, querySegmentSpec=MultipleIntervalSegmentSpec{intervals=[0000-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z]}, duration=PT94670899200S, bound=}]

java.lang.NullPointerException

at io.druid.segment.realtime.RealtimeManager$FireChief.getQueryRunner(RealtimeManager.java:327) ~[druid-server-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at io.druid.segment.realtime.RealtimeManager$1$1.apply(RealtimeManager.java:166) ~[druid-server-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at io.druid.segment.realtime.RealtimeManager$1$1.apply(RealtimeManager.java:162) ~[druid-server-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at com.google.common.collect.Iterators$8.transform(Iterators.java:794) ~[guava-16.0.1.jar:?]

at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48) ~[guava-16.0.1.jar:?]

at com.google.common.collect.Iterators$3.next(Iterators.java:163) ~[guava-16.0.1.jar:?]

at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48) ~[guava-16.0.1.jar:?]

at com.google.common.collect.Iterators.addAll(Iterators.java:357) ~[guava-16.0.1.jar:?]

at com.google.common.collect.Lists.newArrayList(Lists.java:147) ~[guava-16.0.1.jar:?]

at com.google.common.collect.Lists.newArrayList(Lists.java:129) ~[guava-16.0.1.jar:?]

at io.druid.query.ChainedExecutionQueryRunner$1.make(ChainedExecutionQueryRunner.java:106) ~[druid-processing-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at com.metamx.common.guava.BaseSequence.toYielder(BaseSequence.java:78) ~[java-util-0.27.0.jar:?]

at com.metamx.common.guava.BaseSequence.accumulate(BaseSequence.java:67) ~[java-util-0.27.0.jar:?]

at com.metamx.common.guava.Sequences.toList(Sequences.java:113) ~[java-util-0.27.0.jar:?]

at io.druid.query.timeboundary.TimeBoundaryQueryQueryToolChest$4.doRun(TimeBoundaryQueryQueryToolChest.java:103) ~[druid-processing-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at io.druid.query.BySegmentSkippingQueryRunner.run(BySegmentSkippingQueryRunner.java:44) ~[druid-processing-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at io.druid.query.UnionQueryRunner.run(UnionQueryRunner.java:45) ~[druid-processing-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at io.druid.query.BaseQuery.run(BaseQuery.java:78) ~[druid-processing-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at io.druid.query.BaseQuery.run(BaseQuery.java:73) ~[druid-processing-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at io.druid.server.QueryResource.doPost(QueryResource.java:153) [druid-server-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_45]

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_45]

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_45]

at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_45]

at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) [jersey-server-1.17.1.jar:1.17.1]

at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205) [jersey-server-1.17.1.jar:1.17.1]

at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) [jersey-server-1.17.1.jar:1.17.1]

at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302) [jersey-server-1.17.1.jar:1.17.1]

at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) [jersey-server-1.17.1.jar:1.17.1]

at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) [jersey-server-1.17.1.jar:1.17.1]

at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) [jersey-server-1.17.1.jar:1.17.1]

at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511) [jersey-server-1.17.1.jar:1.17.1]

at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442) [jersey-server-1.17.1.jar:1.17.1]

at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391) [jersey-server-1.17.1.jar:1.17.1]

at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381) [jersey-server-1.17.1.jar:1.17.1]

at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416) [jersey-servlet-1.17.1.jar:1.17.1]

at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538) [jersey-servlet-1.17.1.jar:1.17.1]

at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716) [jersey-servlet-1.17.1.jar:1.17.1]

at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [javax.servlet-api-3.1.0.jar:3.1.0]

at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:278) [guice-servlet-4.0-beta.jar:?]

at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:268) [guice-servlet-4.0-beta.jar:?]

at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:180) [guice-servlet-4.0-beta.jar:?]

at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:93) [guice-servlet-4.0-beta.jar:?]

at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85) [guice-servlet-4.0-beta.jar:?]

at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120) [guice-servlet-4.0-beta.jar:?]

at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:132) [guice-servlet-4.0-beta.jar:?]

at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:129) [guice-servlet-4.0-beta.jar:?]

at com.google.inject.servlet.GuiceFilter$Context.call(GuiceFilter.java:206) [guice-servlet-4.0-beta.jar:?]

at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:129) [guice-servlet-4.0-beta.jar:?]

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) [jetty-servlet-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:83) [jetty-servlets-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:364) [jetty-servlets-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) [jetty-servlet-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) [jetty-servlet-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221) [jetty-server-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1125) [jetty-server-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) [jetty-servlet-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [jetty-server-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1059) [jetty-server-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [jetty-server-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52) [jetty-server-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) [jetty-server-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.server.Server.handle(Server.java:497) [jetty-server-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) [jetty-server-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:248) [jetty-server-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) [jetty-io-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:620) [jetty-util-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:540) [jetty-util-9.2.5.v20141112.jar:9.2.5.v20141112]

at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45]

2015-05-21T03:55:05,082 ERROR [qtp135002781-37] io.druid.server.QueryResource - Exception handling request: {class=io.druid.server.QueryResource, exceptionType=class java.lang.NullPointerException, exceptionMessage=null, exception=java.lang.NullPointerException, query=TimeBoundaryQuery{dataSource=‘authenticated’, querySegmentSpec=MultipleIntervalSegmentSpec{intervals=[0000-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z]}, duration=PT94670899200S, bound=}, peer=0:0:0:0:0:0:0:1}

java.lang.NullPointerException

at io.druid.segment.realtime.RealtimeManager$FireChief.getQueryRunner(RealtimeManager.java:327) ~[druid-server-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at io.druid.segment.realtime.RealtimeManager$1$1.apply(RealtimeManager.java:166) ~[druid-server-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at io.druid.segment.realtime.RealtimeManager$1$1.apply(RealtimeManager.java:162) ~[druid-server-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at com.google.common.collect.Iterators$8.transform(Iterators.java:794) ~[guava-16.0.1.jar:?]

at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48) ~[guava-16.0.1.jar:?]

at com.google.common.collect.Iterators$3.next(Iterators.java:163) ~[guava-16.0.1.jar:?]

at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48) ~[guava-16.0.1.jar:?]

at com.google.common.collect.Iterators.addAll(Iterators.java:357) ~[guava-16.0.1.jar:?]

at com.google.common.collect.Lists.newArrayList(Lists.java:147) ~[guava-16.0.1.jar:?]

at com.google.common.collect.Lists.newArrayList(Lists.java:129) ~[guava-16.0.1.jar:?]

at io.druid.query.ChainedExecutionQueryRunner$1.make(ChainedExecutionQueryRunner.java:106) ~[druid-processing-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at com.metamx.common.guava.BaseSequence.toYielder(BaseSequence.java:78) ~[java-util-0.27.0.jar:?]

at com.metamx.common.guava.BaseSequence.accumulate(BaseSequence.java:67) ~[java-util-0.27.0.jar:?]

at com.metamx.common.guava.Sequences.toList(Sequences.java:113) ~[java-util-0.27.0.jar:?]

at io.druid.query.timeboundary.TimeBoundaryQueryQueryToolChest$4.doRun(TimeBoundaryQueryQueryToolChest.java:103) ~[druid-processing-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at io.druid.query.BySegmentSkippingQueryRunner.run(BySegmentSkippingQueryRunner.java:44) ~[druid-processing-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at io.druid.query.UnionQueryRunner.run(UnionQueryRunner.java:45) ~[druid-processing-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at io.druid.query.BaseQuery.run(BaseQuery.java:78) ~[druid-processing-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at io.druid.query.BaseQuery.run(BaseQuery.java:73) ~[druid-processing-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at io.druid.server.QueryResource.doPost(QueryResource.java:153) [druid-server-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_45]

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_45]

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_45]

at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_45]

at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) [jersey-server-1.17.1.jar:1.17.1]

at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205) [jersey-server-1.17.1.jar:1.17.1]

at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) [jersey-server-1.17.1.jar:1.17.1]

at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302) [jersey-server-1.17.1.jar:1.17.1]

at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) [jersey-server-1.17.1.jar:1.17.1]

at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) [jersey-server-1.17.1.jar:1.17.1]

at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) [jersey-server-1.17.1.jar:1.17.1]

at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511) [jersey-server-1.17.1.jar:1.17.1]

at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442) [jersey-server-1.17.1.jar:1.17.1]

at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391) [jersey-server-1.17.1.jar:1.17.1]

at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381) [jersey-server-1.17.1.jar:1.17.1]

at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416) [jersey-servlet-1.17.1.jar:1.17.1]

at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538) [jersey-servlet-1.17.1.jar:1.17.1]

at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716) [jersey-servlet-1.17.1.jar:1.17.1]

at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [javax.servlet-api-3.1.0.jar:3.1.0]

at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:278) [guice-servlet-4.0-beta.jar:?]

at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:268) [guice-servlet-4.0-beta.jar:?]

at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:180) [guice-servlet-4.0-beta.jar:?]

at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:93) [guice-servlet-4.0-beta.jar:?]

at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85) [guice-servlet-4.0-beta.jar:?]

at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120) [guice-servlet-4.0-beta.jar:?]

at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:132) [guice-servlet-4.0-beta.jar:?]

at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:129) [guice-servlet-4.0-beta.jar:?]

at com.google.inject.servlet.GuiceFilter$Context.call(GuiceFilter.java:206) [guice-servlet-4.0-beta.jar:?]

at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:129) [guice-servlet-4.0-beta.jar:?]

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) [jetty-servlet-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:83) [jetty-servlets-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:364) [jetty-servlets-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) [jetty-servlet-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) [jetty-servlet-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221) [jetty-server-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1125) [jetty-server-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) [jetty-servlet-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [jetty-server-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1059) [jetty-server-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [jetty-server-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52) [jetty-server-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) [jetty-server-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.server.Server.handle(Server.java:497) [jetty-server-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) [jetty-server-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:248) [jetty-server-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) [jetty-io-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:620) [jetty-util-9.2.5.v20141112.jar:9.2.5.v20141112]

at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:540) [jetty-util-9.2.5.v20141112.jar:9.2.5.v20141112]

at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45]

And here is my spec file (changed the columns a bit):

[

{

“dataSchema” : {

“dataSource” : “authenticated”,

“parser” : {

“type” : “string”,

“parseSpec” : {

“format” : “csv”,

“timestampSpec” : {

“column” : “minute”,

“format” : “auto”

},

“columns”:[“minute”,“cli_id”,“supplier”,“domain_est”,“xurl_domain”,“total”,“measured”,“matched”,“mismatched”,“not_reported”],

“dimensionsSpec” : {

“dimensions”: [“cli_id”,“supplier”,“domain_est”,“xurl_domain”],

“dimensionExclusions” : ,

“spatialDimensions” :

}

}

},

“metricsSpec” : [

{

“type” : “longSum”,

“name” : “total”,

“fieldName” : “total”

},

{

“type” : “longSum”,

“name” : “measured”,

“fieldName” : “measured”

},

{

“type” : “longSum”,

“name” : “matched”,

“fieldName” : “matched”

},

{

“type” : “longSum”,

“name” : “mismatched”,

“fieldName” : “mismatched”

},

{

“type” : “longSum”,

“name” : “not_reported”,

“fieldName” : “not_reported”

}

],

“granularitySpec” : {

“type” : “uniform”,

“segmentGranularity” : “DAY”,

“queryGranularity” : “MINUTE”,

“intervals” : [ “2013-08-31/2015-09-01” ]

}

},

“ioConfig” : {

“type” : “realtime”,

“firehose” : {

“type” : “local”,

“baseDir” : “examples/authenticated/”,

“filter” : “*.csv”

},

“plumber”: {

“type”: “realtime”

}

},

“tuningConfig”: {

“type” : “realtime”,

“maxRowsInMemory”: 500000,

“intermediatePersistPeriod”: “PT10m”,

“windowPeriod”: “PT10m”,

“basePersistDirectory”: “/tmp/realtime/basePersist”,

“rejectionPolicy”: {

“type”: “serverTime”

}

}

}

]

Thanks for any info that you can give.

I may be getting the same error as in this message (e.g. I am using a realtime node):

https://groups.google.com/forum/#!topic/druid-development/noKmQCKnCs8

I tried to add to the plumber config: “rejectionPolicy”: {“type”: “test”}

but I am still getting a NullPointerException.

Is there a way that I can use my own data using a realtime node (config derived from the Wikipedia example), or do I need to start from scratch and build a historical node?

Thanks

broker and historical nodes are not optional and you have to have them to serve data from druid. realtime node is just the place to hold data temporarily to support realtime ingestion. you should see http://druid.io/docs/latest/

now to your specific problem, can you try to specify absolute path at
“baseDir” : “examples/authenticated/”,

also enable RealtimeMetricsMonitor to see if there are any parsing errors (see http://druid.io/docs/latest/Configuration.html#enabling-metrics)

enable debug logging (see http://druid.io/docs/latest/Logging.html )

– himanshu

How do you run your query? My feeling is the data has been batched on to historical node and you are querying the realtime node.

Try to query the broker using port 8082.

curl -X POST ‘http://localhost:8082/druid/v2/?pretty’ -H ‘content-type: application/json’ -d @query.body

I ran into the same problem and spent almost 3 days to figure it out.

I got it working - I started from scratch building a historical node. You are probably right - I switched from building a historical node to a realtime node before, and likely got the config files messed up. Thanks all for helping.