Temporary failure received from server. Try again later

Hi,
Sometimes when I issue some (10-20) operations involving getAndLock, insert, upsert and remove I get the error code 11

Temporary failure received from server. Try again later

As far as I can see it only happens when I also use getAndLock.

My environment is node.js 4.4.0 with couchbase client 2.1.4 accessing Couchbase server 4.1.1-5914 Community Edition (build-5914).
The Couchbase cluster is 2 Ubuntu server 14.04 with 16GB RAM and .

Are you on Couchbase Server 4.1 or higher? There had been a few smaller issues with getAndLock, but I don’t remember the specifics of when they were fixed.

The TMPFAIL might be returned by the cluster if you’ve exhausted the memory and it is looking for items to eject or during warmup (which could happen after a process crash).

I can’t think of anything specific to a getAndLock though. Can you @brett19?

Hey @alonspiegel,

The temporary failure error is exclusively returned by the server. Most of the time, it is due to bucket memory exhaustion or server overload as Matt mentioned. Would you be able to post some details of your clusters configuration and usage?

Cheers, Brett

Hi,
As I wrote - the Couchbase server’s version is 4.1.1.
The bucket’s size is less than 2GB (data and indexes) so I don’t think this a matter of memory exhaustion. I am not using any special option like N1QL or spatial indexes. The only running service is data service (no index nor query service).
And if it is a memory exhaustion issue - why does it occur only with I invoke the GetAnd Lock command.

Regards,
Alon.

We can’t think of any reason otherwise you’d get a tmpfail in getAndLock(). Do you have a simple code snippet that demonstrates the issue? We’d be glad to look into it further.

Also, check the server logs during this for anything suspicious. It’s not that likely, but it’s possible there’s a KV system restart happening in there somehow.

It happens when running a getAndLock() on a locked item.
Attached is a demo program in node.js
DemostrateExceptionInGetAndLock.zip (852 Bytes)

You would need to run:
npm install couchbase npm install async

and then run it:
$ node DemostrateExceptionInGetAndLock.js

Regards,
Alon