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

Ejection slow down under constant high set

2 replies [Last post]
  • Login or register to post comments
Wed, 04/11/2012 - 10:53
redbert
Offline
Joined: 03/13/2012
Groups: None

I am wondering if I am missing something in the following problem:

My program (using the java client) inserts a lot of items to CB when it's started up. The set rate (e.g. 500 items/s) should be constant and sustainable (i.e. disk queue size should goes up and down to zero).

This works fine until we hit the high water mark. At this point, CB should eject items from the memory as they are all persisted. This happened as planned. However, the ejection rate decreased overtime. So the first time, the ejection is about 20k, the next time it is about 18k ... This happened until the ejection rate got lower than the set rate (500 items/s). At this point the temp OO occurred and the set operations failed. This happened until a point when every set operation failed. While all of this happened the disk queue got emptied regularly. When every set requests fail, the disk queue is zero.

Then after a few minutes, the eject started again. But the same thing happened. The ejection rate decreased and decreased until all the set failed. This cycle started again and again.

Did someone encounter this before? I can't find a bug report that describes this problem. Is there are tuning option I should change?

Thank you

Top
  • Login or register to post comments
Fri, 04/13/2012 - 00:53
ingenthr
Offline
Joined: 03/16/2010
Groups:

I wouldn't expect the ejection rate to slow down. Which version of the server are you running?

Also, are you doing a backoff when you hit temp OOM? You should be able to backoff with the Java client and then keep going.

Top
  • Login or register to post comments
Fri, 04/13/2012 - 05:33
redbert
Offline
Joined: 03/13/2012
Groups: None

I am running 1.8.0 on Linux. I also tested it on a 1.8.0 on Windows as well.

There is no temp OO until the ejection rate got slower than the set rate.

How do I do back off with the Java client? I am getting the state from future.getStatus().isSuccess(). I can see the status from future.getStatus().getMessage() but that is a string. Is there a status code returned somewhere?

Thanks

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