-
Notifications
You must be signed in to change notification settings - Fork 224
Description
I'm trying to upgrade Druid from 0.9.0 to 0.10.0, and I'm running Tranquility 0.8.2 with Kafka alongside it. We use the druid-histogram plugin in Tranquility to do some percentile calculations on our realtime data. When I did the upgrade Druid started up fine, but Tranquility threw an error and stopped when I sent a payload to it through Kafka. Here's the stack trace I received:
[KafkaConsumer-1] ERROR c.m.tranquility.kafka.KafkaConsumer - Exception:
java.lang.NoClassDefFoundError: io/druid/sql/calcite/aggregation/SqlAggregator
at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.8.0_131]
at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[na:1.8.0_131]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[na:1.8.0_131]
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) ~[na:1.8.0_131]
at java.net.URLClassLoader.access$100(URLClassLoader.java:73) ~[na:1.8.0_131]
at java.net.URLClassLoader$1.run(URLClassLoader.java:368) ~[na:1.8.0_131]
at java.net.URLClassLoader$1.run(URLClassLoader.java:362) ~[na:1.8.0_131]
at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_131]
at java.net.URLClassLoader.findClass(URLClassLoader.java:361) ~[na:1.8.0_131]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_131]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_131]
at io.druid.query.aggregation.histogram.ApproximateHistogramDruidModule.configure(ApproximateHistogramDruidModule.java:64) ~[na:na]
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340) ~[com.google.inject.guice-4.0.jar:na]
at com.google.inject.spi.Elements.getElements(Elements.java:110) ~[com.google.inject.guice-4.0.jar:na]
at com.google.inject.util.Modules$OverrideModule.configure(Modules.java:198) ~[com.google.inject.guice-4.0.jar:na]
at com.google.inject.AbstractModule.configure(AbstractModule.java:62) ~[com.google.inject.guice-4.0.jar:na]
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340) ~[com.google.inject.guice-4.0.jar:na]
at com.google.inject.spi.Elements.getElements(Elements.java:110) ~[com.google.inject.guice-4.0.jar:na]
at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138) ~[com.google.inject.guice-4.0.jar:na]
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104) ~[com.google.inject.guice-4.0.jar:na]
at com.google.inject.Guice.createInjector(Guice.java:96) ~[com.google.inject.guice-4.0.jar:na]
at com.google.inject.Guice.createInjector(Guice.java:73) ~[com.google.inject.guice-4.0.jar:na]
at com.google.inject.Guice.createInjector(Guice.java:62) ~[com.google.inject.guice-4.0.jar:na]
at com.metamx.tranquility.druid.DruidGuicer.(DruidGuicer.scala:128) ~[io.druid.tranquility-core-0.8.2.jar:0.8.2]
at com.metamx.tranquility.druid.DruidGuicer$.(DruidGuicer.scala:138) ~[io.druid.tranquility-core-0.8.2.jar:0.8.2]
at com.metamx.tranquility.druid.DruidGuicer$.(DruidGuicer.scala) ~[io.druid.tranquility-core-0.8.2.jar:0.8.2]
at com.metamx.tranquility.druid.DruidBeams$.makeFireDepartment(DruidBeams.scala:433) ~[io.druid.tranquility-core-0.8.2.jar:0.8.2]
at com.metamx.tranquility.druid.DruidBeams$.fromConfigInternal(DruidBeams.scala:299) ~[io.druid.tranquility-core-0.8.2.jar:0.8.2]
at com.metamx.tranquility.druid.DruidBeams$.fromConfig(DruidBeams.scala:204) ~[io.druid.tranquility-core-0.8.2.jar:0.8.2]
at com.metamx.tranquility.kafka.KafkaBeamUtils$.createTranquilizer(KafkaBeamUtils.scala:40) ~[io.druid.tranquility-kafka-0.8.2.jar:0.8.2]
at com.metamx.tranquility.kafka.KafkaBeamUtils.createTranquilizer(KafkaBeamUtils.scala) ~[io.druid.tranquility-kafka-0.8.2.jar:0.8.2]
at com.metamx.tranquility.kafka.writer.TranquilityEventWriter.(TranquilityEventWriter.java:64) ~[io.druid.tranquility-kafka-0.8.2.jar:0.8.2]
at com.metamx.tranquility.kafka.writer.WriterController.createWriter(WriterController.java:171) ~[io.druid.tranquility-kafka-0.8.2.jar:0.8.2]
at com.metamx.tranquility.kafka.writer.WriterController.getWriter(WriterController.java:98) ~[io.druid.tranquility-kafka-0.8.2.jar:0.8.2]
at com.metamx.tranquility.kafka.KafkaConsumer$2.run(KafkaConsumer.java:231) ~[io.druid.tranquility-kafka-0.8.2.jar:0.8.2]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_131]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_131]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131]
Caused by: java.lang.ClassNotFoundException: io.druid.sql.calcite.aggregation.SqlAggregator
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_131]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_131]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_131]
... 40 common frames omitted
My understanding is that these versions of Druid and Tranquility probably aren't meant to be compatible with each other, but these are the latest versions of the software. Is there a way I can fix this issue as it stands now?