Trunk version of Druid throws error for realtime

82 views
Skip to first unread message

Deepak Jain

unread,
Jul 3, 2014, 11:29:12 PM7/3/14
to druid-de...@googlegroups.com
1. Start realtime server with kafka 0.8. Server fails to start with below 
Exception: 
Caused by: java.lang.ClassNotFoundException: com.metamx.common.exception.FormattedException
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
Fix:
 find . -name "*.jar" | xargs grep FormattedException.class
No results found in lib folder.
Older versions of druid show  java-util-0.25.5.jar matches.
After copying this file, server started.

2. Once server is started, ingest few records into kafka producer. Realtime server accepts them. Fire a query

{
    "queryType": "groupBy",
    "dataSource": "druidtest",
    "granularity": "all",
    "dimensions": [],
    "aggregations": [
        { "type": "count", "name": "rows" },
        {"type": "longSum", "name": "imps", "fieldName": "impressions"},
        {"type": "doubleSum", "name": "wp", "fieldName": "wp"}
    ],
    "intervals": ["2013/2020"]
}

Exception:
$ curl -X POST "http://localhost:8083/druid/v2/?pretty" -H 'content-type: application/json' -d @query.body
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/>
<title>Error 500 </title>
</head>
<body>
<h2>HTTP ERROR: 500</h2>
<p>Problem accessing /druid/v2/. Reason:
<pre>    javax.servlet.ServletException: java.lang.NoSuchMethodError: com.google.common.io.Closeables.closeQuietly(Ljava/io/Closeable;)V</pre></p>
<hr /><i><small>Powered by Jetty://</small></i>
</body>
</html>


Server:
SEVERE: input future failed.
java.lang.NoSuchMethodError: com.google.common.io.Closeables.closeQuietly(Ljava/io/Closeable;)V
    at com.metamx.common.guava.BaseSequence.accumulate(BaseSequence.java:71)
    at com.metamx.common.guava.ConcatSequence$1.accumulate(ConcatSequence.java:46)
    at com.metamx.common.guava.ConcatSequence$1.accumulate(ConcatSequence.java:42)
    at com.metamx.common.guava.YieldingAccumulators$1.accumulate(YieldingAccumulators.java:32)
    at com.metamx.common.guava.MappingYieldingAccumulator.accumulate(MappingYieldingAccumulator.java:57)
    at com.metamx.common.guava.MappingYieldingAccumulator.accumulate(MappingYieldingAccumulator.java:57)
    at com.metamx.common.guava.BaseSequence.makeYielder(BaseSequence.java:104)
    at com.metamx.common.guava.BaseSequence.toYielder(BaseSequence.java:81)
    at com.metamx.common.guava.MappedSequence.toYielder(MappedSequence.java:46)
    at com.metamx.common.guava.MappedSequence.toYielder(MappedSequence.java:46)
    at com.metamx.common.guava.ResourceClosingSequence.toYielder(ResourceClosingSequence.java:27)
    at com.metamx.common.guava.YieldingSequenceBase.accumulate(YieldingSequenceBase.java:15)
    at com.metamx.common.guava.ConcatSequence.accumulate(ConcatSequence.java:40)
    at io.druid.query.GroupByParallelQueryRunner$1$1.call(GroupByParallelQueryRunner.java:117)
    at io.druid.query.GroupByParallelQueryRunner$1$1.call(GroupByParallelQueryRunner.java:112)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297)
    at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:132)
    at com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:58)
    at io.druid.query.GroupByParallelQueryRunner$1.apply(GroupByParallelQueryRunner.java:110)
    at io.druid.query.GroupByParallelQueryRunner$1.apply(GroupByParallelQueryRunner.java:106)
    at com.google.common.collect.Iterators$8.transform(Iterators.java:794)
    at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
    at com.google.common.collect.Iterators.addAll(Iterators.java:357)
    at com.google.common.collect.Lists.newArrayList(Lists.java:147)
    at com.google.common.collect.Lists.newArrayList(Lists.java:129)
    at io.druid.query.GroupByParallelQueryRunner.run(GroupByParallelQueryRunner.java:101)
    at io.druid.query.MetricsEmittingQueryRunner$1.accumulate(MetricsEmittingQueryRunner.java:87)
    at io.druid.query.spec.SpecificSegmentQueryRunner$2$1.call(SpecificSegmentQueryRunner.java:78)
    at io.druid.query.spec.SpecificSegmentQueryRunner.doNamed(SpecificSegmentQueryRunner.java:149)
    at io.druid.query.spec.SpecificSegmentQueryRunner.access$300(SpecificSegmentQueryRunner.java:35)
    at io.druid.query.spec.SpecificSegmentQueryRunner$2.doItNamed(SpecificSegmentQueryRunner.java:140)
    at io.druid.query.spec.SpecificSegmentQueryRunner$2.accumulate(SpecificSegmentQueryRunner.java:72)
    at io.druid.query.GroupByParallelQueryRunner$1$1.call(GroupByParallelQueryRunner.java:117)
    at io.druid.query.GroupByParallelQueryRunner$1$1.call(GroupByParallelQueryRunner.java:112)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at io.druid.query.PrioritizedExecutorService$PrioritizedListenableFutureTask.run(PrioritizedExecutorService.java:204)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

Jul 04, 2014 10:28:24 AM com.sun.jersey.spi.container.ContainerResponse mapMappableContainerException
SEVERE: The exception contained within MappableContainerException could not be mapped to a response, re-throwing to the HTTP container
java.lang.NoSuchMethodError: com.google.common.io.Closeables.closeQuietly(Ljava/io/Closeable;)V
    at com.metamx.common.guava.BaseSequence.accumulate(BaseSequence.java:71)
    at com.metamx.common.guava.ConcatSequence$1.accumulate(ConcatSequence.java:46)
    at com.metamx.common.guava.ConcatSequence$1.accumulate(ConcatSequence.java:42)
    at com.metamx.common.guava.YieldingAccumulators$1.accumulate(YieldingAccumulators.java:32)
    at com.metamx.common.guava.MappingYieldingAccumulator.accumulate(MappingYieldingAccumulator.java:57)
    at com.metamx.common.guava.MappingYieldingAccumulator.accumulate(MappingYieldingAccumulator.java:57)
    at com.metamx.common.guava.BaseSequence.makeYielder(BaseSequence.java:104)
    at com.metamx.common.guava.BaseSequence.toYielder(BaseSequence.java:81)
    at com.metamx.common.guava.MappedSequence.toYielder(MappedSequence.java:46)
    at com.metamx.common.guava.MappedSequence.toYielder(MappedSequence.java:46)
    at com.metamx.common.guava.ResourceClosingSequence.toYielder(ResourceClosingSequence.java:27)
    at com.metamx.common.guava.YieldingSequenceBase.accumulate(YieldingSequenceBase.java:15)
    at com.metamx.common.guava.ConcatSequence.accumulate(ConcatSequence.java:40)
    at io.druid.query.GroupByParallelQueryRunner$1$1.call(GroupByParallelQueryRunner.java:117)
    at io.druid.query.GroupByParallelQueryRunner$1$1.call(GroupByParallelQueryRunner.java:112)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297)
    at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:132)
    at com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:58)
    at io.druid.query.GroupByParallelQueryRunner$1.apply(GroupByParallelQueryRunner.java:110)
    at io.druid.query.GroupByParallelQueryRunner$1.apply(GroupByParallelQueryRunner.java:106)
    at com.google.common.collect.Iterators$8.transform(Iterators.java:794)
    at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
    at com.google.common.collect.Iterators.addAll(Iterators.java:357)
    at com.google.common.collect.Lists.newArrayList(Lists.java:147)
    at com.google.common.collect.Lists.newArrayList(Lists.java:129)
    at io.druid.query.GroupByParallelQueryRunner.run(GroupByParallelQueryRunner.java:101)
    at io.druid.query.MetricsEmittingQueryRunner$1.accumulate(MetricsEmittingQueryRunner.java:87)
    at io.druid.query.spec.SpecificSegmentQueryRunner$2$1.call(SpecificSegmentQueryRunner.java:78)
    at io.druid.query.spec.SpecificSegmentQueryRunner.doNamed(SpecificSegmentQueryRunner.java:149)
    at io.druid.query.spec.SpecificSegmentQueryRunner.access$300(SpecificSegmentQueryRunner.java:35)
    at io.druid.query.spec.SpecificSegmentQueryRunner$2.doItNamed(SpecificSegmentQueryRunner.java:140)
    at io.druid.query.spec.SpecificSegmentQueryRunner$2.accumulate(SpecificSegmentQueryRunner.java:72)
    at io.druid.query.GroupByParallelQueryRunner$1$1.call(GroupByParallelQueryRunner.java:117)
    at io.druid.query.GroupByParallelQueryRunner$1$1.call(GroupByParallelQueryRunner.java:112)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at io.druid.query.PrioritizedExecutorService$PrioritizedListenableFutureTask.run(PrioritizedExecutorService.java:204)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

2014-07-04 10:28:24,478 WARN [qtp787473890-35] org.eclipse.jetty.servlet.ServletHandler - 
javax.servlet.ServletException: java.lang.NoSuchMethodError: com.google.common.io.Closeables.closeQuietly(Ljava/io/Closeable;)V
    at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:420)
    at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
    at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:278)
    at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:268)
    at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:180)
    at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:93)
    at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120)
    at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:132)
    at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:129)
    at com.google.inject.servlet.GuiceFilter$Context.call(GuiceFilter.java:206)
    at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:129)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1622)
    at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:83)
    at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:298)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1622)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:549)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:219)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1111)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:478)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1045)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
    at org.eclipse.jetty.server.Server.handle(Server.java:462)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:279)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:232)
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:534)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoSuchMethodError: com.google.common.io.Closeables.closeQuietly(Ljava/io/Closeable;)V
    at com.metamx.common.guava.BaseSequence.accumulate(BaseSequence.java:71)
    at com.metamx.common.guava.ConcatSequence$1.accumulate(ConcatSequence.java:46)
    at com.metamx.common.guava.ConcatSequence$1.accumulate(ConcatSequence.java:42)
    at com.metamx.common.guava.YieldingAccumulators$1.accumulate(YieldingAccumulators.java:32)
    at com.metamx.common.guava.MappingYieldingAccumulator.accumulate(MappingYieldingAccumulator.java:57)
    at com.metamx.common.guava.MappingYieldingAccumulator.accumulate(MappingYieldingAccumulator.java:57)
    at com.metamx.common.guava.BaseSequence.makeYielder(BaseSequence.java:104)
    at com.metamx.common.guava.BaseSequence.toYielder(BaseSequence.java:81)
    at com.metamx.common.guava.MappedSequence.toYielder(MappedSequence.java:46)
    at com.metamx.common.guava.MappedSequence.toYielder(MappedSequence.java:46)
    at com.metamx.common.guava.ResourceClosingSequence.toYielder(ResourceClosingSequence.java:27)
    at com.metamx.common.guava.YieldingSequenceBase.accumulate(YieldingSequenceBase.java:15)
    at com.metamx.common.guava.ConcatSequence.accumulate(ConcatSequence.java:40)
    at io.druid.query.GroupByParallelQueryRunner$1$1.call(GroupByParallelQueryRunner.java:117)
    at io.druid.query.GroupByParallelQueryRunner$1$1.call(GroupByParallelQueryRunner.java:112)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297)
    at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:132)
    at com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:58)
    at io.druid.query.GroupByParallelQueryRunner$1.apply(GroupByParallelQueryRunner.java:110)
    at io.druid.query.GroupByParallelQueryRunner$1.apply(GroupByParallelQueryRunner.java:106)
    at com.google.common.collect.Iterators$8.transform(Iterators.java:794)
    at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
    at com.google.common.collect.Iterators.addAll(Iterators.java:357)
    at com.google.common.collect.Lists.newArrayList(Lists.java:147)
    at com.google.common.collect.Lists.newArrayList(Lists.java:129)
    at io.druid.query.GroupByParallelQueryRunner.run(GroupByParallelQueryRunner.java:101)
    at io.druid.query.MetricsEmittingQueryRunner$1.accumulate(MetricsEmittingQueryRunner.java:87)
    at io.druid.query.spec.SpecificSegmentQueryRunner$2$1.call(SpecificSegmentQueryRunner.java:78)
    at io.druid.query.spec.SpecificSegmentQueryRunner.doNamed(SpecificSegmentQueryRunner.java:149)
    at io.druid.query.spec.SpecificSegmentQueryRunner.access$300(SpecificSegmentQueryRunner.java:35)
    at io.druid.query.spec.SpecificSegmentQueryRunner$2.doItNamed(SpecificSegmentQueryRunner.java:140)
    at io.druid.query.spec.SpecificSegmentQueryRunner$2.accumulate(SpecificSegmentQueryRunner.java:72)
    at io.druid.query.GroupByParallelQueryRunner$1$1.call(GroupByParallelQueryRunner.java:117)
    at io.druid.query.GroupByParallelQueryRunner$1$1.call(GroupByParallelQueryRunner.java:112)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at io.druid.query.PrioritizedExecutorService$PrioritizedListenableFutureTask.run(PrioritizedExecutorService.java:204)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    ... 1 more

Deepak Jain

unread,
Jul 3, 2014, 11:31:45 PM7/3/14
to druid-de...@googlegroups.com
Fix, remove  guava-17.0.jar  and copy  guava-14.0.1.jar into lib.
Works find.

Fangjin Yang

unread,
Jul 4, 2014, 1:11:28 PM7/4/14
to druid-de...@googlegroups.com
Hi Deepak, what druid version of the k8 module were you using?
Reply all
Reply to author
Forward
0 new messages