Uploaded image for project: 'Couchbase .NET client library'
  1. Couchbase .NET client library
  2. NCBC-940

Client receives "Cluster does not support Data Services" when Cannot Resolve Node Name

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.1.3
    • Fix Version/s: 2.1.4
    • Component/s: None
    • Labels:
      None

      Description

      Is "The cluster does not support Data services" the expected error in the following situation? This is for Couchbase Server 3.0.3 and .NET Client 2.1.3

      Here are the steps to reproduce:

      • Configure a single node running Couchbase Server 3.0.3 (likely any version) on any OS and name the node "cbhost.domain". Use a local HOSTS file with the line (substitute valid IP):

      cbhost.domain 10.17.2.241

      • On a separate client Windows system running Couchbase .NET client 2.1.3, use an app.config with the following IP entry:

      <add uri="http://10.17.2.241:8091/pools"></add>

      • Note that the client is able to create the Cluster and Bucket objects successfully

      using (var cluster = new Cluster("couchbaseClients/couchbase"))
      {
      using (var bucket = cluster.OpenBucket())

      { //bucket.Insert here }

      }

      • However, on the first bucket.Insert, you will receive the exception "The cluster does not support Data services". At this point, the client is attempting to use the node name provided by the cluster vbucket map (which contains the URI of the node name, in this case, cbhost.domain which does not resolve on the client)

      Expectation is that the error should give an indication that the node cannot be reached. Code looks to be here, as an example:

      http://review.couchbase.org/#/c/51598/1/Src/Couchbase/Core/Buckets/CouchbaseRequestExecuter.cs

        Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

          Hide
          jmorris Jeff Morris added a comment -

          I agree the message isn't very straight forward in this case. It should be something like cannot resolve DNS, but that really isn't the problem.

          Show
          jmorris Jeff Morris added a comment - I agree the message isn't very straight forward in this case. It should be something like cannot resolve DNS, but that really isn't the problem.
          Hide
          jmorris Jeff Morris added a comment -

          In CouchbaseConfigContext, if the Servers list is empty after initialization the SDK should fail fast with an Exception or perhaps return back an appropriate error for each operation.

          Show
          jmorris Jeff Morris added a comment - In CouchbaseConfigContext, if the Servers list is empty after initialization the SDK should fail fast with an Exception or perhaps return back an appropriate error for each operation.
          Hide
          jmorris Jeff Morris added a comment -

          Jeff D -

          Can you confirm that the SDK throws the proper exception when this condition is met?

          -Jeff M

          Show
          jmorris Jeff Morris added a comment - Jeff D - Can you confirm that the SDK throws the proper exception when this condition is met? -Jeff M
          Hide
          jdillon Jeff Dillon (Inactive) added a comment -

          Did you want me to test on 2.1.4? Where do I find the bits? thx

          Show
          jdillon Jeff Dillon (Inactive) added a comment - Did you want me to test on 2.1.4? Where do I find the bits? thx
          Hide
          jmorris Jeff Morris added a comment -

          Jeff -

          Try this, it's a build with the commit in it.

          -Jeff

          Show
          jmorris Jeff Morris added a comment - Jeff - Try this, it's a build with the commit in it. -Jeff

            People

            • Assignee:
              jdillon Jeff Dillon (Inactive)
              Reporter:
              jdillon Jeff Dillon (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Gerrit Reviews

                There are no open Gerrit changes

                  PagerDuty

                  Error rendering 'com.pagerduty.jira-server-plugin:PagerDuty'. Please contact your Jira administrators.