Using "auth-less" bucket, but still see SASL related messages including AuthFailure


I’m using a bucket configured w/ a dedicated port. According to the Couchbase Server UI, this type of bucket is auth-less. However, when I turn up the log level, connect and try to execute some simple operations (GET for instance), I see SASL related log messages. Sometimes I even get AuthFailure messages.

Also, I don’t see the dedicated port I’ve assigned to the bucket mentioned anywhere in any log messages. I’m not sure if I supposed to or not.

Clearly I’m missing or misunderstanding something here. Could someone please clarify for me?

Here’s a sampling of the types of messages I’m seeing that refer to SASL.

[Memcached IO over {MemcachedConnection to }] memcached.protocol.binary.SASLAuthOperationImpl - Transitioned state from WRITE_QUEUED to WRITING
[Memcached IO over {MemcachedConnection to }] memcached.protocol.binary.BinaryMemcachedNodeImpl - After copying stuff from SASL auth operation: java.nio.DirectByteBuffer[pos=36 lim=16384 cap=16384]
[Memcached IO over {MemcachedConnection to }] memcached.protocol.binary.SASLAuthOperationImpl - Transitioned state from WRITING to READING
[Memcached IO over {MemcachedConnection to }] memcached.protocol.binary.BinaryMemcachedNodeImpl - Finished writing SASL auth operation
[Memcached IO over {MemcachedConnection to }] memcached.protocol.binary.BinaryMemcachedNodeImpl - Wrote 36 bytes
[Memcached IO over {MemcachedConnection to }] memcached.protocol.binary.BinaryMemcachedNodeImpl - Setting interested opts to 1
[Memcached IO over {MemcachedConnection to }] memcached.protocol.binary.SASLAuthOperationImpl - Reading 24 header bytes
[Memcached IO over {MemcachedConnection to }] memcached.protocol.binary.SASLAuthOperationImpl - Reading 13 payload bytes
[Memcached IO over {MemcachedConnection to }] memcached.auth.AuthThread - Authenticated to 
[Memcached IO over {MemcachedConnection to }] memcached.protocol.binary.SASLAuthOperationImpl - Transitioned state from READING to COMPLETE

From time to time I see Auth Failure and Auth incomplete/interrupted messages like these:

[Memcached IO over {MemcachedConnection to }] memcached.protocol.binary.SASLStepOperationImpl - Error: Auth failure
[pool-12-thread-13] memcached.protocol.binary.BinaryMemcachedNodeImpl - Operation canceled because authentication or reconnection and authentication has taken more than one second to complete.
[pool-12-thread-2] memcached.auth.AuthThreadMonitor - Incomplete authentication interrupted for node {QA sa=, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0}


I’m also stuck with the problem. Any progress on this?



you should not use the dedicated port on the memcached buckets together with the SDK. The SDK picks up the regular one and makes it work. Only use the dedicated port with memcached buckets if you are connecting with one of those old-school memcached-only clients.


The dedicated port is used for legacy memcached clients to be able to access both memcached and couchbase style buckets. Please note that by using the dedicated port you might add more network hops since the client doesn’t necessarily connect to the server responsible for the data. You are normally way better served if you use one of the SDKs from Couchbase that supports the topology notifications from the Couchbase cluster.