SASL bucket errors - Error #130: Out of memory (when I've got plenty of memory).
Hi there,
First of all, to give some context: I've done the following:
- Set up a very fresh membase install on Ubuntu 64bit server.
- Created a new bucket called "sasl" with SASL auth enabled and no password
- Deleted the default bucket
Here's a screenshot of my setup. http://cl.ly/38YX As you can see I've artificially left a good chunk of memory free.

I also have 0 data whatsoever (no keyval pairs) in my bucket. I'm trying to connect to it using Dustin Salling's Memcached-test python script (https://github.com/dustin/memcached-test)
I keep seeing Error 130 Out of Memory errors. Here's the interesting thing. If I delete that sasl bucket and re-enable the "default" bucket, everything works fine.
I've also tried using Mike Perham's Dalli ruby client (https://github.com/mperham/dalli) and I have the exact same problem.
Has anyone encountered this problem? I'm not exactly entirely familiar with SASL (I have MEMCACHE_USERNAME and MEMCACHE_PASSWORD environment variables set, but that seems to make no difference). I'm not entirely sure what MEMCACHE_USERNAME does in this context since the membase SASL setup only asks for a password (which apparently is optional, so that's confusing too).
Can you please send to me the details on how you are accessing the bucket?
Bhawana
Can you please send to me the details on how you are accessing the bucket?
Bhawana
Sure, it's pretty simple. I've tried to use both a Ruby client (Dalli) and Dustin's python test client (links in original post). All I do is change the IP to point to the host, and try to set a key. Everything works fine if I use a default bucket (so, no firewall problems), but as soon as I make a SASL bucket and delete the default bucket, stuff blows up.
I have MEMCACHE_USERNAME and MEMCACHE_PASSWORD environment variables stored. Dalli logs a successful authentication before the OOM error, Dustin's client just returns the OOM error. Both are error code 130.
Here's a simple ruby script:
require 'rubygems'
require 'dalli'
$cache = Dalli::Client.new '127.0.0.1:11211' #replace 127.0.0.1 with IP of server
$cache.set('testkey','testvalue')
Please let me know if there are any other details you need, and thanks in advance for your help!
You need to use sasl_auth_plain when you have sasl authneticated buckets. (https://github.com/dustin/memcached-test/blob/master/mc_bin_client.py line 160) To do a sanity test you can follow the following steps on one of your servers: [root@redhat32 management]#cd /opt/membase/1.6.1rc2/bin/ep_engine/management
[root@redhat32 management]#python
import mc_bin_client
c = mc_bin_client.MemcachedClient('127.0.0.1', 11210)
c.sasl_auth_plain('yourbucketname', 'yourbucketpassword')
c.stats('vbucket')
c.vbucketId = [AN ACTIVE VBUCKET ID THAT YOU SAW IN THE OUTPUT OF THE ABOVE COMMAND, e.g c.vbucketId=456]
c.set('x', 0, 0, 'hi')
c.get('x')
Let me know if this works. Bhawana
Wow, for some reason it didn't occur to me that the username is actually the name of the bucket. I was using my membase admin username instead for MEMCACHE_USERNAME.
This solves my problems, but it's odd to me that I see an Out of Memory error. Can you have someone look into that? It doesn't seem to make any sense.
Thanks again Bhawana!
I believe this has already been resolved on the latest build. We should be releasing it in the next couple weeks, would be good to get some verification from you that it has in fact resovled that error. You should be getting an "Auth error"
Perry
Sounds good, I'll keep an eye out for that build. Thanks for the info!
Hello,
Can you please send the'diagnostic report' over as detailed here:
http://wiki.membase.org/display/membase/Monitor+Log
-Bhawana
Forum support is great for free but sometimes you need a guaranteed response time and dedicated resources for your questions or issues.
Consider purchasing enterprise-level support from Membase: http://www.membase.com/products-and-services/overview
Call or email "sales -at- membase -dot- com" today!