Inconsistency in getBulk

Hi,

I am developing a platform where i need to share data between machines. I am seeing that getBulk does not give consistent data in may cases.

Couchbase version: 1.8.1 Community edition
Bucket type: Membase (Also tried Couchbase)
Client used: Couchbase-Java-Client (http://packages.couchbase.com/clients/java/1.1.7/Couchbase-Java-Client-1...)

My cluster comprise of 2 nodes. My bucket is of 500MB(250MB/node) ant there is no replication. In this bucket i have around 20000 keys. I am requesting for 2000 keys from the cluster at many a times.

I have 5 machines which try to access this data. One of the machine has put 2000 keys and is re-putting it every 10 minutes. When i try to do getBulk for these 2000 keys from another machine, it returns only around 200 keys at first go, trying getBulk multiple times increases the number of returned keys over times. There is no exception thrown while putting or getting.

Conclusion: getBulk is giving incremental number of keys.

Is this a known issue and is there a fix workaround for this.

Thanks for the support,
Ankur

1 Answer

« Back to question.

In order to pin down whats going on, can you share essential code snippets (like the getBulk code and where you set it). If its longer, please paste it somewhere else - thanks!

Thanks for the reply.

Anyways the problem was because of append functionality of cache rather than the getbulk. We were storing the keys given for getbulk in another key with comma separator. If the initial set of this key is more than 20000 characters then the subsequent appends are not working fine. This results into an inconsistent read of the keys.