We are trying to put an object which is greater than 1 MB, in to the membase server. It seems it is not putting it through.
Is there a size limit to storing a value in membase server?
Hi there. The object size limit on the Membase server is actually 20mb (it's theoretically unlimited but we put a "soft" limit for supportability reasons).
Can you confirm that you're using a bucket of type Membase and not memcached (which still has the 1mb object size limit).
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/overviewCall or email "sales -at- couchbase-dot- com" today!
Thanks, we identified the problem as being in the Enyim caching client we are using to connect. We built our own copy without the check for 1MB object size and it is now working with an 8MB object.
Can you please clarify what you mean by a "soft limit", is it that we can attempt to insert larger objects at our own risk or will membase throw an error if we try?
Thanks for the analysis and quick turnaround. I'll file an issue with the Enyim client to have that fixed as well.
By "soft" I meant its a limit put in place by us, not by any technical limitation. Membase will throw an error if you try to put in an object larger than 20mb. If this is something you feel that needs changing I'll be happy to file an enhancement request and I'd like to understand your particular use case.
Thanks for clarifying that. We think we can reduce the object size by a decent factor which means that 20mb should be fine for now, however in the future we might need to look at a solution that doesn't limit it.
Use case is we are developing analytics software using MVC. We are using Membase to store the models that we generate from our RDB (they can be very slow to generate), which are then rendered as a view. One of the Models that has been causing us problems contains a very large collection of text which grew to 8mb very quickly. We think that by removing some of the properties we can reduce the size but as this is a growing collection we are slightly worried that over time this size may grow beyond 20mb.
We also encountered this issue with the Enyim client and a previous memcached client. A quick workaround that we have implemented is to get the Enyim source from Github and to modify the BinaryRequest.cs class in the Enyim.Caching / Protocol / Binary folder, changing the following line that imposes the size limitation (e.g. to 2048 * 2048 for a 2MB object limit):
if (bodyLength > 1024 * 1024) throw new InvalidOperationException("BodyTooLong");
Thanks for the instructions dtimlin!
I filed this issue with Enyim: http://github.com/enyim/EnyimMemcached/issues/#issue/30
© 2013 COUCHBASE All rights reserved.