Export to GitHub

spymemcached - issue #321

Client never connects with small timeout (auth problem)


Posted on Jul 15, 2015 by Happy Rhino

We're using Couchbase client 1.4.9 with Spymemcached 2.11.7 to connect to Couchbase 2.5.1 production cluster. We specify quite a small operations timeout (10 ms) overriding net.spy.memcached.ConnectionFactory.getOperationTimeout() to comply with production requirements.

The problem is that initial auth operation issued in AuthThread.listSupportedSASLMechanisms() fails with timeout in net.spy.memcached.protocol.BaseOperationImpl.isTimedOut() and listSupportedSASLMechanisms() returns null, making AuthThread.run() to throw throw new IllegalStateException("Got empty SASL auth mech list."). As the result, the thread exits and the node will forever stay unauthenticated so no single request will ever be processed.

Log output: 2015.07.14 23:56:32.564 [Memcached IO over Couchbase connection to bucket XXX] WARNING n.s.m.a.AuthThread.receivedStatus - Received non-success response for SASL mechs: {OperationStatus success=false: timed out}

Stdout: Exception in thread "Thread-108" java.lang.IllegalStateException: Got empty SASL auth mech list. at net.spy.memcached.auth.AuthThread.run(AuthThread.java:149)

Status: New

Labels:
Type-Defect Priority-Medium