Hi all, I’m having an issue with my current Couchbase JDK client setup, and I was wondering if this could be a bug, or something that I’m doing wrong.
I have set-up a simple static holder for my Cluster and Bucket instances so I can re-use both of them in all my REST services, according to the documentation best practices. This works great and all operations against the Couchbase bucket get handled properly but there’s something that’s throwing an exception exactly each 30 seconds.
WARN [com.couchbase.client.deps.io.netty.channel.DefaultChannelPipeline] (cb-io-1-1) An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.: java.lang.NoClassDefFoundError: com/couchbase/client/deps/io/netty/handler/timeout/IdleStateEvent
at com.couchbase.client.deps.io.netty.handler.timeout.IdleStateHandler$AllIdleTimeoutTask.run(IdleStateHandler.java:431) [core-io-1.1.3.jar:1.1.3]
at com.couchbase.client.deps.io.netty.util.concurrent.PromiseTask$RunnableAdapter.call(PromiseTask.java:38) [core-io-1.1.3.jar:1.1.3]
at com.couchbase.client.deps.io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:123) [core-io-1.1.3.jar:1.1.3]
at com.couchbase.client.deps.io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:380) [core-io-1.1.3.jar:1.1.3]
at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357) [core-io-1.1.3.jar:1.1.3]
at com.couchbase.client.deps.io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) [core-io-1.1.3.jar:1.1.3]
at com.couchbase.client.deps.io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137) [core-io-1.1.3.jar:1.1.3]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_40]
This happens even if I restart the application server and simply wait without doing any use of my REST services.
I was wondering if this is because I don’t close the bucket after each operation, but since this happens even If I don’t make CRUD operations I believe it could be a misconfiguration or a bug.
I’m using WildFly 8.2.0.Final as server, Couchbase 3.0.3-1716 Enterprise Edition (build-1716) and Couchbase JDK Client 2.1.3.
My static cluster and bucket holder class:
public class Persistence {
//Configuration
public static String clusterAddress = "192.168.0.55";
public static String bucketName = "default";
public static String bucketPassword = null;
public static Cluster cluster;
public static Bucket bucket;
public static Bucket getBucketInstance() {
if (cluster == null) {
cluster = CouchbaseCluster.create(clusterAddress);
}
if (bucket == null) {
bucket = cluster.openBucket(bucketName, bucketPassword);
}
return bucket;
}
}
Any ideas of how to solve this issue or what could be going wrong?