Uploaded image for project: 'Couchbase Java Client'
  1. Couchbase Java Client
  2. JCBC-102

Client.get() returns null values when using CouchbaseConnectionFactoryBuilder

    XMLWordPrintable

Details

    • Bug
    • Resolution: Cannot Reproduce
    • Major
    • None
    • 1.1dp
    • Core
    • Security Level: Public
    • None
    • OSX
      Couchbase Server 2.0.0dp4r-730-rel
      Java Client 1.1-dp

    Description

      Java client 1.1-dp seems to have a problem using CouchbaseConnectionFactoryBuilder. Client.get() returns null values regardless of whether a key exists or not. Java client 1.0.3 doesn't have the problem.

      With 1.1-dp, if I set up a client like so:

      URI base = new URI(String.format("http://%s:8091/pools", server));
      List<URI> baseURIs = new ArrayList<URI>();
      baseURIs.add(base);
      CouchbaseConnectionFactoryBuilder cfb = new CouchbaseConnectionFactoryBuilder();
      cfb.setOpTimeout(10000);
      cfb.setOpQueueMaxBlockTime(10000);
      CouchbaseConnectionFactory cf = cfb.buildCouchbaseConnection(baseURIs, bucket, "", "");
      CouchbaseClient client = new CouchbaseClient(cf);

      then try to get a key like so:

      getFuture = client.asyncGet(key);
      value = (String) getFuture.get(); // value is null

      the .get() doesn't fail but the returned value is null.

      However, if I set up the 1.1-dp client like so, using just CouchbaseConnectionFactory:

      URI base = new URI(String.format("http://%s:8091/pools", server));
      List<URI> baseURIs = new ArrayList<URI>();
      baseURIs.add(base);
      CouchbaseConnectionFactory cf = new CouchbaseConnectionFactory(baseURIs, bucket, "");
      CouchbaseClient client = new CouchbaseClient(cf);
      getFuture = client.asyncGet(key);
      value = (String) getFuture.get(); // value is not null and contains the document for the key

      I want to use CouchbaseConnectionFactoryBuilder because I'm doing a bulk import of millions of documents and I need the timeout/blocking behaviour to prevent swamping the client.

      Java client 1.0.3 works correctly - using CouchbaseConnectionFactoryBuilder to build connection factories and clients results in the correct behaviour.

      Attachments

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

        Activity

          People

            rags Raghavan Srinivas (Inactive)
            Tim Pedersen Tim Pedersen
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty