Very recurrent error : Bad sasl params: 4

Hello,

Current version : 3.0.0 community edition

I have a very recurrent error in my server logs files :

extract from logs/babysitter.log

[ns_server:info,2014-12-03T8:20:37.205,babysitter_of_ns_1@127.0.0.1:<0.106.0>:ns_port_server:log:169]memcached<0.106.0>: Wed Dec 3 08:20:37.004669 UTC 3: 413: Bad sasl params: 4
memcached<0.106.0>: Wed Dec 3 08:20:37.105802 UTC 3: 413: Bad sasl params: 4

[ns_server:info,2014-12-03T8:20:37.407,babysitter_of_ns_1@127.0.0.1:<0.106.0>:ns_port_server:log:169]memcached<0.106.0>: Wed Dec 3 08:20:37.206979 UTC 3: 413: Bad sasl params: 4
memcached<0.106.0>: Wed Dec 3 08:20:37.308144 UTC 3: 413: Bad sasl params: 4

extract from logs/memcached.logs.0.txt

Tue Dec 2 16:33:19.652063 UTC 3: 413: Bad sasl params: 4
Tue Dec 2 16:33:19.756087 UTC 3: 413: Bad sasl params: 4

Do i need to configure something about SASL ?
I keep the default configuration with default SASL support.
Maybe i miss something on client side ?

Hi,

Thank you for your feedback.

Couple of questions so that we can investigate more -
(1) Do you have any SASL buckets setup ? If yes, how many and how long in length is the password?
(2) How is your application accessing these sasl buckets? What SDK are you using?
(3) Can you provide a code snippet on how you are connecting to this bucket?

Thank you,
Don

Hi Don,

(1)
I have only 1 bucket on our cluster and i choose the standard port for ‘access control’(from administration web console) without any password (or blank password).
(Maybe i should choose the other option : dedicated port)

(2)
I am using java sdk v1.4.5.

(3) Here the connection code:

    List<URI> couchbaseHosts = new ArrayList<>();
    for (CouchbaseServerConfig host : hosts) {
        couchbaseHosts.add(new URI("http://my-node-alias:8091pools"));
    }

    CouchbaseConnectionFactoryBuilder cfb = new CouchbaseConnectionFactoryBuilder();
    cfb.setViewWorkerSize(Runtime.getRuntime().availableProcessors() - 1);
    cfb.setViewConnsPerNode(40);
    cfb.setOpTimeout(30);

    // Transcoder
    SerializingTranscoder transcoder = new SerializingTranscoder(); // default transcoder
    transcoder.setCompressionThreshold(50);
    cfb.setTranscoder(transcoder);

    // Connect to the Cluster
    CouchbaseClient couchbaseClient = null;
    try {
        couchbaseClient = new CouchbaseClient(
                cfb.buildCouchbaseConnection(
                        couchbaseHosts,
                        "myBucket",
                        ""));
    } catch (IOException | ConfigurationException ex) {
        errorMsg = ex.getMessage();
    }
    return couchbaseClient;

Thanks for you help :smile:

@cnguyen can you please share what the client logs say? I don’t see anything really bad in the code there, maybe the client logs tell us more (ideally, can you crank up the logging to trace/finest?)

Hi daschl,

I saw nothing in client logs. Actually with the default level, it is very verbose and i’m not really sure that my server will survive to a trace level on couchbase client :wink:

Maybe it is at cluster communication level ?
What is the goal of the babysitter service ?