Couchbase
  • Why NoSQL?
  • Couchbase Server
  • Download
  • Resources
  • Careers
Home | Forums | Membase | Membase Server 1.7.x

Strange behaviour when disk is full

5 replies [Last post]
  • Login or register to post comments
Tue, 08/16/2011 - 04:44
cjexxi
Offline
Joined: 08/12/2011
Groups: None

Hi,
I'm facing quite strange problem when the disk is full.
Here are the situation:
1. Membase server 1.7.1
2. RAM set to 100MB
3. Run an apps to fill in the membase bucket... until the "items" stop increasing and the "disk write queue" keep rising. (the disk already full)
4. up until condition no.3 , another apps that "getting" the value stop working...
5. membase web console still not reporting "server down".
6. stopped the membase windows service and start again hoping the membase server goes online again
7. after restart, web console reporting "server down"
I really confused.... how to resolve/to put the server online again....

so I that another step, using process explorer, when restarting membase server, it shows that "memcached.exe" process do not stop/killed.
THen I "kill" memcached.exe process manually, and starting the membase server service... and no more server down.
After this I move the data file to another location with more HDD space.

Strange huh... I'm not sure is this a bug or by design...
I'm wondering, are there any "steps" that can handle this more gracefully?

Thanks,
Johan

Top
  • Login or register to post comments
Tue, 08/16/2011 - 15:42
perry
Offline
Joined: 10/11/2010
Groups:

Johan, in general, do not run out of disk space ;-) Even traditional RDBMS don't work very well when that happens.

The issue here is that when you shut the service down the first time, the memcached process will keep running as it tries to write the data to disk (which it won't be able to since the disk is full). This is by design, because the server doesn't really "know" that the disk is full, but it doesn't want to shut down while items are in the queue because that would possibly cause data loss.

We would really recommend monitoring the system more closely so that you can both avoid running out of disk, and take action quickly if it does happen. The preferred action would be to add another server to the cluster and rebalance to give it more disk space overall.

Perry

__________________

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 Couchbase: http://www.couchbase.com/products-and-services/overview
Call or email "sales -at- couchbase-dot- com" today!

Top
  • Login or register to post comments
Wed, 08/17/2011 - 21:29
cjexxi
Offline
Joined: 08/12/2011
Groups: None

Dear Perry,
this is just a suggestion, not sure if it is possible to implement....
Since "memcached.exe process" do not got killed while the membase service is shut down, during this state, is it possible to make "membase node-init" to move the data file to another location (with more free space)? So that "memcached.exe process" can continue to persisting the data to disk.
I do realize that "membase node-init" moving data file without the data itself, but I think this way the "memcached.exe process" does not becoming "ghost" until the server got restarted or the process got killed, and when membase server get started back, all "servers" are back online...

BTW, I also try to add new server and rebalance.... and no luck.... the rebalance failed...
Any suggestion on this?

Thanks,
Johan

Top
  • Login or register to post comments
Wed, 08/17/2011 - 23:50
kuerant
Offline
Joined: 08/09/2011
Groups: None

Hi, cjexxi,

I am curious how you could fill up your disk with only 100MB RAM allocated to membase.

I setup a single host test evironment with 1GB RAM + 1TB Disk, I can just insert a little records.
please see http://www.couchbase.org/forums/thread/how-many-records-can-be-holden-me...

I wrote client in C using libmemcached.

- ant

Top
  • Login or register to post comments
Thu, 08/18/2011 - 03:17
cjexxi
Offline
Joined: 08/12/2011
Groups: None

here is the code snippet (C#) I'm using:

            using (MembaseClient client = new MembaseClient("default", ""))
            {
                client.Store(Enyim.Caching.Memcached.StoreMode.Set, "key1", "Hello World awal");
 
                for (int i = 1; i < 800000; i++)
                {
                   client.Store(Enyim.Caching.Memcached.StoreMode.Set, "key" + i, "replace this with very long string, " + DateTime.Now.AddMinutes(2).ToString(), DateTime.Now.AddMinutes(2));
                }
            }

replace the "value" with very long string...

before doing any further, I set the "data file" to a flashdisk with 128MB size only.
then run the code....

Top
  • Login or register to post comments
Tue, 08/23/2011 - 17:07
perry
Offline
Joined: 10/11/2010
Groups:

Johan, what were the errors you got on rebalance and can you attempt to retry it?

Perry

__________________

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 Couchbase: http://www.couchbase.com/products-and-services/overview
Call or email "sales -at- couchbase-dot- com" today!

Top
  • Login or register to post comments
  • Login or register to post comments
  • Login
  • Register

Company

  • About Us
  • Leadership
  • Customers
  • Partners
  • Contact Us

Product

  • Couchbase Server
  • Couchbase SDKs
  • Use Cases
  • Documentation
  • Forums

Open Source

  • Couchbase Project
  • Couchbase vs. CouchDB

Commercial

  • Subscriptions & Support
  • Training & Services

News

  • Blog
  • Newsletter
  • Press Releases
  • Buzz

Follow Us

    
  • Customer Login
  • Terms of Service
  • Privacy Policy
  • Trademark Policy
  • Site Map

© 2013 COUCHBASE All rights reserved.

Sign in to Couchbase Community

close
  • Create new account
  • Request new password
You are logging into the Forums, Wiki and Issue Tracker