We are using couchbase server 6.6.3 version and couchbasenetclient 3.2.2 version. Bucket type is couchbase.
when one node failover , we can’t reach other nodes. We get an exception. Exception description is “Only the default Scope is supported by Memcached Buckets”.
Are you sure its a Couchbase bucket? The only place I see this error message in the source is in the MembaseBucket class, which only works with Memcached buckets. It would be thrown if you tried to open a Scope in a Memcached bucket that was not the default scope as that is the only Scope type supported by Memcached buckets.
I also noticed this error message yesterday on 3.2.2, this time while running integration tests in Linq2Couchbase. Several tests failed with this error, but running them again resolved it, and there were definitely no memcached buckets.
I’m wondering if the issue might not be in ClusterContext.GetOrCreateBucketAsync. It appears to me that any error bootstrapping as a Couchbase bucket then results in an attempt to bootstrap as a memcached bucket. In the case of a hiccup on the first step, the second could succeed in initializing a Couchbase bucket as a memcached bucket. Then it would return errors on non-default scope/collections for the lifetime of the Bucket object.
Perhaps there’s a cleaner way to recognize memcached buckets rather than just catching any error? Some particular error code perhaps? I see that we get “CCCP is not supported by this bucket type.” for memcached buckets on Server 7.0, but is this consistent across all supported versions?
Yes, it is a bug when you cannot connect for some reason. Basically, its just a misleading error message - the real issue is that the connection cannot be made - which related to the environment/cluster state.