Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

exception when querying quantiles sketches in 0.12.0 #5575

Closed
pdeva opened this issue Apr 4, 2018 · 4 comments
Closed

exception when querying quantiles sketches in 0.12.0 #5575

pdeva opened this issue Apr 4, 2018 · 4 comments

Comments

@pdeva
Copy link
Contributor

pdeva commented Apr 4, 2018

Querying the new quantiles sketches extension introduced in 0.12.0 results in this exception on the broker:

io.druid.query.QueryInterruptedException: Illegal type received while quantiles sketch merging [class com.yahoo.sketches.quantiles.DirectCompactDoublesSketch]
	at io.druid.client.DirectDruidClient$JsonParserIterator.init(DirectDruidClient.java:614) ~[druid-server-0.12.0.jar:0.12.0]
	at io.druid.client.DirectDruidClient$JsonParserIterator.hasNext(DirectDruidClient.java:560) ~[druid-server-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.BaseSequence.makeYielder(BaseSequence.java:88) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.BaseSequence.toYielder(BaseSequence.java:68) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.MappedSequence.toYielder(MappedSequence.java:49) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.MergeSequence.lambda$toYielder$0(MergeSequence.java:66) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.MappingAccumulator.accumulate(MappingAccumulator.java:40) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.BaseSequence.accumulate(BaseSequence.java:46) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.MappedSequence.accumulate(MappedSequence.java:43) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.MergeSequence.toYielder(MergeSequence.java:63) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.LazySequence.toYielder(LazySequence.java:46) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.query.RetryQueryRunner$1.toYielder(RetryQueryRunner.java:102) ~[druid-processing-0.12.0.jar:0.12.0]
	at io.druid.common.guava.CombiningSequence.toYielder(CombiningSequence.java:80) ~[druid-common-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.MappedSequence.toYielder(MappedSequence.java:49) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:87) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:83) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.query.CPUTimeMetricQueryRunner$1.wrap(CPUTimeMetricQueryRunner.java:74) ~[druid-processing-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence.toYielder(WrappingSequence.java:82) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.Yielders.each(Yielders.java:32) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.server.QueryResource.doPost(QueryResource.java:193) [druid-server-0.12.0.jar:0.12.0]
	at sun.reflect.GeneratedMethodAccessor47.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_101]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_101]
	at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) [jersey-server-1.19.3.jar:1.19.3]
	at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205) [jersey-server-1.19.3.jar:1.19.3]
	at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) [jersey-server-1.19.3.jar:1.19.3]
	at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302) [jersey-server-1.19.3.jar:1.19.3]
	at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) [jersey-server-1.19.3.jar:1.19.3]
	at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) [jersey-server-1.19.3.jar:1.19.3]
	at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) [jersey-server-1.19.3.jar:1.19.3]
	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542) [jersey-server-1.19.3.jar:1.19.3]
	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473) [jersey-server-1.19.3.jar:1.19.3]
	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419) [jersey-server-1.19.3.jar:1.19.3]
	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409) [jersey-server-1.19.3.jar:1.19.3]
	at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409) [jersey-servlet-1.19.3.jar:1.19.3]
	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558) [jersey-servlet-1.19.3.jar:1.19.3]
	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733) [jersey-servlet-1.19.3.jar:1.19.3]
	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:286) [guice-servlet-4.1.0.jar:?]
	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:276) [guice-servlet-4.1.0.jar:?]
	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:181) [guice-servlet-4.1.0.jar:?]
	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91) [guice-servlet-4.1.0.jar:?]
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85) [guice-servlet-4.1.0.jar:?]
	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120) [guice-servlet-4.1.0.jar:?]
	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:135) [guice-servlet-4.1.0.jar:?]
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759) [jetty-servlet-9.3.19.v20170502.jar:9.3.19.v20170502]
	at io.druid.server.security.PreResponseAuthorizationCheckFilter.doFilter(PreResponseAuthorizationCheckFilter.java:84) [druid-server-0.12.0.jar:0.12.0]
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759) [jetty-servlet-9.3.19.v20170502.jar:9.3.19.v20170502]
	at io.druid.server.security.AllowAllAuthenticator$1.doFilter(AllowAllAuthenticator.java:85) [druid-server-0.12.0.jar:0.12.0]
	at io.druid.server.security.AuthenticationWrappingFilter.doFilter(AuthenticationWrappingFilter.java:60) [druid-server-0.12.0.jar:0.12.0]
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759) [jetty-servlet-9.3.19.v20170502.jar:9.3.19.v20170502]
	at io.druid.server.security.SecuritySanityCheckFilter.doFilter(SecuritySanityCheckFilter.java:86) [druid-server-0.12.0.jar:0.12.0]
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759) [jetty-servlet-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582) [jetty-servlet-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:224) [jetty-server-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) [jetty-server-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512) [jetty-servlet-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [jetty-server-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) [jetty-server-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [jetty-server-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:493) [jetty-server-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52) [jetty-server-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) [jetty-server-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.server.Server.handle(Server.java:534) [jetty-server-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320) [jetty-server-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) [jetty-server-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) [jetty-io-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108) [jetty-io-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) [jetty-io-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) [jetty-util-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) [jetty-util-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) [jetty-util-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) [jetty-util-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) [jetty-util-9.3.19.v20170502.jar:9.3.19.v20170502]
	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_101]
Caused by: io.druid.query.QueryInterruptedException: Illegal type received while quantiles sketch merging [class com.yahoo.sketches.quantiles.DirectCompactDoublesSketch]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_101]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_101]
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_101]
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_101]
	at com.fasterxml.jackson.databind.introspect.AnnotatedConstructor.call(AnnotatedConstructor.java:125) ~[jackson-databind-2.4.6.jar:2.4.6]
	at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.createFromObjectWith(StdValueInstantiator.java:230) ~[jackson-databind-2.4.6.jar:2.4.6]
	at com.fasterxml.jackson.databind.deser.impl.PropertyBasedCreator.build(PropertyBasedCreator.java:167) ~[jackson-databind-2.4.6.jar:2.4.6]
	at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:349) ~[jackson-databind-2.4.6.jar:2.4.6]
	at com.fasterxml.jackson.databind.deser.std.ThrowableDeserializer.deserializeFromObject(ThrowableDeserializer.java:66) ~[jackson-databind-2.4.6.jar:2.4.6]
	at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:124) ~[jackson-databind-2.4.6.jar:2.4.6]
	at com.fasterxml.jackson.databind.ObjectMapper._readValue(ObjectMapper.java:3038) ~[jackson-databind-2.4.6.jar:2.4.6]
	at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:1652) ~[jackson-databind-2.4.6.jar:2.4.6]
	at io.druid.client.DirectDruidClient$JsonParserIterator.init(DirectDruidClient.java:613) ~[druid-server-0.12.0.jar:0.12.0]
	... 74 more

Similar exception on the Peons:

2018-04-04 17:11:12,180 ERROR i.d.q.ChainedExecutionQueryRunner [processing-6] Exception with one of the sequences!
io.druid.java.util.common.ISE: Illegal type received while quantiles sketch merging [class com.yahoo.sketches.quantiles.DirectCompactDoublesSketch]
	at io.druid.dripstat.query.datasketch.quantile.QuantilesSketchAggregator.updateQuantilesSketch(QuantilesSketchAggregator.java:74) ~[?:?]
	at io.druid.dripstat.query.datasketch.quantile.QuantilesSketchAggregator.aggregate(QuantilesSketchAggregator.java:24) ~[?:?]
	at io.druid.query.timeseries.TimeseriesQueryEngine$1.apply(TimeseriesQueryEngine.java:80) ~[druid-processing-0.12.0.jar:0.12.0]
	at io.druid.query.timeseries.TimeseriesQueryEngine$1.apply(TimeseriesQueryEngine.java:58) ~[druid-processing-0.12.0.jar:0.12.0]
	at io.druid.query.QueryRunnerHelper$1.apply(QueryRunnerHelper.java:65) ~[druid-processing-0.12.0.jar:0.12.0]
	at io.druid.query.QueryRunnerHelper$1.apply(QueryRunnerHelper.java:61) ~[druid-processing-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.MappingAccumulator.accumulate(MappingAccumulator.java:40) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.FilteringAccumulator.accumulate(FilteringAccumulator.java:41) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.MappingAccumulator.accumulate(MappingAccumulator.java:40) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.BaseSequence.accumulate(BaseSequence.java:46) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.MappedSequence.accumulate(MappedSequence.java:43) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence$1.get(WrappingSequence.java:50) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.SequenceWrapper.wrap(SequenceWrapper.java:55) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence.accumulate(WrappingSequence.java:45) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.FilteredSequence.accumulate(FilteredSequence.java:45) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.MappedSequence.accumulate(MappedSequence.java:43) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.FilteredSequence.accumulate(FilteredSequence.java:45) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence$1.get(WrappingSequence.java:50) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.SequenceWrapper.wrap(SequenceWrapper.java:55) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence.accumulate(WrappingSequence.java:45) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.Sequences.toList(Sequences.java:150) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.query.ChainedExecutionQueryRunner$1$1$1.call(ChainedExecutionQueryRunner.java:130) ~[druid-processing-0.12.0.jar:0.12.0]
	at io.druid.query.ChainedExecutionQueryRunner$1$1$1.call(ChainedExecutionQueryRunner.java:120) ~[druid-processing-0.12.0.jar:0.12.0]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_161]
	at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297) ~[guava-16.0.1.jar:?]
	at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) ~[?:1.8.0_161]
	at com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:58) ~[guava-16.0.1.jar:?]
	at io.druid.query.ChainedExecutionQueryRunner$1$1.apply(ChainedExecutionQueryRunner.java:118) ~[druid-processing-0.12.0.jar:0.12.0]
	at io.druid.query.ChainedExecutionQueryRunner$1$1.apply(ChainedExecutionQueryRunner.java:110) ~[druid-processing-0.12.0.jar:0.12.0]
	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.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.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.BaseSequence.accumulate(BaseSequence.java:43) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.LazySequence.accumulate(LazySequence.java:40) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence$1.get(WrappingSequence.java:50) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.SequenceWrapper.wrap(SequenceWrapper.java:55) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence.accumulate(WrappingSequence.java:45) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.LazySequence.accumulate(LazySequence.java:40) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence$1.get(WrappingSequence.java:50) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.SequenceWrapper.wrap(SequenceWrapper.java:55) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence.accumulate(WrappingSequence.java:45) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence$1.get(WrappingSequence.java:50) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.query.CPUTimeMetricQueryRunner$1.wrap(CPUTimeMetricQueryRunner.java:74) ~[druid-processing-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence.accumulate(WrappingSequence.java:45) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.query.spec.SpecificSegmentQueryRunner$2.accumulate(SpecificSegmentQueryRunner.java:86) ~[druid-processing-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence$1.get(WrappingSequence.java:50) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.query.spec.SpecificSegmentQueryRunner.doNamed(SpecificSegmentQueryRunner.java:172) ~[druid-processing-0.12.0.jar:0.12.0]
	at io.druid.query.spec.SpecificSegmentQueryRunner.access$200(SpecificSegmentQueryRunner.java:45) ~[druid-processing-0.12.0.jar:0.12.0]
	at io.druid.query.spec.SpecificSegmentQueryRunner$3.wrap(SpecificSegmentQueryRunner.java:152) ~[druid-processing-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence.accumulate(WrappingSequence.java:45) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.Sequences.toList(Sequences.java:150) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.query.ChainedExecutionQueryRunner$1$1$1.call(ChainedExecutionQueryRunner.java:130) [druid-processing-0.12.0.jar:0.12.0]
	at io.druid.query.ChainedExecutionQueryRunner$1$1$1.call(ChainedExecutionQueryRunner.java:120) [druid-processing-0.12.0.jar:0.12.0]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_161]
	at io.druid.query.PrioritizedListenableFutureTask.run(PrioritizedExecutorService.java:249) [druid-processing-0.12.0.jar:0.12.0]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_161]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_161]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_161]
2018-04-04 17:11:12,178 ERROR c.g.c.u.c.Futures$CombinedFuture [timeseries_pctile-minute_[2018-04-04T17:00:00.000Z/2018-04-04T17:09:00.000Z]] input future failed.
io.druid.java.util.common.ISE: Illegal type received while quantiles sketch merging [class com.yahoo.sketches.quantiles.HeapUpdateDoublesSketch]
	at io.druid.dripstat.query.datasketch.quantile.QuantilesSketchAggregator.updateQuantilesSketch(QuantilesSketchAggregator.java:74) ~[?:?]
	at io.druid.dripstat.query.datasketch.quantile.QuantilesSketchAggregator.aggregate(QuantilesSketchAggregator.java:24) ~[?:?]
	at io.druid.query.timeseries.TimeseriesQueryEngine$1.apply(TimeseriesQueryEngine.java:80) ~[druid-processing-0.12.0.jar:0.12.0]
	at io.druid.query.timeseries.TimeseriesQueryEngine$1.apply(TimeseriesQueryEngine.java:58) ~[druid-processing-0.12.0.jar:0.12.0]
	at io.druid.query.QueryRunnerHelper$1.apply(QueryRunnerHelper.java:65) ~[druid-processing-0.12.0.jar:0.12.0]
	at io.druid.query.QueryRunnerHelper$1.apply(QueryRunnerHelper.java:61) ~[druid-processing-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.MappingAccumulator.accumulate(MappingAccumulator.java:40) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.MappingAccumulator.accumulate(MappingAccumulator.java:40) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.BaseSequence.accumulate(BaseSequence.java:46) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.MappedSequence.accumulate(MappedSequence.java:43) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.MappedSequence.accumulate(MappedSequence.java:43) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.FilteredSequence.accumulate(FilteredSequence.java:45) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence$1.get(WrappingSequence.java:50) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.SequenceWrapper.wrap(SequenceWrapper.java:55) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence.accumulate(WrappingSequence.java:45) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.Sequences.toList(Sequences.java:150) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.query.ChainedExecutionQueryRunner$1$1$1.call(ChainedExecutionQueryRunner.java:130) ~[druid-processing-0.12.0.jar:0.12.0]
	at io.druid.query.ChainedExecutionQueryRunner$1$1$1.call(ChainedExecutionQueryRunner.java:120) ~[druid-processing-0.12.0.jar:0.12.0]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_161]
	at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297) ~[guava-16.0.1.jar:?]
	at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) ~[?:1.8.0_161]
	at com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:58) ~[guava-16.0.1.jar:?]
	at io.druid.query.ChainedExecutionQueryRunner$1$1.apply(ChainedExecutionQueryRunner.java:118) ~[druid-processing-0.12.0.jar:0.12.0]
	at io.druid.query.ChainedExecutionQueryRunner$1$1.apply(ChainedExecutionQueryRunner.java:110) ~[druid-processing-0.12.0.jar:0.12.0]
	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.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.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.BaseSequence.accumulate(BaseSequence.java:43) [java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.LazySequence.accumulate(LazySequence.java:40) [java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence$1.get(WrappingSequence.java:50) [java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.SequenceWrapper.wrap(SequenceWrapper.java:55) [java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence.accumulate(WrappingSequence.java:45) [java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.LazySequence.accumulate(LazySequence.java:40) [java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence$1.get(WrappingSequence.java:50) [java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.SequenceWrapper.wrap(SequenceWrapper.java:55) [java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence.accumulate(WrappingSequence.java:45) [java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence$1.get(WrappingSequence.java:50) [java-util-0.12.0.jar:0.12.0]
	at io.druid.query.CPUTimeMetricQueryRunner$1.wrap(CPUTimeMetricQueryRunner.java:74) [druid-processing-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence.accumulate(WrappingSequence.java:45) [java-util-0.12.0.jar:0.12.0]
	at io.druid.query.spec.SpecificSegmentQueryRunner$2.accumulate(SpecificSegmentQueryRunner.java:86) [druid-processing-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence$1.get(WrappingSequence.java:50) [java-util-0.12.0.jar:0.12.0]
	at io.druid.query.spec.SpecificSegmentQueryRunner.doNamed(SpecificSegmentQueryRunner.java:172) [druid-processing-0.12.0.jar:0.12.0]
	at io.druid.query.spec.SpecificSegmentQueryRunner.access$200(SpecificSegmentQueryRunner.java:45) [druid-processing-0.12.0.jar:0.12.0]
	at io.druid.query.spec.SpecificSegmentQueryRunner$3.wrap(SpecificSegmentQueryRunner.java:152) [druid-processing-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence.accumulate(WrappingSequence.java:45) [java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.Sequences.toList(Sequences.java:150) [java-util-0.12.0.jar:0.12.0]
	at io.druid.query.ChainedExecutionQueryRunner$1$1$1.call(ChainedExecutionQueryRunner.java:130) [druid-processing-0.12.0.jar:0.12.0]
	at io.druid.query.ChainedExecutionQueryRunner$1$1$1.call(ChainedExecutionQueryRunner.java:120) [druid-processing-0.12.0.jar:0.12.0]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_161]
	at io.druid.query.PrioritizedListenableFutureTask.run(PrioritizedExecutorService.java:249) [druid-processing-0.12.0.jar:0.12.0]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_161]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_161]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_161]
Collapse2018-04-04 17:11:12,178 ERROR c.g.c.u.c.Futures$CombinedFuture [timeseries_pctile-minute_[2018-04-04T17:00:00.000Z/2018-04-04T17:09:00.000Z]] input future failed.
io.druid.java.util.common.ISE: Illegal type received while quantiles sketch merging [class com.yahoo.sketches.quantiles.HeapUpdateDoublesSketch]
	at io.druid.dripstat.query.datasketch.quantile.QuantilesSketchAggregator.updateQuantilesSketch(QuantilesSketchAggregator.java:74) ~[?:?]
	at io.druid.dripstat.query.datasketch.quantile.QuantilesSketchAggregator.aggregate(QuantilesSketchAggregator.java:24) ~[?:?]
	at io.druid.query.timeseries.TimeseriesQueryEngine$1.apply(TimeseriesQueryEngine.java:80) ~[druid-processing-0.12.0.jar:0.12.0]
	at io.druid.query.timeseries.TimeseriesQueryEngine$1.apply(TimeseriesQueryEngine.java:58) ~[druid-processing-0.12.0.jar:0.12.0]
	at io.druid.query.QueryRunnerHelper$1.apply(QueryRunnerHelper.java:65) ~[druid-processing-0.12.0.jar:0.12.0]
	at io.druid.query.QueryRunnerHelper$1.apply(QueryRunnerHelper.java:61) ~[druid-processing-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.MappingAccumulator.accumulate(MappingAccumulator.java:40) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.MappingAccumulator.accumulate(MappingAccumulator.java:40) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.BaseSequence.accumulate(BaseSequence.java:46) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.MappedSequence.accumulate(MappedSequence.java:43) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.MappedSequence.accumulate(MappedSequence.java:43) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.FilteredSequence.accumulate(FilteredSequence.java:45) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence$1.get(WrappingSequence.java:50) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.SequenceWrapper.wrap(SequenceWrapper.java:55) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence.accumulate(WrappingSequence.java:45) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.Sequences.toList(Sequences.java:150) ~[java-util-0.12.0.jar:0.12.0]
	at io.druid.query.ChainedExecutionQueryRunner$1$1$1.call(ChainedExecutionQueryRunner.java:130) ~[druid-processing-0.12.0.jar:0.12.0]
	at io.druid.query.ChainedExecutionQueryRunner$1$1$1.call(ChainedExecutionQueryRunner.java:120) ~[druid-processing-0.12.0.jar:0.12.0]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_161]
	at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297) ~[guava-16.0.1.jar:?]
	at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) ~[?:1.8.0_161]
	at com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:58) ~[guava-16.0.1.jar:?]
	at io.druid.query.ChainedExecutionQueryRunner$1$1.apply(ChainedExecutionQueryRunner.java:118) ~[druid-processing-0.12.0.jar:0.12.0]
	at io.druid.query.ChainedExecutionQueryRunner$1$1.apply(ChainedExecutionQueryRunner.java:110) ~[druid-processing-0.12.0.jar:0.12.0]
	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.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.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.BaseSequence.accumulate(BaseSequence.java:43) [java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.LazySequence.accumulate(LazySequence.java:40) [java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence$1.get(WrappingSequence.java:50) [java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.SequenceWrapper.wrap(SequenceWrapper.java:55) [java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence.accumulate(WrappingSequence.java:45) [java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.LazySequence.accumulate(LazySequence.java:40) [java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence$1.get(WrappingSequence.java:50) [java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.SequenceWrapper.wrap(SequenceWrapper.java:55) [java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence.accumulate(WrappingSequence.java:45) [java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence$1.get(WrappingSequence.java:50) [java-util-0.12.0.jar:0.12.0]
	at io.druid.query.CPUTimeMetricQueryRunner$1.wrap(CPUTimeMetricQueryRunner.java:74) [druid-processing-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence.accumulate(WrappingSequence.java:45) [java-util-0.12.0.jar:0.12.0]
	at io.druid.query.spec.SpecificSegmentQueryRunner$2.accumulate(SpecificSegmentQueryRunner.java:86) [druid-processing-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence$1.get(WrappingSequence.java:50) [java-util-0.12.0.jar:0.12.0]
	at io.druid.query.spec.SpecificSegmentQueryRunner.doNamed(SpecificSegmentQueryRunner.java:172) [druid-processing-0.12.0.jar:0.12.0]
	at io.druid.query.spec.SpecificSegmentQueryRunner.access$200(SpecificSegmentQueryRunner.java:45) [druid-processing-0.12.0.jar:0.12.0]
	at io.druid.query.spec.SpecificSegmentQueryRunner$3.wrap(SpecificSegmentQueryRunner.java:152) [druid-processing-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.WrappingSequence.accumulate(WrappingSequence.java:45) [java-util-0.12.0.jar:0.12.0]
	at io.druid.java.util.common.guava.Sequences.toList(Sequences.java:150) [java-util-0.12.0.jar:0.12.0]
	at io.druid.query.ChainedExecutionQueryRunner$1$1$1.call(ChainedExecutionQueryRunner.java:130) [druid-processing-0.12.0.jar:0.12.0]
	at io.druid.query.ChainedExecutionQueryRunner$1$1$1.call(ChainedExecutionQueryRunner.java:120) [druid-processing-0.12.0.jar:0.12.0]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_161]
	at io.druid.query.PrioritizedListenableFutureTask.run(PrioritizedExecutorService.java:249) [druid-processing-0.12.0.jar:0.12.0]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_161]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_161]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_161]

5:11:12.176 PM | 2018-04-04 17:11:12,176 ERROR i.d.q.ChainedExecutionQueryRunner [timeseries_pctile-minute_[2018-04-04T17:00:00.000Z/2018-04-04T17:09:00.000Z]] Exception with one of the sequences! io.druid.java.util.common.ISE: Illegal type received while quantiles sketch merging [class com.yahoo.sketches.quantiles.HeapUpdateDoublesSketch] 	at io.druid.dripstat.query.datasketch.quantile.QuantilesSketchAggregator.updateQuantilesSketch(QuantilesSketchAggregator.java:74) ~[?:?] 	at io.druid.dripstat.query.datasketch.quantile.QuantilesSketchAggregator.aggregate(QuantilesSketchAggregator.java:24) ~[?:?] 	at io.druid.query.timeseries.TimeseriesQueryEngine$1.apply(TimeseriesQueryEngine.java:80) ~[druid-processing-0.12.0.jar:0.12.0] 	at io.druid.query.timeseries.TimeseriesQueryEngine$1.apply(TimeseriesQueryEngine.java:58) ~[druid-processing-0.12.0.jar:0.12.0] 	at io.druid.query.QueryRunnerHelper$1.apply(QueryRunnerHelper.java:65) ~[druid-processing-0.12.0.jar:0.12.0] 	at io.druid.query.QueryRunnerHelper$1.apply(QueryRunnerHelper.java:61) ~[druid-processing-0.12.0.jar:0.12.0] 	at io.druid.java.util.common.guava.MappingAccumulator.accumulate(MappingAccumulator.java:40) ~[java-util-0.12.0.jar:0.12.0] 	at io.druid.java.util.common.guava.MappingAccumulator.accumulate(MappingAccumulator.java:40) ~[java-util-0.12.0.jar:0.12.0] 	at io.druid.java.util.common.guava.BaseSequence.accumulate(BaseSequence.java:46) ~[java-util-0.12.0.jar:0.12.0] 	at io.druid.java.util.common.guava.MappedSequence.accumulate(MappedSequence.java:43) ~[java-util-0.12.0.jar:0.12.0] 	at io.druid.java.util.common.guava.MappedSequence.accumulate(MappedSequence.java:43) ~[java-util-0.12.0.jar:0.12.0] 	at io.druid.java.util.common.guava.FilteredSequence.accumulate(FilteredSequence.java:45) ~[java-util-0.12.0.jar:0.12.0] 	at io.druid.java.util.common.guava.WrappingSequence$1.get(WrappingSequence.java:50) ~[java-util-0.12.0.jar:0.12.0] 	at io.druid.java.util.common.guava.SequenceWrapper.wrap(SequenceWrapper.java:55) ~[java-util-0.12.0.jar:0.12.0] 	at io.druid.java.util.common.guava.WrappingSequence.accumulate(WrappingSequence.java:45) ~[java-util-0.12.0.jar:0.12.0] 	at io.druid.java.util.common.guava.Sequences.toList(Sequences.java:150) ~[java-util-0.12.0.jar:0.12.0] 	at io.druid.query.ChainedExecutionQueryRunner$1$1$1.call(ChainedExecutionQueryRunner.java:130) [druid-processing-0.12.0.jar:0.12.0] 	at io.druid.query.ChainedExecutionQueryRunner$1$1$1.call(ChainedExecutionQueryRunner.java:120) [druid-processing-0.12.0.jar:0.12.0] 	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_161] 	at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297) [guava-16.0.1.jar:?] 	at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) [?:1.8.0_161] 	at com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:58) [guava-16.0.1.jar:?] 	at io.druid.query.ChainedExecutionQueryRunner$1$1.apply(ChainedExecutionQueryRunner.java:118) [druid-processing-0.12.0.jar:0.12.0] 	at io.druid.query.ChainedExecutionQueryRunner$1$1.apply(ChainedExecutionQueryRunner.java:110) [druid-processing-0.12.0.jar:0.12.0] 	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.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.12.0.jar:0.12.0] 	at io.druid.java.util.common.guava.BaseSequence.accumulate(BaseSequence.java:43) [java-util-0.12.0.jar:0.12.0] 	at io.druid.java.util.common.guava.LazySequence.accumulate(LazySequence.java:40) [java-util-0.12.0.jar:0.12.0] 	at io.druid.java.util.common.guava.WrappingSequence$1.get(WrappingSequence.java:50) [java-util-0.12.0.jar:0.12.0] 	at io.druid.java.util.common.guava.SequenceWrapper.wrap(SequenceWrapper.java:55) [java-util-0.12.0.jar:0.12.0] 	at io.druid.java.util.common.guava.WrappingSequence.accumulate(WrappingSequence.java:45) [java-util-0.12.0.jar:0.12.0] 	at io.druid.java.util.common.guava.LazySequence.accumulate(LazySequence.java:40) [java-util-0.12.0.jar:0.12.0] 	at io.druid.java.util.common.guava.WrappingSequence$1.get(WrappingSequence.java:50) [java-util-0.12.0.jar:0.12.0] 	at io.druid.java.util.common.guava.SequenceWrapper.wrap(SequenceWrapper.java:55) [java-util-0.12.0.jar:0.12.0] 	at io.druid.java.util.common.guava.WrappingSequence.accumulate(WrappingSequence.java:45) [java-util-0.12.0.jar:0.12.0] 	at io.druid.java.util.common.guava.WrappingSequence$1.get(WrappingSequence.java:50) [java-util-0.12.0.jar:0.12.0] 	at io.druid.query.CPUTimeMetricQueryRunner$1.wrap(CPUTimeMetricQueryRunner.java:74) [druid-processing-0.12.0.jar:0.12.0] 	at io.druid.java.util.common.guava.WrappingSequence.accumulate(WrappingSequence.java:45) [java-util-0.12.0.jar:0.12.0] 	at io.druid.query.spec.SpecificSegmentQueryRunner$2.accumulate(SpecificSegmentQueryRunner.java:86) [druid-processing-0.12.0.jar:0.12.0] 	at io.druid.java.util.common.guava.WrappingSequence$1.get(WrappingSequence.java:50) [java-util-0.12.0.jar:0.12.0] 	at io.druid.query.spec.SpecificSegmentQueryRunner.doNamed(SpecificSegmentQueryRunner.java:172) [druid-processing-0.12.0.jar:0.12.0] 	at io.druid.query.spec.SpecificSegmentQueryRunner.access$200(SpecificSegmentQueryRunner.java:45) [druid-processing-0.12.0.jar:0.12.0] 	at io.druid.query.spec.SpecificSegmentQueryRunner$3.wrap(SpecificSegmentQueryRunner.java:152) [druid-processing-0.12.0.jar:0.12.0] 	at io.druid.java.util.common.guava.WrappingSequence.accumulate(WrappingSequence.java:45) [java-util-0.12.0.jar:0.12.0] 	at io.druid.java.util.common.guava.Sequences.toList(Sequences.java:150) [java-util-0.12.0.jar:0.12.0] 	at io.druid.query.ChainedExecutionQueryRunner$1$1$1.call(ChainedExecutionQueryRunner.java:130) [druid-processing-0.12.0.jar:0.12.0] 	at io.druid.query.ChainedExecutionQueryRunner$1$1$1.call(ChainedExecutionQueryRunner.java:120) [druid-processing-0.12.0.jar:0.12.0] 	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_161] 	at io.druid.query.PrioritizedListenableFutureTask.run(PrioritizedExecutorService.java:249) [druid-processing-0.12.0.jar:0.12.0] 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_161] 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_161] 	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_161]
@gianm
Copy link
Contributor

gianm commented Apr 4, 2018

Hi @pdeva,

It looks like this error is being thrown in some non-druid code: io.druid.dripstat.query.datasketch.quantile.QuantilesSketchAggregator. I'm not sure it's really a druid problem. Could you please double check that?

@pdeva
Copy link
Contributor Author

pdeva commented Apr 4, 2018

hmm this is weird.
so we have had our own datasketch extension we have been using since before 0.12.0, which is based on an earlier version of datasketch library.
With 0.12.0, we add both our own extension and the druid one in the extension load list:

druid.extensions.loadList=["dripstat-druid-datasketches", "druid-datasketches","mysql-metadata-storage", "druid-s3-extensions", "druid-kafka-eight", "druid-kafka-indexing-service"]

The reason this shouldn't cause issues is because:

  1. The dripstat-druid-datasketches would load with a different classloader (i assume) and not interfere with the druid-datasketches.

  2. The type of metric name is different for dripstat data sketches (dsDatasketchesQuantilesSketch) vs druid data sketches (quantilesDoublesSketch).

  3. The middle manager node which is throwing this exception doesnt ingest the legacy datasource that even has the metric with the dripstat sketches library. The legacy datasource is ingested via realtime nodes.

Pasting the metrics spec for both legacy and new datasources.

Metricsspec for datasource -pctile-legacy

"metricsSpec" : [ {
        "type": "count",
        "name": "count"
      },
        {
          "type": "dsDatasketchesQuantilesSketch",
          "name": "value",
          "fieldName": "value"
        }
      ],

MetricsSpec for new datasource - pctile-new (using druid-datasketches):

"metricsSpec": [
      {
        "name": "count",
        "type": "count"
      },
      {
        "name": "value",
        "fieldName": "value",
        "type": "quantilesDoublesSketch",
        "k": 512
      }
    ],

The value metric in the new datsource refers to druid-datasketches, so not sure why its loading the dripstat datasketch library

@pdeva
Copy link
Contributor Author

pdeva commented Apr 4, 2018

ahh i think i found the real issue. so the previous error was because the query sent to the broker had the wrong 'type` for aggregation, referring to the dripstat sketch.

However, even after a correct query, the broker throws this exception. As you can see this is entirely druid at this point:

2018-04-04 18:34:27,855 ERROR i.d.s.QueryResource [qtp849520318-161] Exception handling request: {class=io.druid.server.QueryResource, exceptionType=class com.fasterxml.jackson.databind.JsonMappingException, exceptionMessage=Could not resolve type id 'quantilesDoublesSketch' into a subtype of [simple type, class io.druid.query.aggregation.PostAggregator]
 at [Source: HttpInputOverHTTP@100133f0[c=598,q=1,[0]=EOF,s=STREAM]; line: 1, column: 311] (through reference chain: java.util.ArrayList[0]), exception=com.fasterxml.jackson.databind.JsonMappingException: Could not resolve type id 'quantilesDoublesSketch' into a subtype of [simple type, class io.druid.query.aggregation.PostAggregator]
 at [Source: HttpInputOverHTTP@100133f0[c=598,q=1,[0]=EOF,s=STREAM]; line: 1, column: 311] (through reference chain: java.util.ArrayList[0]), query=unparseable query, peer=98.210.189.103}
com.fasterxml.jackson.databind.JsonMappingException: Could not resolve type id 'quantilesDoublesSketch' into a subtype of [simple type, class io.druid.query.aggregation.PostAggregator]
 at [Source: HttpInputOverHTTP@100133f0[c=598,q=1,[0]=EOF,s=STREAM]; line: 1, column: 311] (through reference chain: java.util.ArrayList[0])
	at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:148) ~[jackson-databind-2.4.6.jar:2.4.6]
	at com.fasterxml.jackson.databind.DeserializationContext.unknownTypeException(DeserializationContext.java:862) ~[jackson-databind-2.4.6.jar:2.4.6]
	at com.fasterxml.jackson.databind.jsontype.impl.TypeDeserializerBase._findDeserializer(TypeDeserializerBase.java:167) ~[jackson-databind-2.4.6.jar:2.4.6]
	at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId(AsPropertyTypeDeserializer.java:99) ~[jackson-databind-2.4.6.jar:2.4.6]
	at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:84) ~[jackson-databind-2.4.6.jar:2.4.6]
	at com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserializeWithType(AbstractDeserializer.java:132) ~[jackson-databind-2.4.6.jar:2.4.6]
	at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:234) ~[jackson-databind-2.4.6.jar:2.4.6]
	at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:206) ~[jackson-databind-2.4.6.jar:2.4.6]
	at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:25) ~[jackson-databind-2.4.6.jar:2.4.6]
	at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:538) ~[jackson-databind-2.4.6.jar:2.4.6]
	at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:344) ~[jackson-databind-2.4.6.jar:2.4.6]
	at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1064) ~[jackson-databind-2.4.6.jar:2.4.6]
	at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:264) ~[jackson-databind-2.4.6.jar:2.4.6]
	at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther(BeanDeserializer.java:156) ~[jackson-databind-2.4.6.jar:2.4.6]
	at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:126) ~[jackson-databind-2.4.6.jar:2.4.6]
	at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId(AsPropertyTypeDeserializer.java:113) ~[jackson-databind-2.4.6.jar:2.4.6]
	at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:84) ~[jackson-databind-2.4.6.jar:2.4.6]
	at com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserializeWithType(AbstractDeserializer.java:132) ~[jackson-databind-2.4.6.jar:2.4.6]
	at com.fasterxml.jackson.databind.deser.impl.TypeWrappedDeserializer.deserialize(TypeWrappedDeserializer.java:41) ~[jackson-databind-2.4.6.jar:2.4.6]
	at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3066) ~[jackson-databind-2.4.6.jar:2.4.6]
	at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2207) ~[jackson-databind-2.4.6.jar:2.4.6]
	at io.druid.server.QueryResource.readQuery(QueryResource.java:303) ~[druid-server-0.12.0.jar:0.12.0]
	at io.druid.server.QueryResource.doPost(QueryResource.java:169) [druid-server-0.12.0.jar:0.12.0]
	at sun.reflect.GeneratedMethodAccessor47.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_101]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_101]
	at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) [jersey-server-1.19.3.jar:1.19.3]
	at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205) [jersey-server-1.19.3.jar:1.19.3]
	at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) [jersey-server-1.19.3.jar:1.19.3]
	at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302) [jersey-server-1.19.3.jar:1.19.3]
	at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) [jersey-server-1.19.3.jar:1.19.3]
	at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) [jersey-server-1.19.3.jar:1.19.3]
	at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) [jersey-server-1.19.3.jar:1.19.3]
	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542) [jersey-server-1.19.3.jar:1.19.3]
	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473) [jersey-server-1.19.3.jar:1.19.3]
	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419) [jersey-server-1.19.3.jar:1.19.3]
	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409) [jersey-server-1.19.3.jar:1.19.3]
	at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409) [jersey-servlet-1.19.3.jar:1.19.3]
	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558) [jersey-servlet-1.19.3.jar:1.19.3]
	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733) [jersey-servlet-1.19.3.jar:1.19.3]
	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:286) [guice-servlet-4.1.0.jar:?]
	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:276) [guice-servlet-4.1.0.jar:?]
	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:181) [guice-servlet-4.1.0.jar:?]
	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91) [guice-servlet-4.1.0.jar:?]
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85) [guice-servlet-4.1.0.jar:?]
	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120) [guice-servlet-4.1.0.jar:?]
	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:135) [guice-servlet-4.1.0.jar:?]
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759) [jetty-servlet-9.3.19.v20170502.jar:9.3.19.v20170502]
	at io.druid.server.security.PreResponseAuthorizationCheckFilter.doFilter(PreResponseAuthorizationCheckFilter.java:84) [druid-server-0.12.0.jar:0.12.0]
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759) [jetty-servlet-9.3.19.v20170502.jar:9.3.19.v20170502]
	at io.druid.server.security.AllowAllAuthenticator$1.doFilter(AllowAllAuthenticator.java:85) [druid-server-0.12.0.jar:0.12.0]
	at io.druid.server.security.AuthenticationWrappingFilter.doFilter(AuthenticationWrappingFilter.java:60) [druid-server-0.12.0.jar:0.12.0]
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759) [jetty-servlet-9.3.19.v20170502.jar:9.3.19.v20170502]
	at io.druid.server.security.SecuritySanityCheckFilter.doFilter(SecuritySanityCheckFilter.java:86) [druid-server-0.12.0.jar:0.12.0]
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759) [jetty-servlet-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582) [jetty-servlet-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:224) [jetty-server-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) [jetty-server-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512) [jetty-servlet-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [jetty-server-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) [jetty-server-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [jetty-server-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:493) [jetty-server-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52) [jetty-server-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) [jetty-server-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.server.Server.handle(Server.java:534) [jetty-server-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320) [jetty-server-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) [jetty-server-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) [jetty-io-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108) [jetty-io-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) [jetty-io-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) [jetty-util-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) [jetty-util-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) [jetty-util-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) [jetty-util-9.3.19.v20170502.jar:9.3.19.v20170502]
	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) [jetty-util-9.3.19.v20170502.jar:9.3.19.v20170502]
	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_101]

@pdeva
Copy link
Contributor Author

pdeva commented Apr 4, 2018

ahh sorry this is entirely my own issue. i was passing in quantilesSketch to post aggregator.
closing.

@pdeva pdeva closed this as completed Apr 4, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants