Weird Error: "GetVBucket is implemented only for VBucketNodeLocator implementation of IMemcachedNodeLocator"


#1

Hi Everyone,

Thanks in advance for the help. I have been getting the following error periodically.

GetVBucket is implemented only for VBucketNodeLocator implementation of IMemcachedNodeLocator

I am using couchbase as a session state offload and a caching utility.

The conditions under which I was receiving this error are as follows:

Couchbase 2.5.1 enterprise.
2 node system
when I am calling the following method:

var answer = _couchBaseClient.KeyExists("Key_Name");

For some reason the KeyExists method throws this error.

I am running this code in a two IIS server environment. The error essentially prevents the site from being usable.

I was able to remove this error but one of the two ways (neither of which is preferable to me):

removing the use of the KeyExists method which I don’t want to do.
remove 1 node of my 2 node setup which makes fail over not possible…again something I don’t want to do.

So my question(s) is:

What I am doing wrong?
Configuration Issue?
Not best practice?

Thanks,

-zd


#2

notrosh -

What bucket type are you using (Memcached or Couchbase)?

If you can replicate this and post a project/solution to a NCBC, it would be very helpful: http://www.couchbase.com/issues/browse/NCBC

Thanks,

Jeff


#3

Jeff,

We are using a couchbase bucket.

I will work on getting the other item you requested.

Thanks,

-zd


#4

Hi Zack -

This does look odd, I created a Jira ticket (NCBC) to track this as a bug: http://www.couchbase.com/issues/browse/NCBC-584

You can add yourself as a watcher and follow the ticket.

Thanks,

Jeff


#5

I can’t replicate this. If you can post an example or steps to reproduce, that would be helpful.

Thanks,

Jeff


#6

Hi,

I am getting the same error while calling base.Create(Event, Key, PersistTo.One);

However, I replaced PersistTo.Zero and the error went away. I am not sure weather it has anything to do with it, but with PersistTo.One it was not letting me create a document.