Instead I see a final log like:
2017-08-18 17:35:19,270 2243 [main] INFO net.opentsdb.core.TSDB - Flushing compaction queue
And a stack trace:
Exception in thread "main" java.lang.NoSuchMethodError: java.util.concurrent.ConcurrentHashMap.keySet()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;
at org.hbase.async.HBaseClient.flush(HBaseClient.java:811)
at org.hbase.async.HBaseClient.shutdown(HBaseClient.java:1061)
at net.opentsdb.core.TSDB$1HClientShutdown.call(TSDB.java:1644)
at net.opentsdb.core.TSDB$1HClientShutdown.call(TSDB.java:1639)
at com.stumbleupon.async.Deferred.doCall(Deferred.java:1278)
at com.stumbleupon.async.Deferred.addCallbacks(Deferred.java:688)
at com.stumbleupon.async.Deferred.addCallbackDeferring(Deferred.java:738)
at net.opentsdb.core.TSDB.shutdown(TSDB.java:1723)
at net.opentsdb.tools.OpenTSDBMain.launchTSD(OpenTSDBMain.java:432)
at net.opentsdb.tools.OpenTSDBMain.process(OpenTSDBMain.java:171)
at net.opentsdb.tools.OpenTSDBMain.main(OpenTSDBMain.java:151)
I did some investigating and I find that in my fatjar asynchbase jar was built with manifest
Archiver-Version: Plexus Archiver
Built-By: clarsen
Created-By: Apache Maven 3.2.3
Build-Jdk: 1.8.0_25
and opentsdb was built with manifest
Implementation-Version: 2.4.0RC1
Implementation-Vendor-Id: net.opentsdb
mainClass: net.opentsdb.tools.OpenTSDBMain
Specification-Vendor: The OpenTSDB Authors
Build-Jdk: 1.7.0_141
Built-By: centos
So it seems clear that the hbase client is built using 1.8 and there was a change in concurrenthashmap api between 1.7 and 1.8 and hence the error.
Let me now is there a way to build or fetch any compatible asynchbase built with 1.7.
Thanks
Sachin