Closed gregory112 closed 3 years ago
Sorry for the trouble, I had probably goofed up the container imports at the time. Now it's running properly with 3.9.4 and 4.1.9. We still have ES in there and I believe that is pulling from the older netty. I'll close this for now, re-open if you still see it off the 3.x main branch please.
I have built OpenTSDB 3 in Docker with
mvn package -Pdocker
as instructed on the docs and was able to run it. But during startup I got this error:This seems to be related to Netty. Checking the content of the image, Netty 3.2.2, 3.9.4, and 4.1.9 jars are all loaded to /usr/share/opentsdb/lib with CLASSPATH args set correctly in
bin/tsdb
script. I am not an expert in Java but this stacktrace said that it is calling a constructor namedHashedWheelTimer
with three parameters: ThreadFactory, ThreadNameDeterminer, TimeUnit yes? The stacktrace said it is calling org.jboss.netty which is Netty version 3 (version 4 is io.netty). However, there is no HashedWheelTimer constructor with that signature in Netty version 3 or 4.Anyway I could be wrong. But this seems to be an incorrect jar issue and because it is run inside Docker, it does not share CLASSPATH with other installations like many did. This error is common in OpenTSDB 2 it seems due to people mixing CLASSPATH from HBase installation and used incorrect Netty version from HBase instead of the one shipped with OpenTSDB. But this one lives inside Docker container without any other.
I am using OpenTSDB 3.0.90-SNAPSHOT, from branch 3.0 commit revision
b4d67b2
(latest)