com.couchbase.client.vbucket.BucketUpdateResponseHandler exceptionCaught: Connection reset by peer


#1

Hello,

I have a “connection reset” problem after connecting to couchbase through Java Couchbase client.

Our production configuration :
Tomcat server connecting to couchbase cluster (2 nodes) over firewall. All are hosted in rackspace.

First time it connects fine !! I see following messages :
2014-07-21 13:06:01.304 INFO com.couchbase.client.CouchbaseConnection: Added {QA sa=/172.28.0.27:11210, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue
2014-07-21 13:06:01.305 INFO com.couchbase.client.CouchbaseConnection: Added {QA sa=/172.28.0.26:11210, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue
2014-07-21 13:06:01.325 INFO com.couchbase.client.CouchbaseConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl@776a8c09
2014-07-21 13:06:01.326 INFO com.couchbase.client.CouchbaseConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl@740fe01e
2014-07-21 13:06:01.345 INFO com.couchbase.client.ViewConnection: Added cache02.paypal-hub.com to connect queue
2014-07-21 13:06:01.347 INFO com.couchbase.client.ViewConnection: Added cache01.paypal-hub.com to connect queue
2014-07-21 13:06:01.348 INFO com.couchbase.client.CouchbaseClient: viewmode property isn’t defined. Setting viewmode to production mode

After around an hour it prints this :
WARNING: Exception occurred: Connection reset by peer

Jul 21, 2014 2:10:42 PM com.couchbase.client.vbucket.BucketUpdateResponseHandler exceptionCaught
WARNING: sun.nio.ch.FileDispatcherImpl.read0(Native Method)
sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
sun.nio.ch.IOUtil.read(IOUtil.java:192)
sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:379)
org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:69)
org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(AbstractNioWorker.java:390)
org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:261)
org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
java.lang.Thread.run(Thread.java:745)

Did anyone face this issue before ? Any suggestions will greatly help !!

Thanks
taraka


#2

Ok found the issue :
Firewall keeps dropping the idle connections after about an hour. Its hard to change because the cloud provider might not allow us to change the rules. Telnet did not drop it because it keeps sending KEEP-ALIVE packets. Does couchbase client library has a setting / configuration to turn on the keep-alive probes within an interval ?


#3