CouchbaseMock icon indicating copy to clipboard operation
CouchbaseMock copied to clipboard

Can't open bucket with Couchbase Java SDK (2.1.2)

Open eincs opened this issue 9 years ago • 23 comments

When I trying to connect to CouchbaseMock in my porject, TimeoutException occurs. I can find Couchbase client trying to connect to 11210port . But CouchbaseMock do not seems to open 11210 port (I check with netstat -an | grep LISTEN) Is there the way to use CouchbaseMock with lastest version of java sdk?

Code (I embeded CouchbaseMock on my project):

BucketConfiguration bucketConfiguration = new BucketConfiguration();
bucketConfiguration.numNodes = 10;
bucketConfiguration.numReplicas = 3;
bucketConfiguration.name = "default";
bucketConfiguration.type = Bucket.BucketType.COUCHBASE;
bucketConfiguration.password = "";

ArrayList<BucketConfiguration> configList = new ArrayList<>();
configList.add(bucketConfiguration);
CouchbaseMock couchbaseMock = new CouchbaseMock(0, configList);
couchbaseMock.start();
couchbaseMock.waitForStartup();


MockClient mockClient = new MockClient(new InetSocketAddress("localhost", 8092));
couchbaseMock.startHarakiriMonitor("localhost:" + mockClient.getPort(), false);
mockClient.negotiate();

DefaultCouchbaseEnvironment env = DefaultCouchbaseEnvironment.builder().build();
CouchbaseCluster cluster = CouchbaseCluster.create(env, Lists.newArrayList("127.0.0.1"));

// TimeoutException occurs on following statement:
cluster.openBucket("bucket");

StackTrance of the exception:

Exception in thread "main" java.lang.RuntimeException: java.util.concurrent.TimeoutException
    at com.couchbase.client.java.util.Blocking.blockForSingle(Blocking.java:93)
    at com.couchbase.client.java.CouchbaseCluster.openBucket(CouchbaseCluster.java:108)
    at com.couchbase.client.java.CouchbaseCluster.openBucket(CouchbaseCluster.java:99)
    at com.couchbase.client.java.CouchbaseCluster.openBucket(CouchbaseCluster.java:89)
    at com.couchbase.client.java.CouchbaseCluster.openBucket(CouchbaseCluster.java:79)
    at kr.co.vcnc.fearow.CouchbaseMockMain.main(CouchbaseMockMain.java:52)
Caused by: java.util.concurrent.TimeoutException
    ... 6 more

StackTrace that logged by couchbase-client:

[WARN][Endpoint][cb-io-1-1] [null][KeyValueEndpoint]: Could not connect to endpoint, retrying with delay 32 MILLISECONDS: 
java.net.ConnectException: Connection refused: localhost/127.0.0.1:11210
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:716)
    at com.couchbase.client.deps.io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:208)
    at com.couchbase.client.deps.io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:281)
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:528)
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
    at com.couchbase.client.deps.io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
    at com.couchbase.client.deps.io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)
    at java.lang.Thread.run(Thread.java:745)

i sumit this issue on Couchbase forum, but I also create issue on the repo.

eincs avatar Apr 24 '15 03:04 eincs

Same problem here. I opened #10 to upgrade CouchbaseMock to latest version of Couchbase Java SDK.

obazoud avatar Apr 27 '15 07:04 obazoud

The Java client will attempt (by default) to first connect to 11210 to obtain the initial configuration, and if that fails, connect to port 8091.

The mock client does not listen on the standard ports; it can be made to allow the configuration port to be 8091 if you simply pass that value as the port value to the constructor (e.g. new CouchbaseMock(8091, configList).

There may be some other steps necessary to enable the Java 2.x client to connect to the mock, (such as disabling the 'carrier configuration') -- I'll get more info in a bit about that.

Additionally, the usage of MockClient and HarakiriMonitor is wrong. HarakiriMonitor is actually a client, and MockClient actually opens a server socket. The MockClient is actually a server (in the sense that it opens a listening socket).

Typically the MockClient is invoked before the harakiri monitor starts, and will open a socket to listen on. You will then pass the address of this socket to startHarakiriMonitor, which will then send you the actual configuration port of the mock server (i.e. the client configuration port).

You can see this in action by looking at the tests: https://github.com/couchbase/CouchbaseMock/blob/master/src/test/java/org/couchbase/mock/client/ClientBaseTest.java#L90

Please note that this apparently odd model (the client is the listening port, etc. etc.) makes sense in the typical use case of the Mock, which is being a dummy server that is a child process of another non-java process (rather than having it all integrated into a single Java process). This way, the actual process driving the test may control things such as port allocation, and reduce the burden of trying to determine the mock listening port (in typical invocation, the harakiri port is passed on the commandline).

mnunberg avatar Apr 27 '15 15:04 mnunberg

You can disable the carrier configuration usage in your client using:

    public void startClient() throws IOException {
        cluster = CouchbaseCluster.create(DefaultCouchbaseEnvironment.builder().
              bootstrapCarrierEnabled(false).build(), Arrays.asList("127.0.0.1"));
        bucket = cluster.openBucket("default");
    }

eitan101 avatar Jun 04 '15 09:06 eitan101

Using the info from above:

couchbaseMock = new CouchbaseMock("localhost", 8091, 10, 1024);
couchbaseMock.start();
couchbaseMock.waitForStartup();

cluster = CouchbaseCluster.create(DefaultCouchbaseEnvironment.builder().bootstrapCarrierEnabled(false).build(), Arrays.asList("127.0.0.1"));
Bucket bucket = cluster.openBucket("default");

Gives the following error:

com.couchbase.client.core.config.ConfigurationException: Could not open bucket.
    at com.couchbase.client.core.config.DefaultConfigurationProvider$5.call(DefaultConfigurationProvider.java:274)
    at com.couchbase.client.core.config.DefaultConfigurationProvider$5.call(DefaultConfigurationProvider.java:271)
    at rx.internal.operators.OperatorOnErrorResumeNextViaFunction$1.onError(OperatorOnErrorResumeNextViaFunction.java:77)
    at rx.internal.operators.OperatorDoOnEach$1.onError(OperatorDoOnEach.java:70)
    at rx.internal.operators.OperatorMap$1.onError(OperatorMap.java:49)
    at rx.internal.operators.OperatorDoOnEach$1.onError(OperatorDoOnEach.java:70)
    at rx.internal.operators.OperatorTake$1.onError(OperatorTake.java:57)
    at rx.internal.operators.OperatorMerge$MergeSubscriber.drainAndComplete(OperatorMerge.java:473)
    at rx.internal.operators.OperatorMerge$MergeSubscriber.innerError(OperatorMerge.java:426)
    at rx.internal.operators.OperatorMerge$MergeSubscriber.access$800(OperatorMerge.java:93)
    at rx.internal.operators.OperatorMerge$InnerSubscriber.onError(OperatorMerge.java:552)
    at rx.internal.operators.OperatorMap$1.onError(OperatorMap.java:49)
    at rx.internal.operators.OperatorMap$1.onNext(OperatorMap.java:58)
    at rx.internal.operators.OperatorMerge$InnerSubscriber.emit(OperatorMerge.java:635)
    at rx.internal.operators.OperatorMerge$InnerSubscriber.onNext(OperatorMerge.java:545)
    at rx.internal.operators.OperatorMap$1.onNext(OperatorMap.java:55)

Digging further, the error cause is:

Instantiation of [simple type, class com.couchbase.client.core.config.DefaultCouchbaseBucketConfig] value failed: 
Partition size is not equal after conversion, this is a bug.

Anybody got any ideas why this is thrown with Couchbase client 2.x ???

jbwatson avatar Jun 15 '15 14:06 jbwatson

Hi @mnunberg I'm having trouble on running a few tests that depend on CouchbaseMock. The same tests pass on iOS but throws java.util.concurrent.TimeoutException on Linux (I tried it on Debian stretch and Ubuntu 14.10).

Could you take a look on the set-up below and check for any problems that may be preventing it from running on Linux?

Response for Http GET on http://localhost:8109/pools/default/buckets

[{"nodeLocator":"vbucket","streamingUri":"/pools/default/bucketsStreaming/default","uri":"/pools/default/buckets/default","proxyPort":0,"bucketType":"membase","nodes":[{"replication":1,"hostname":"localhost:8109","os":"amd64-Linux-3.16.0-4-amd64","couchApiBase":"http://127.0.0.1:8109/default","clusterCompatibility":1,"ports":{"proxy":0,"direct":46540},"version":"9.9.9","uptime":18,"clusterMembership":"active","status":"healthy"}],"flushCacheUri":"/pools/default/buckets/default/controller/doFlush","stats":{"uri":"/pools/default/buckets/default/stats"},"quota":{"rawRAM":104857600,"ram":104857600},"saslPassword":"","replicaNumber":0,"name":"default","authType":"sasl","vBucketServerMap":{"vBucketMap":[[0],[0],[0]
                                                     ...
,"numReplicas":0,"serverList":["localhost:46540"],"hashAlgorithm":"CRC"}}]

This tells me CouchbaseMock is listening on 127.0.0.1:8109 and from the response what I can understand is that I have a bucket default.

JUnit TestRule implementation

public class CouchbaseServerRule implements TestRule {

    private static final Logger logger = LoggerFactory.getLogger(CouchbaseServerRule.class);

    private CouchbaseMock couchbaseMock;

    private CouchbaseServerRule(CouchbaseMock couchbaseMock){
        this.couchbaseMock = couchbaseMock;
    }

    @Override
    public Statement apply(Statement statement, Description description) {
        return new Statement() {
            @Override
            public void evaluate() throws Throwable {
                couchbaseMock.start();
                couchbaseMock.waitForStartup();
                try {
                    statement.evaluate();
                } finally {
                    couchbaseMock.stop();
                }
            }
        };
    }

    public String getUrl(){
        return String.format("%s:%d", couchbaseMock.getHttpHost(), couchbaseMock.getHttpPort());
    }

    public static Builder builder(){
        return Builder.instance();
    }

    public static class Builder {
        private int numberOfNodes = 1;
        private int numberOfReplicas = 0;
        private String bucketName = "default";
        private BucketType bucketType = BucketType.COUCHBASE;

        private static Builder instance() {
            return new Builder();
        }

        public Builder withNumberOfNodes(final int numberOfNodes) {
            this.numberOfNodes = numberOfNodes;
            return this;
        }

        public Builder withNumberOfReplicas(final int numberOfReplicas) {
            this.numberOfReplicas = numberOfReplicas;
            return this;
        }

        public Builder withBucketName(final String bucketName) {
            this.bucketName = bucketName;
            return this;
        }

        public Builder withBucketType(final BucketType bucketType) {
            this.bucketName = bucketName;
            return this;
        }

        public CouchbaseServerRule build() {
            BucketConfiguration bucketConfiguration = new BucketConfiguration();
            bucketConfiguration.numNodes = this.numberOfNodes;
            bucketConfiguration.numReplicas = this.numberOfReplicas;
            bucketConfiguration.name = this.bucketName;
            bucketConfiguration.type = this.bucketType;

            ArrayList<BucketConfiguration> configList = new ArrayList<>();
            configList.add(bucketConfiguration);

            try {
                return new CouchbaseServerRule(new CouchbaseMock(8109, configList));
            } catch (IOException e) {
                logger.error("Could not initialize couchbase Mock Server", e);
            }
            return null;
        }
    }
}

Couchbase Client

@Data
@Singleton
public class CouchbaseClient implements Managed {

    private final String bucketName;
    private final Map<String, Bucket> buckets = new HashMap<>();
    private final List<String> nodeAddresses = Arrays.asList("localhost");
    private Cluster cluster;

    @Inject
    private CouchbaseClient(@BucketName String bucketName) {
        this.bucketName = bucketName;
    }

    @Override
    public void start() {
        cluster = createCouchbaseCluster();
        buckets.put(bucketName, cluster.openBucket(bucketName));  <<<< It throws the exception when it executes this line
    }

    @Override
    public void stop() {
        if (cluster != null) {
            cluster.disconnect();
        }
    }

    public void createDocument(String bucketName, String key, JsonObject object) {
        buckets.get(bucketName).insert(JsonDocument.create(key, object), MASTER);
    }

    public JsonObject getDocument(String bucketName, String key) {
        JsonDocument document = buckets.get(bucketName).get(key);
        return document == null ? null : document.content();
    }

    public JsonObject deleteDocument(String bucketName, String key) {
        return buckets.get(bucketName).remove(key, MASTER).content();
    }

    public void updateDocument(String bucketName, String key, JsonObject jsonObject) {
        buckets.get(bucketName).replace(JsonDocument.create(key, jsonObject), MASTER);
    }

    public void upsertDesignDocument(String bucketName, DesignDocument designDocument) {
        buckets.get(bucketName).bucketManager().upsertDesignDocument(designDocument);
    }

    public ViewResult queryView(String bucketName, String designDocument, String view, List<String> keys) {
        ViewQuery query = createViewQuery(designDocument, view).key(JsonArray.from(keys)).stale(FALSE);
        return buckets.get(bucketName).query(query);
    }

    private ViewQuery createViewQuery(String designDocument, String view) {
        return ViewQuery.from(designDocument, view);
    }

    private CouchbaseCluster createCouchbaseCluster() {
        return CouchbaseCluster.create(DefaultCouchbaseEnvironment.builder().bootstrapCarrierEnabled(false).build(), nodeAddresses);
    }
}

And finally the breaking test

public class CouchbaseClientIT {
    private static CouchbaseClient client;

    @ClassRule
    public static final CouchbaseServerRule COUCHBASE_SERVER_RULE = CouchbaseServerRule.builder().withBucketName(BUCKET_NAME).build();

    @BeforeClass
    public static void prepare() {
        Injector injector = createInjector(new PromotionGuiceModule(BUCKET_NAME));
        client = injector.getInstance(CouchbaseClient.class);
    }

    @Test
    public void shouldCreateDocument() {
        // given
        client.start();  <<< The exception is thrown when executing this line

        // when
        Document<JsonObject> document = JsonDocument.create(DOCUMENT_ID, JsonObject.empty());
        Bucket bucket = client.getBuckets().get(BUCKET_NAME);
        bucket.upsert(document);

        // then
        JsonDocument persistedDocument = client.getBuckets().get(BUCKET_NAME).get(DOCUMENT_ID);
        assertThat(persistedDocument, is(notNullValue()));
    }
}

The stack trace thrown from the test above

java.lang.RuntimeException: java.util.concurrent.TimeoutException
    at com.couchbase.client.java.util.Blocking.blockForSingle(Blocking.java:93)
    at com.couchbase.client.java.CouchbaseCluster.openBucket(CouchbaseCluster.java:108)
    at com.couchbase.client.java.CouchbaseCluster.openBucket(CouchbaseCluster.java:99)
    at com.couchbase.client.java.CouchbaseCluster.openBucket(CouchbaseCluster.java:89)
    at com.couchbase.client.java.CouchbaseCluster.openBucket(CouchbaseCluster.java:79)
    at myproject.promotion.persistence.client.CouchbaseClient.start(CouchbaseClient.java:46)
    at myproject.promotion.persistence.client.CouchbaseClientIT.shouldCreateDocument(CouchbaseClientIT.java:52)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
    at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
    at myproject.promotion.junit.couchbase.CouchbaseServerRule$1.evaluate(CouchbaseServerRule.java:34)
    at org.junit.rules.RunRules.evaluate(RunRules.java:20)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: java.util.concurrent.TimeoutException
    ... 33 more

Thanks for your help.

serragnoli avatar Jun 21 '15 21:06 serragnoli

I don't see where in the code you're telling the client to connect to port 8109. Also make sure nothing else is listening on that port. Also try to use '127.0.0.1' rather than localhost.

It may also be wise to enable the Java client logging (on the Couchbase client) to see what it's trying to connect to.. I can't account for the differences between platforms though.

mnunberg avatar Jun 21 '15 21:06 mnunberg

Hi @mnunberg !

I work with @serragnoli in the same project. We are telling to the client that the port is 8091 (and thats were our couchbase mock is, if we mess with the ports we get a Connection refused)

So... this is our code:

*** CLUSTER ***

CouchbaseCluster.create(DefaultCouchbaseEnvironment.builder().bootstrapCarrierEnabled(false).build(), Collections.singletonList("127.0.0.1:8091"));

We are actually connecting alright with the bucket but the timeoutException that we get is when trying to use that bucket (insert in this case).

! ... 64 common frames omitted
! Causing: java.lang.RuntimeException: java.util.concurrent.TimeoutException
! at com.couchbase.client.java.util.Blocking.blockForSingle(Blocking.java:93) ~[java-client-2.1.3.jar:2.1.3]
! at com.couchbase.client.java.CouchbaseBucket.insert(CouchbaseBucket.java:248) ~[java-client-2.1.3.jar:2.1.3]
! at com.couchbase.client.java.CouchbaseBucket.insert(CouchbaseBucket.java:243) ~[java-client-2.1.3.jar:2.1.3]

Here is the catch: It works on one machine but not the rest.

Did you ever have problems like this? Know possible solutions??

Thanks!

saferrer avatar Jun 23 '15 15:06 saferrer

Hi!

No news about this??

saferrer avatar Jun 24 '15 16:06 saferrer

Unfortunately I don't have the time these days to look into it. Please make sure you do not have an actual couchbase server running on the same host as the mock, as this will break things.

I would also recommend you do NOT use port 8091 to connect to the mock, but rather make the mock listen on a custom port, and also explicitly direct the client to use that custom port. This way you are guaranteed the client will not get confused between a real couchbase cluster (if any) and the mock cluster.

The connection code for the mock is not overly complex, so as an alternative solution to debug this, you can add breakpoints/log statements to the mock to see if the client is at all reaching it.

HTTP connections (for bootstrapping) are accepted here and Memcached connections (for data access) are accepted here

mnunberg avatar Jun 24 '15 16:06 mnunberg

I am running into the same exact problem.

I am running the Java SDK client v2.2.2. I cloned the latest version of CouchbaseMock and built it locally. I tried running it on port 8091, and some other custom port. I tried running the mock server on port 11210 as well.

If I have the mock server running on 11210:

Caused by: java.lang.RuntimeException: java.util.concurrent.TimeoutException
    at com.couchbase.client.java.util.Blocking.blockForSingle(Blocking.java:75)
    at com.couchbase.client.java.CouchbaseCluster.openBucket(CouchbaseCluster.java:296)
    at com.couchbase.client.java.CouchbaseCluster.openBucket(CouchbaseCluster.java:271)
    at org.jasig.cas.couchbase.core.CouchbaseClientFactory.initialize(CouchbaseClientFactory.java:66)

If I don't:

java.net.ConnectException: Connection refused: no further information: /127.0.0.1:11210
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[?:1.8.0_65]
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) ~[?:1.8.0_65]
    at com.couchbase.client.deps.io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:224) ~[core-io-1.2.2.jar:?]
    at com.couchbase.client.deps.io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:289) [core-io-1.2.2.jar:?]
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:528) [core-io-1.2.2.jar:?]
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468) [core-io-1.2.2.jar:?]
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382) [core-io-1.2.2.jar:?]
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354) [core-io-1.2.2.jar:?]
    at com.couchbase.client.deps.io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112) [core-io-1.2.2.jar:?]
    at com.couchbase.client.deps.io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137) [core-io-1.2.2.jar:?]

Full logs when 11210 is not running:

2015-12-11 01:44:14,258 DEBUG [com.couchbase.client.core.logging.CouchbaseLoggerFactory] - <Using SLF4J as the default logging framework>
2015-12-11 01:44:14,285 DEBUG [com.couchbase.client.deps.io.netty.util.internal.logging.InternalLoggerFactory] - <Using SLF4J as the default logging framework>
2015-12-11 01:44:14,397 DEBUG [com.couchbase.client.deps.io.netty.channel.MultithreadEventLoopGroup] - <-Dio.netty.eventLoopThreads: 16>
2015-12-11 01:44:14,436 DEBUG [com.couchbase.client.deps.io.netty.util.internal.PlatformDependent0] - <java.nio.Buffer.address: available>
2015-12-11 01:44:14,436 DEBUG [com.couchbase.client.deps.io.netty.util.internal.PlatformDependent0] - <sun.misc.Unsafe.theUnsafe: available>
2015-12-11 01:44:14,436 DEBUG [com.couchbase.client.deps.io.netty.util.internal.PlatformDependent0] - <sun.misc.Unsafe.copyMemory: available>
2015-12-11 01:44:14,436 DEBUG [com.couchbase.client.deps.io.netty.util.internal.PlatformDependent0] - <java.nio.Bits.unaligned: true>
2015-12-11 01:44:14,438 DEBUG [com.couchbase.client.deps.io.netty.util.internal.PlatformDependent] - <Platform: Windows>
2015-12-11 01:44:14,438 DEBUG [com.couchbase.client.deps.io.netty.util.internal.PlatformDependent] - <Java version: 8>
2015-12-11 01:44:14,438 DEBUG [com.couchbase.client.deps.io.netty.util.internal.PlatformDependent] - <-Dio.netty.noUnsafe: false>
2015-12-11 01:44:14,438 DEBUG [com.couchbase.client.deps.io.netty.util.internal.PlatformDependent] - <sun.misc.Unsafe: available>
2015-12-11 01:44:14,438 DEBUG [com.couchbase.client.deps.io.netty.util.internal.PlatformDependent] - <-Dio.netty.noJavassist: false>
2015-12-11 01:44:14,686 DEBUG [com.couchbase.client.deps.io.netty.util.internal.PlatformDependent] - <Javassist: available>
2015-12-11 01:44:14,686 DEBUG [com.couchbase.client.deps.io.netty.util.internal.PlatformDependent] - <-Dio.netty.tmpdir: C:\Users\misag\AppData\Local\Temp (java.io.tmpdir)>
2015-12-11 01:44:14,686 DEBUG [com.couchbase.client.deps.io.netty.util.internal.PlatformDependent] - <-Dio.netty.bitMode: 64 (sun.arch.data.model)>
2015-12-11 01:44:14,686 DEBUG [com.couchbase.client.deps.io.netty.util.internal.PlatformDependent] - <-Dio.netty.noPreferDirect: false>
2015-12-11 01:44:14,751 DEBUG [com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop] - <-Dio.netty.noKeySetOptimization: false>
2015-12-11 01:44:14,751 DEBUG [com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop] - <-Dio.netty.selectorAutoRebuildThreshold: 512>
2015-12-11 01:44:15,167 INFO [com.couchbase.client.core.CouchbaseCore] - <CouchbaseEnvironment: {sslEnabled=false, sslKeystoreFile='null', sslKeystorePassword='null', queryEnabled=false, queryPort=8093, bootstrapHttpEnabled=true, bootstrapCarrierEnabled=true, bootstrapHttpDirectPort=8091, bootstrapHttpSslPort=18091, bootstrapCarrierDirectPort=11210, bootstrapCarrierSslPort=11207, ioPoolSize=8, computationPoolSize=8, responseBufferSize=16384, requestBufferSize=16384, kvServiceEndpoints=1, viewServiceEndpoints=1, queryServiceEndpoints=1, ioPool=NioEventLoopGroup, coreScheduler=CoreScheduler, eventBus=DefaultEventBus, packageNameAndVersion=couchbase-jvm-core/1.2.2 (git: 1.2.2-dirty), dcpEnabled=false, retryStrategy=BestEffort, maxRequestLifetime=75000, retryDelay=ExponentialDelay{growBy 1.0 MICROSECONDS; lower=100, upper=100000}, reconnectDelay=ExponentialDelay{growBy 1.0 MILLISECONDS; lower=32, upper=4096}, observeIntervalDelay=ExponentialDelay{growBy 1.0 MICROSECONDS; lower=10, upper=100000}, keepAliveInterval=30000, autoreleaseAfter=2000, bufferPoolingEnabled=true, tcpNodelayEnabled=true, mutationTokensEnabled=false, socketConnectTimeout=1000, dcpConnectionBufferSize=20971520, dcpConnectionBufferAckThreshold=0.2, queryTimeout=75000, viewTimeout=75000, kvTimeout=2500, connectTimeout=5000, disconnectTimeout=25000, dnsSrvEnabled=false}>
2015-12-11 01:44:15,174 DEBUG [com.couchbase.client.core.CouchbaseCore] - <Diagnostics {
  gc.ps marksweep.collectionCount=1,
  gc.ps marksweep.collectionTime=24,
  gc.ps scavenge.collectionCount=8,
  gc.ps scavenge.collectionTime=37,
  heap.pendingFinalize=0,
  heap.used=init = 266338304(260096K) used = 17832240(17414K) committed = 208666624(203776K) max = 3784310784(3695616K),
  mem.physical.free=8356073472,
  mem.physical.total=17023406080,
  mem.swap.free=9125351424,
  mem.swap.total=20110413824,
  mem.virtual.comitted=519516160,
  offHeap.used=init = 2555904(2496K) used = 38898168(37986K) committed = 39649280(38720K) max = -1(-1K),
  proc.cpu.time=9234375000,
  runtime.name=11988@mmoayyed,
  runtime.spec=Oracle Corporation/Java Virtual Machine Specification: 1.8,
  runtime.startTime=1449823450154,
  runtime.sysProperties={sun.desktop=windows, awt.toolkit=sun.awt.windows.WToolkit, file.encoding.pkg=sun.io, java.specification.version=1.8, sun.cpu.isalist=amd64, sun.jnu.encoding=Cp1252, java.class.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 143.1183.10\lib\idea_rt.jar;C:\Program Files (x86)\JetBrains\IntelliJ IDEA 143.1183.10\plugins\junit\lib\junit-rt.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\rt.jar;C:\Misagh\GitWorkspace\cas-server\cas-server-support-couchbase-service-registry\build\classes\test;C:\Misagh\GitWorkspace\cas-server\cas-server-support-couchbase-service-registry\build\classes\main;C:\Misagh\GitWorkspace\cas-server\cas-server-support-couchbase-service-registry\build\resources\test;C:\Misagh\GitWorkspace\cas-server\cas-server-support-couchbase-service-registry\build\resources\main;C:\Misagh\GitWorkspace\cas-server\cas-server-core-services\build\classes\test;C:\Misagh\GitWorkspace\cas-server\cas-server-core-services\build\classes\main;C:\Misagh\GitWorkspace\cas-server\cas-server-core-services\build\resources\test;C:\Misagh\GitWorkspace\cas-server\cas-server-core-services\build\resources\main;C:\Misagh\GitWorkspace\cas-server\cas-server-core-util\build\classes\test;C:\Misagh\GitWorkspace\cas-server\cas-server-core-util\build\classes\main;C:\Misagh\GitWorkspace\cas-server\cas-server-core-util\build\resources\test;C:\Misagh\GitWorkspace\cas-server\cas-server-core-util\build\resources\main;C:\Users\misag\.m2\repository\org\aspectj\aspectjrt\1.8.6\aspectjrt-1.8.6.jar;C:\Users\misag\.m2\repository\org\aspectj\aspectjweaver\1.8.6\aspectjweaver-1.8.6.jar;C:\Users\misag\.m2\repository\javax\validation\validation-api\1.1.0.Final\validation-api-1.1.0.Final.jar;C:\Users\misag\.m2\repository\org\slf4j\slf4j-api\1.7.12\slf4j-api-1.7.12.jar;C:\Users\misag\.m2\repository\org\jasig\inspektr\inspektr-aspects\1.3.GA\inspektr-aspects-1.3.GA.jar;C:\Users\misag\.m2\repository\org\springframework\spring-core\4.2.3.RELEASE\spring-core-4.2.3.RELEASE.jar;C:\Users\misag\.m2\repository\org\springframework\spring-beans\4.2.3.RELEASE\spring-beans-4.2.3.RELEASE.jar;C:\Users\misag\.m2\repository\org\springframework\spring-context-support\4.2.3.RELEASE\spring-context-support-4.2.3.RELEASE.jar;C:\Users\misag\.m2\repository\org\springframework\spring-context\4.2.3.RELEASE\spring-context-4.2.3.RELEASE.jar;C:\Users\misag\.m2\repository\org\apache\shiro\shiro-core\1.2.4\shiro-core-1.2.4.jar;C:\Users\misag\.m2\repository\org\quartz-scheduler\quartz\2.2.1\quartz-2.2.1.jar;C:\Users\misag\.m2\repository\commons-codec\commons-codec\1.10\commons-codec-1.10.jar;C:\Users\misag\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.6.1\jackson-databind-2.6.1.jar;C:\Users\misag\.m2\repository\org\bitbucket\b_c\jose4j\0.4.4\jose4j-0.4.4.jar;C:\Users\misag\.m2\repository\com\google\guava\guava\18.0\guava-18.0.jar;C:\Users\misag\.m2\repository\commons-io\commons-io\2.4\commons-io-2.4.jar;C:\Users\misag\.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpclient\4.5.1\7e3cecc566df91338c6c67883b89ddd05a17db43\httpclient-4.5.1.jar;C:\Users\misag\.m2\repository\org\apache\commons\commons-lang3\3.4\commons-lang3-3.4.jar;C:\Users\misag\.gradle\caches\modules-2\files-2.1\org.springframework\spring-webmvc\4.2.3.RELEASE\46803840259c6d51c531e4f07f4213d758c6ee1d\spring-webmvc-4.2.3.RELEASE.jar;C:\Users\misag\.m2\repository\javax\servlet\javax.servlet-api\3.1.0\javax.servlet-api-3.1.0.jar;C:\Users\misag\.m2\repository\javax\el\javax.el-api\3.0.0\javax.el-api-3.0.0.jar;C:\Users\misag\.m2\repository\org\glassfish\web\javax.el\2.2.6\javax.el-2.2.6.jar;C:\Users\misag\.m2\repository\org\slf4j\jul-to-slf4j\1.7.12\jul-to-slf4j-1.7.12.jar;C:\Users\misag\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-api\2.4.1\594e5643c9267ac1e91960a6b7315cf368c9ea02\log4j-api-2.4.1.jar;C:\Users\misag\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-core\2.4.1\a5334910f90944575147fd1c1aef9f407c24db99\log4j-core-2.4.1.jar;C:\Users\misag\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-slf4j-impl\2.4.1\1153bec315f388b2635c25cf97105ae9dce61b58\log4j-slf4j-impl-2.4.1.jar;C:\Users\misag\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-jcl\2.4.1\cee66dcc3099c53ecc3a37cb6735fee27ee86735\log4j-jcl-2.4.1.jar;C:\Users\misag\.m2\repository\joda-time\joda-time\2.9\joda-time-2.9.jar;C:\Users\misag\.m2\repository\org\springframework\spring-aop\4.2.3.RELEASE\spring-aop-4.2.3.RELEASE.jar;C:\Users\misag\.m2\repository\org\springframework\spring-expression\4.2.3.RELEASE\spring-expression-4.2.3.RELEASE.jar;C:\Users\misag\.m2\repository\commons-beanutils\commons-beanutils\1.8.3\commons-beanutils-1.8.3.jar;C:\Users\misag\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.6.0\jackson-annotations-2.6.0.jar;C:\Users\misag\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.6.1\jackson-core-2.6.1.jar;C:\Users\misag\.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpcore\4.4.3\e876a79d561e5c6207b78d347e198c8c4531a5e5\httpcore-4.4.3.jar;C:\Users\misag\.m2\repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;C:\Users\misag\.m2\repository\org\springframework\spring-web\4.2.3.RELEASE\spring-web-4.2.3.RELEASE.jar;C:\Users\misag\.m2\repository\aopalliance\aopalliance\1.0\aopalliance-1.0.jar;C:\Users\misag\.m2\repository\junit\junit\4.12\junit-4.12.jar;C:\Users\misag\.m2\repository\org\mockito\mockito-core\1.10.19\mockito-core-1.10.19.jar;C:\Users\misag\.gradle\caches\modules-2\files-2.1\org.springframework\spring-test\4.2.3.RELEASE\d7c055b8fb1117ef75045679892228a4816cd80e\spring-test-4.2.3.RELEASE.jar;C:\Users\misag\.m2\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;C:\Users\misag\.m2\repository\org\objenesis\objenesis\2.1\objenesis-2.1.jar;C:\Misagh\GitWorkspace\cas-server\cas-server-core-api-authentication\build\classes\main;C:\Misagh\GitWorkspace\cas-server\cas-server-core-api-authentication\build\resources\test;C:\Misagh\GitWorkspace\cas-server\cas-server-core-api-authentication\build\resources\main;C:\Misagh\GitWorkspace\cas-server\cas-server-core-api-protocol\build\classes\main;C:\Misagh\GitWorkspace\cas-server\cas-server-core-api-protocol\build\resources\test;C:\Misagh\GitWorkspace\cas-server\cas-server-core-api-protocol\build\resources\main;C:\Misagh\GitWorkspace\cas-server\cas-server-core-api-util\build\classes\main;C:\Misagh\GitWorkspace\cas-server\cas-server-core-api-util\build\resources\test;C:\Misagh\GitWorkspace\cas-server\cas-server-core-api-util\build\resources\main;C:\Misagh\GitWorkspace\cas-server\cas-server-core-api\build\classes\main;C:\Misagh\GitWorkspace\cas-server\cas-server-core-api\build\resources\test;C:\Misagh\GitWorkspace\cas-server\cas-server-core-api\build\resources\main;C:\Misagh\GitWorkspace\cas-server\cas-server-core-api-services\build\classes\main;C:\Misagh\GitWorkspace\cas-server\cas-server-core-api-services\build\resources\test;C:\Misagh\GitWorkspace\cas-server\cas-server-core-api-services\build\resources\main;C:\Misagh\GitWorkspace\cas-server\cas-server-core-api-ticket\build\classes\main;C:\Misagh\GitWorkspace\cas-server\cas-server-core-api-ticket\build\resources\test;C:\Misagh\GitWorkspace\cas-server\cas-server-core-api-ticket\build\resources\main;C:\Misagh\GitWorkspace\cas-server\cas-server-core-api-logout\build\classes\main;C:\Misagh\GitWorkspace\cas-server\cas-server-core-api-logout\build\resources\test;C:\Misagh\GitWorkspace\cas-server\cas-server-core-api-logout\build\resources\main;C:\Misagh\GitWorkspace\cas-server\cas-server-core-api-validation\build\classes\main;C:\Misagh\GitWorkspace\cas-server\cas-server-core-api-validation\build\resources\test;C:\Misagh\GitWorkspace\cas-server\cas-server-core-api-validation\build\resources\main;C:\Misagh\GitWorkspace\cas-server\cas-server-core-events\build\classes\main;C:\Misagh\GitWorkspace\cas-server\cas-server-core-events\build\resources\test;C:\Misagh\GitWorkspace\cas-server\cas-server-core-events\build\resources\main;C:\Misagh\GitWorkspace\cas-server\cas-server-core-web\build\classes\test;C:\Misagh\GitWorkspace\cas-server\cas-server-core-web\build\classes\main;C:\Misagh\GitWorkspace\cas-server\cas-server-core-web\build\resources\test;C:\Misagh\GitWorkspace\cas-server\cas-server-core-web\build\resources\main;C:\Users\misag\.m2\repository\org\springframework\webflow\spring-webflow\2.4.2.RELEASE\spring-webflow-2.4.2.RELEASE.jar;C:\Users\misag\.m2\repository\opensymphony\ognl\2.6.11\ognl-2.6.11.jar;C:\Users\misag\.m2\repository\org\springframework\webflow\spring-binding\2.4.2.RELEASE\spring-binding-2.4.2.RELEASE.jar;C:\Users\misag\.m2\repository\org\springframework\webflow\spring-js\2.4.2.RELEASE\spring-js-2.4.2.RELEASE.jar;C:\Users\misag\.m2\repository\org\springframework\webflow\spring-js-resources\2.4.2.RELEASE\spring-js-resources-2.4.2.RELEASE.jar;C:\Misagh\GitWorkspace\cas-server\cas-server-core-api-web\build\classes\main;C:\Misagh\GitWorkspace\cas-server\cas-server-core-api-web\build\resources\test;C:\Misagh\GitWorkspace\cas-server\cas-server-core-api-web\build\resources\main;C:\Users\misag\.gradle\caches\modules-2\files-2.1\org.pac4j\pac4j-core\1.8.1\a1f4351caab4ba56226b60b4aa38e574c6ce9562\pac4j-core-1.8.1.jar;C:\Misagh\GitWorkspace\cas-server\cas-server-core-authentication\build\classes\test;C:\Misagh\GitWorkspace\cas-server\cas-server-core-authentication\build\classes\main;C:\Misagh\GitWorkspace\cas-server\cas-server-core-authentication\build\resources\test;C:\Misagh\GitWorkspace\cas-server\cas-server-core-authentication\build\resources\main;C:\Users\misag\.m2\repository\io\dropwizard\metrics\metrics-annotation\3.1.2\metrics-annotation-3.1.2.jar;C:\Users\misag\.m2\repository\org\jasig\inspektr\inspektr-audit\1.3.GA\inspektr-audit-1.3.GA.jar;C:\Users\misag\.m2\repository\org\jasig\service\persondir\person-directory-impl\1.7.0\person-directory-impl-1.7.0.jar;C:\Users\misag\.m2\repository\org\jasig\inspektr\inspektr-common\1.3.GA\inspektr-common-1.3.GA.jar;C:\Users\misag\.m2\repository\com\sun\xml\bind\jaxb-impl\2.2.7\jaxb-impl-2.2.7.jar;C:\Users\misag\.m2\repository\org\jasig\service\persondir\person-directory-api\1.7.0\person-directory-api-1.7.0.jar;C:\Users\misag\.m2\repository\com\sun\xml\bind\jaxb-core\2.2.7\jaxb-core-2.2.7.jar;C:\Users\misag\.m2\repository\com\sun\xml\fastinfoset\FastInfoset\1.2.12\FastInfoset-1.2.12.jar;C:\Users\misag\.m2\repository\javax\xml\bind\jaxb-api\2.2.7\jaxb-api-2.2.7.jar;C:\Users\misag\.m2\repository\com\sun\istack\istack-commons-runtime\2.16\istack-commons-runtime-2.16.jar;C:\Users\misag\.m2\repository\javax\xml\bind\jsr173_api\1.0\jsr173_api-1.0.jar;C:\Users\misag\.gradle\caches\modules-2\files-2.1\org.hibernate\hibernate-core\5.0.3.Final\2da09db52900ba70e356cc73671da0a3b63b9fd3\hibernate-core-5.0.3.Final.jar;C:\Users\misag\.gradle\caches\modules-2\files-2.1\org.hibernate\hibernate-validator\5.2.2.Final\990905cd9184450c5f3e929ab2566305e3a67fa1\hibernate-validator-5.2.2.Final.jar;C:\Users\misag\.m2\repository\org\jboss\logging\jboss-logging\3.3.0.Final\jboss-logging-3.3.0.Final.jar;C:\Users\misag\.m2\repository\org\hibernate\javax\persistence\hibernate-jpa-2.1-api\1.0.0.Final\hibernate-jpa-2.1-api-1.0.0.Final.jar;C:\Users\misag\.m2\repository\antlr\antlr\2.7.7\antlr-2.7.7.jar;C:\Users\misag\.gradle\caches\modules-2\files-2.1\org.jboss\jandex\2.0.0.CR1\558d14decc2a335e1cf92431d073836717dcfd56\jandex-2.0.0.CR1.jar;C:\Users\misag\.m2\repository\org\apache\geronimo\specs\geronimo-jta_1.1_spec\1.1.1\geronimo-jta_1.1_spec-1.1.1.jar;C:\Users\misag\.m2\repository\dom4j\dom4j\1.6.1\dom4j-1.6.1.jar;C:\Users\misag\.m2\repository\org\hibernate\common\hibernate-commons-annotations\5.0.0.Final\hibernate-commons-annotations-5.0.0.Final.jar;C:\Users\misag\.m2\repository\com\fasterxml\classmate\1.1.0\classmate-1.1.0.jar;C:\Users\misag\.m2\repository\xml-apis\xml-apis\1.0.b2\xml-apis-1.0.b2.jar;C:\Users\misag\.gradle\caches\modules-2\files-2.1\org.springframework\spring-orm\4.2.3.RELEASE\bd954843a54630fd8e45a2fc6f28140154d32188\spring-orm-4.2.3.RELEASE.jar;C:\Users\misag\.gradle\caches\modules-2\files-2.1\org.springframework\spring-jdbc\4.2.3.RELEASE\22f129baf3914b6bbaa842f9356c32d93ecf7bc1\spring-jdbc-4.2.3.RELEASE.jar;C:\Users\misag\.m2\repository\org\reflections\reflections\0.9.10\reflections-0.9.10.jar;C:\Users\misag\.gradle\caches\modules-2\files-2.1\org.springframework\spring-tx\4.2.3.RELEASE\617420d7e0351c334aa4495d6f30ad21c4c643a7\spring-tx-4.2.3.RELEASE.jar;C:\Users\misag\.m2\repository\org\javassist\javassist\3.18.2-GA\javassist-3.18.2-GA.jar;C:\Users\misag\.m2\repository\com\google\code\findbugs\annotations\2.0.1\annotations-2.0.1.jar;C:\Misagh\GitWorkspace\cas-server\cas-server-support-couchbase-core\build\classes\main;C:\Misagh\GitWorkspace\cas-server\cas-server-support-couchbase-core\build\resources\test;C:\Misagh\GitWorkspace\cas-server\cas-server-support-couchbase-core\build\resources\main;C:\Users\misag\.gradle\caches\modules-2\files-2.1\com.couchbase.client\java-client\2.2.2\5e1ffeafa946994ef1690a0ecceb194637f7beaa\java-client-2.2.2.jar;C:\Users\misag\.gradle\caches\modules-2\files-2.1\com.couchbase.client\core-io\1.2.2\1b6f26f7c17f00747312baf713342214b327ea1d\core-io-1.2.2.jar;C:\Users\misag\.gradle\caches\modules-2\files-2.1\io.reactivex\rxjava\1.0.15\f0ab8b7c8010cad33b8debda5d09d233571dc486\rxjava-1.0.15.jar, java.vm.vendor=Oracle Corporation, sun.arch.data.model=64, user.variant=, java.vendor.url=http://java.oracle.com/, user.timezone=America/Phoenix, visualvm.id=13451996839901, os.name=Windows 10, java.vm.specification.version=1.8, user.country=US, sun.java.launcher=SUN_STANDARD, sun.boot.library.path=C:\Program Files\Java\jdk1.8.0_65\jre\bin, sun.java.command=com.intellij.rt.execution.application.AppMain com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 org.jasig.cas.services.CouchbaseServiceRegistryDaoTests, sun.cpu.endian=little, user.home=C:\Users\misag, user.language=en, idea.launcher.port=7533, java.specification.vendor=Oracle Corporation, java.home=C:\Program Files\Java\jdk1.8.0_65\jre, file.separator=\, line.separator=
, java.vm.specification.vendor=Oracle Corporation, java.specification.name=Java Platform API Specification, java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment, idea.junit.sm_runner=, sun.boot.class.path=C:\Program Files\Java\jdk1.8.0_65\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\rt.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\sunrsasign.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_65\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_65\jre\classes, user.script=, sun.management.compiler=HotSpot 64-Bit Tiered Compilers, java.runtime.version=1.8.0_65-b17, user.name=misag, path.separator=;, os.version=10.0, java.endorsed.dirs=C:\Program Files\Java\jdk1.8.0_65\jre\lib\endorsed, java.runtime.name=Java(TM) SE Runtime Environment, file.encoding=UTF-8, sun.nio.ch.bugLevel=, java.vm.name=Java HotSpot(TM) 64-Bit Server VM, java.vendor.url.bug=http://bugreport.sun.com/bugreport/, java.io.tmpdir=C:\Users\misag\AppData\Local\Temp\, idea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 143.1183.10\bin, java.version=1.8.0_65, user.dir=C:\Misagh\GitWorkspace\cas-server\cas-server-support-couchbase-service-registry, os.arch=amd64, java.vm.specification.name=Java Virtual Machine Specification, java.awt.printerjob=sun.awt.windows.WPrinterJob, sun.os.patch.level=, java.library.path=C:\Program Files\Java\jdk1.8.0_65\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Dell\DW WLAN Card;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\Program Files\WIDCOMM\Bluetooth Software\syswow64;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Skype\Phone\;C:\Program Files (x86)\Calibre2\;C:\Program Files\Git\cmd;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Program Files (x86)\GitExtensions\;C:\Program Files (x86)\Heroku\bin;C:\Program Files (x86)\git\cmd;C:\WINDOWS\system32\config\systemprofile\.dnx\bin;C:\Program Files\Microsoft DNX\Dnvm\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\nodejs\;C:\Program Files\ConEmu\ConEmu\Scripts;C:\Program Files\ConEmu\ConEmu;C:\Ruby193\DevKit\bin;C:\Python27;C:\portal\gradle\bin;C:\Android\android-sdk\platform-tools;C:\Android\android-sdk\tools;C:\portal\groovy\bin;C:\portal\apache-ant\bin;C:\portal\apache-maven\bin;C:\Program Files\Java\jdk1.8.0_65\bin;C:\Program Files (x86)\scala\bin;C:\Program Files (x86)\Heroku\bin;GIT_HOME=C:\Program Files\Git;C:\portal\gnu-win-tools\GetGnuWin32\bin;GIT_HOME=C:\Program Files\Git\bin;GIT_HOME=C:\Program Files\Git\usr\bin;C:\Program Files (x86)\sbt\bin;c:\portal\gnu-win-tools;c:\portal\scripts;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Docker Toolbox;C:\Program Files (x86)\SSH Communications Security\SSH Secure Shell;C:\Users\misag\AppData\Local\atom\bin;C:\Users\misag\AppData\Roaming\npm;., java.vm.info=mixed mode, java.vendor=Oracle Corporation, java.vm.version=25.65-b01, java.ext.dirs=C:\Program Files\Java\jdk1.8.0_65\jre\lib\ext;C:\WINDOWS\Sun\Java\lib\ext, sun.io.unicode.encoding=UnicodeLittle, java.class.version=52.0},
  runtime.uptime=5065,
  runtime.vm=Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM: 25.65-b01,
  sys.cpu.loadAvg=-1.0,
  sys.cpu.num=8,
  sys.os.arch=amd64,
  sys.os.name=Windows 10,
  sys.os.version=10.0,
  thread.count=16,
  thread.peakCount=16,
  thread.startedCount=16
}>
2015-12-11 01:44:15,388 DEBUG [com.couchbase.client.core.config.ConfigurationProvider] - <Setting seed hosts to [/127.0.0.1]>
2015-12-11 01:44:15,447 DEBUG [com.couchbase.client.core.config.ConfigurationProvider] - <Got instructed to open bucket cas>
2015-12-11 01:44:15,470 DEBUG [com.couchbase.client.core.config.loader.Loader] - <Loading Config for bucket cas>
2015-12-11 01:44:15,483 DEBUG [com.couchbase.client.core.config.loader.Loader] - <Loading Config for bucket cas>
2015-12-11 01:44:15,516 DEBUG [com.couchbase.client.core.RequestHandler] - <Got instructed to add Node 127.0.0.1/127.0.0.1>
2015-12-11 01:44:15,516 DEBUG [com.couchbase.client.core.RequestHandler] - <Connecting Node 127.0.0.1/127.0.0.1>
2015-12-11 01:44:15,516 DEBUG [com.couchbase.client.core.node.Node] - <[127.0.0.1]: Got instructed to connect.>
2015-12-11 01:44:15,530 DEBUG [com.couchbase.client.core.RequestHandler] - <Connect finished, registering for use.>
2015-12-11 01:44:15,532 DEBUG [com.couchbase.client.core.config.loader.Loader] - <Successfully added Node 127.0.0.1/127.0.0.1>
2015-12-11 01:44:15,537 DEBUG [com.couchbase.client.core.RequestHandler] - <Got instructed to add Service BINARY, to Node 127.0.0.1/127.0.0.1>
2015-12-11 01:44:15,537 DEBUG [com.couchbase.client.core.node.Node] - <[127.0.0.1]: Adding Service BINARY>
2015-12-11 01:44:15,562 DEBUG [com.couchbase.client.core.node.Node] - <[127.0.0.1]: Adding Service BINARY to registry and connecting it.>
2015-12-11 01:44:15,562 DEBUG [com.couchbase.client.core.service.Service] - <[127.0.0.1][KeyValueService]: Got instructed to connect.>
2015-12-11 01:44:15,646 DEBUG [com.couchbase.client.deps.io.netty.buffer.PooledByteBufAllocator] - <-Dio.netty.allocator.numHeapArenas: 16>
2015-12-11 01:44:15,646 DEBUG [com.couchbase.client.deps.io.netty.buffer.PooledByteBufAllocator] - <-Dio.netty.allocator.numDirectArenas: 16>
2015-12-11 01:44:15,646 DEBUG [com.couchbase.client.deps.io.netty.buffer.PooledByteBufAllocator] - <-Dio.netty.allocator.pageSize: 8192>
2015-12-11 01:44:15,646 DEBUG [com.couchbase.client.deps.io.netty.buffer.PooledByteBufAllocator] - <-Dio.netty.allocator.maxOrder: 11>
2015-12-11 01:44:15,646 DEBUG [com.couchbase.client.deps.io.netty.buffer.PooledByteBufAllocator] - <-Dio.netty.allocator.chunkSize: 16777216>
2015-12-11 01:44:15,646 DEBUG [com.couchbase.client.deps.io.netty.buffer.PooledByteBufAllocator] - <-Dio.netty.allocator.tinyCacheSize: 512>
2015-12-11 01:44:15,646 DEBUG [com.couchbase.client.deps.io.netty.buffer.PooledByteBufAllocator] - <-Dio.netty.allocator.smallCacheSize: 256>
2015-12-11 01:44:15,646 DEBUG [com.couchbase.client.deps.io.netty.buffer.PooledByteBufAllocator] - <-Dio.netty.allocator.normalCacheSize: 64>
2015-12-11 01:44:15,646 DEBUG [com.couchbase.client.deps.io.netty.buffer.PooledByteBufAllocator] - <-Dio.netty.allocator.maxCachedBufferCapacity: 32768>
2015-12-11 01:44:15,646 DEBUG [com.couchbase.client.deps.io.netty.buffer.PooledByteBufAllocator] - <-Dio.netty.allocator.cacheTrimInterval: 8192>
2015-12-11 01:44:15,723 DEBUG [com.couchbase.client.core.service.Service] - <[127.0.0.1][KeyValueService]: Initializing connect on Endpoint.>
2015-12-11 01:44:15,757 DEBUG [com.couchbase.client.deps.io.netty.util.internal.ThreadLocalRandom] - <-Dio.netty.initialSeedUniquifier: 0x2c3a6dc226e563ee (took 2 ms)>
2015-12-11 01:44:15,831 DEBUG [com.couchbase.client.deps.io.netty.buffer.ByteBufUtil] - <-Dio.netty.allocator.type: unpooled>
2015-12-11 01:44:15,831 DEBUG [com.couchbase.client.deps.io.netty.buffer.ByteBufUtil] - <-Dio.netty.threadLocalDirectBufferSize: 65536>
2015-12-11 01:44:15,939 DEBUG [com.couchbase.client.deps.io.netty.util.internal.JavassistTypeParameterMatcherGenerator] - <Generated: com.couchbase.client.deps.io.netty.util.internal.__matchers__.com.couchbase.client.deps.io.netty.handler.codec.memcache.MemcacheObjectMatcher>
2015-12-11 01:44:15,956 DEBUG [com.couchbase.client.deps.io.netty.util.internal.JavassistTypeParameterMatcherGenerator] - <Generated: com.couchbase.client.deps.io.netty.util.internal.__matchers__.com.couchbase.client.deps.io.netty.handler.codec.memcache.binary.FullBinaryMemcacheResponseMatcher>
2015-12-11 01:44:15,990 DEBUG [com.couchbase.client.deps.io.netty.util.internal.JavassistTypeParameterMatcherGenerator] - <Generated: com.couchbase.client.deps.io.netty.util.internal.__matchers__.com.couchbase.client.core.message.kv.BinaryRequestMatcher>
2015-12-11 01:44:16,996 WARN [com.couchbase.client.core.endpoint.Endpoint] - <[null][KeyValueEndpoint]: Could not connect to endpoint, retrying with delay 32 MILLISECONDS: >
java.net.ConnectException: Connection refused: no further information: /127.0.0.1:11210
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[?:1.8.0_65]
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) ~[?:1.8.0_65]
    at com.couchbase.client.deps.io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:224) ~[core-io-1.2.2.jar:?]
    at com.couchbase.client.deps.io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:289) [core-io-1.2.2.jar:?]
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:528) [core-io-1.2.2.jar:?]
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468) [core-io-1.2.2.jar:?]
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382) [core-io-1.2.2.jar:?]
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354) [core-io-1.2.2.jar:?]
    at com.couchbase.client.deps.io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112) [core-io-1.2.2.jar:?]
    at com.couchbase.client.deps.io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137) [core-io-1.2.2.jar:?]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_65]
2015-12-11 01:44:17,003 DEBUG [com.couchbase.client.core.config.ConfigurationProvider] - <Received signal for outdated configuration.>
2015-12-11 01:44:17,003 DEBUG [com.couchbase.client.core.config.ConfigurationProvider] - <Ignoring outdated signal, since no buckets are open.>
2015-12-11 01:44:17,008 DEBUG [com.couchbase.client.core.config.loader.Loader] - <Successfully enabled Service BINARY on Node 127.0.0.1/127.0.0.1>
2015-12-11 01:44:17,008 DEBUG [com.couchbase.client.core.config.loader.CarrierLoader] - <Starting to discover config through Carrier Bootstrap>
2015-12-11 01:44:18,047 WARN [com.couchbase.client.core.endpoint.Endpoint] - <[null][KeyValueEndpoint]: Socket connect took longer than specified timeout.>
2015-12-11 01:44:18,049 DEBUG [com.couchbase.client.core.node.Node] - <Disconnected (CONNECTING) from Node 127.0.0.1/127.0.0.1>
2015-12-11 01:44:25,220 DEBUG [com.couchbase.client.core.config.ConfigurationProvider] - <Received signal for outdated configuration.>
2015-12-11 01:44:25,220 DEBUG [com.couchbase.client.core.config.ConfigurationProvider] - <Ignoring outdated signal, since no buckets are open.>
2015-12-11 01:44:25,552 WARN [org.springframework.context.support.GenericApplicationContext] - <Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'couchbaseServiceRegistryDao': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.jasig.cas.couchbase.core.CouchbaseClientFactory org.jasig.cas.services.CouchbaseServiceRegistryDao.couchbase; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serviceRegistryCouchbaseClientFactory': Invocation of init method failed; nested exception is java.lang.RuntimeException: Failed to connect to Couchbase bucket>

Using localhost vs 127.0.0.1 makes no difference.

So I did

cluster = CouchbaseCluster.create(DefaultCouchbaseEnvironment.builder().
                            bootstrapCarrierEnabled(false).build(), new ArrayList<>(nodes));

This took care of that problem somehow!, but now I see this:

Caused by: com.couchbase.client.core.config.ConfigurationException: Partition size is not equal after conversion, this is a bug.
    at com.couchbase.client.core.config.DefaultCouchbaseBucketConfig.buildPartitionHosts(DefaultCouchbaseBucketConfig.java:114)
    at com.couchbase.client.core.config.DefaultCouchbaseBucketConfig.<init>(DefaultCouchbaseBucketConfig.java:67)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    at com.couchbase.client.deps.com.fasterxml.jackson.databind.introspect.AnnotatedConstructor.call(AnnotatedConstructor.java:125)
    at com.couchbase.client.deps.com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.createFromObjectWith(StdValueInstantiator.java:227)
    ... 34 more
Caused by: rx.exceptions.OnErrorThrowable$OnNextValue: OnError while emitting onNext value: {"nodeLocator":"vbucket","streamingUri":"/pools/default/bucketsStreaming/default","uri":"/pools/default/buckets/default","nodesExt":[{"hostname":"127.0.0.1","services":{"mgmt":8091,"capi":8091,"kv":56383,"n1ql":8091}},{"hostname":"127.0.0.1","services":{"mgmt":8091,"capi":8091,"kv":56386,"n1ql":8091}},{"hostname":"127.0.0.1","services":{"mgmt":8091,"capi":8091,"kv":56389,"n1ql":8091}},{"hostname":"127.0.0.1","services":{"mgmt":8091,"capi":8091,"kv":56392,"n1ql":8091}},{"hostname":"127.0.0.1","services":{"mgmt":8091,"capi":8091,"kv":56395,"n1ql":8091}},{"hostname":"127.0.0.1","services":{"mgmt":8091,"capi":8091,"kv":56398,"n1ql":8091}},{"hostname":"127.0.0.1","services":{"mgmt":8091,"capi":8091,"kv":56401,"n1ql":8091}},{"hostname":"127.0.0.1","services":{"mgmt":8091,"capi":8091,"kv":56404,"n1ql":8091}},{"hostname":"127.0.0.1","services":{"mgmt":8091,"capi":8091,"kv":56407,"n1ql":8091}},{"hostname":"127.0.0.1","services":{"mgmt":8091,"capi":8091,"kv":56410,"n1ql":8091}}],"proxyPort":0,"bucketType":"membase","nodes":[{"replication":1,"hostname":"192.168.90.11:8091","os":"amd64-Windows_10-10.0","couchApiBase":"http://127.0.0.1:8091/default","clusterCompatibility":1,"ports":{"proxy":0,"direct":56383},"version":"9.9.9","uptime":58,"clusterMembership":"active","status":"healthy"},{"replication":1,"hostname":"192.168.90.11:8091","os":"amd64-Windows_10-10.0","couchApiBase":"http://127.0.0.1:8091/default","clusterCompatibility":1,"ports":{"proxy":0,"direct":56386},"version":"9.9.9","uptime":58,"clusterMembership":"active","status":"healthy"},{"replication":1,"hostname":"192.168.90.11:8091","os":"amd64-Windows_10-10.0","couchApiBase":"http://127.0.0.1:8091/default","clusterCompatibility":1,"ports":{"proxy":0,"direct":56389},"version":"9.9.9","uptime":58,"clusterMembership":"active","status":"healthy"},{"replication":1,"hostname":"192.168.90.11:8091","os":"amd64-Windows_10-10.0","couchApiBase":"http://127.0.0.1:8091/default","clusterCompatibility":1,"ports":{"proxy":0,"direct":56392},"version":"9.9.9","uptime":58,"clusterMembership":"active","status":"healthy"},{"replication":1,"hostname":"192.168.90.11:8091","os":"amd64-Windows_10-10.0","couchApiBase":"http://127.0.0.1:8091/default","clusterCompatibility":1,"ports":{"proxy":0,"direct":56395},"version":"9.9.9","uptime":58,"clusterMembership":"active","status":"healthy"},{"replication":1,"hostname":"192.168.90.11:8091","os":"amd64-Windows_10-10.0","couchApiBase":"http://127.0.0.1:8091/default","clusterCompatibility":1,"ports":{"proxy":0,"direct":56398},"version":"9.9.9","uptime":58,"clusterMembership":"active","status":"healthy"},{"replication":1,"hostname":"192.168.90.11:8091","os":"amd64-Windows_10-10.0","couchApiBase":"http://127.0.0.1:8091/default","clusterCompatibility":1,"ports":{"proxy":0,"direct":56401},"version":"9.9.9","uptime":58,"clusterMembership":"active","status":"healthy"},{"replication":1,"hostname":"192.168.90.11:8091","os":"amd64-Windows_10-10.0","couchApiBase":"http://127.0.0.1:8091/default","clusterCompatibility":1,"ports":{"proxy":0,"direct":56404},"version":"9.9.9","uptime":58,"clusterMembership":"active","status":"healthy"},{"replication":1,"hostname":"192.168.90.11:8091","os":"amd64-Windows_10-10.0","couchApiBase":"http://127.0.0.1:8091/default","clusterCompatibility":1,"ports":{"proxy":0,"direct":56407},"version":"9.9.9","uptime":58,"clusterMembership":"active","status":"healthy"},{"replication":1,"hostname":"192.168.90.11:8091","os":"amd64-Windows_10-10.0","couchApiBase":"http://127.0.0.1:8091/default","clusterCompatibility":1,"ports":{"proxy":0,"direct":56410},"version":"9.9.9","uptime":58,"clusterMembership":"active","status":"healthy"}],"flushCacheUri":"/pools/default/buckets/default/controller/doFlush","stats":{"uri":"/pools/default/buckets/default/stats"},"quota":{"rawRAM":104857600,"ram":104857600},"saslPassword":"","replicaNumber":2,"name":"default","authType":"sasl","vBucketServerMap":{"vBucketMap":[[7,4,3],[6,1,7],[4,3,9],[4,3,2],[3,8,7],[3,5,0],[3,1,8],[3,4,6],[1,5,2],[4,5,9],[1,3,9],[2,6,0],[9,3,7],[6,9,8],[4,1,7],[7,9,1],[3,5,6],[5,7,3],[4,5,3],[4,2,8],[2,5,0],[5,7,0],[5,6,4],[6,9,0],[4,0,8],[1,6,0],[4,1,3],[2,3,8],[5,9,0],[9,2,1],[6,7,5],[5,7,2],[7,9,1],[3,4,1],[7,3,4],[3,5,1],[7,9,8],[1,8,0],[3,9,6],[3,8,7],[9,2,8],[9,7,5],[9,8,1],[8,0,1],[9,6,1],[3,5,4],[2,3,6],[1,7,8],[0,1,5],[5,0,9],[8,5,6],[8,4,0],[3,6,2],[3,7,4],[9,1,3],[2,9,6],[2,9,5],[0,2,7],[9,0,7],[2,8,1],[5,3,0],[5,8,4],[2,5,9],[5,8,1],[4,3,6],[3,7,6],[5,9,0],[6,8,2],[2,6,3],[6,8,2],[1,5,8],[8,2,3],[1,7,0],[5,7,1],[7,6,3],[2,1,7],[9,8,6],[6,2,1],[8,0,5],[2,1,6],[4,0,3],[1,0,4],[5,9,6],[1,3,8],[1,9,6],[1,7,5],[5,7,1],[3,1,9],[5,6,4],[3,6,1],[3,4,0],[1,4,9],[7,2,6],[2,9,6],[1,2,0],[0,9,2],[0,6,8],[5,3,7],[3,0,6],[9,8,6],[6,8,0],[9,7,1],[2,4,8],[2,1,3],[3,8,9],[6,5,9],[9,5,6],[0,8,6],[7,4,1],[8,4,1],[5,7,1],[9,5,2],[2,3,1],[3,7,5],[1,9,2],[4,5,1],[4,9,6],[3,8,7],[8,7,1],[4,7,5],[6,8,9],[2,8,0],[3,8,1],[4,8,2],[6,4,3],[6,1,7],[2,0,8],[8,7,9],[9,6,1],[9,5,2],[5,1,2],[3,9,1],[5,9,2],[6,8,7],[7,5,1],[1,7,3],[2,1,6],[3,9,4],[3,0,7],[7,4,6],[6,8,1],[3,4,6],[0,7,4],[0,3,8],[7,9,6],[8,2,9],[5,6,3],[4,9,1],[1,5,0],[4,3,2],[5,7,4],[2,0,6],[0,5,7],[1,9,2],[3,8,7],[2,0,4],[9,6,0],[0,6,8],[5,1,6],[5,1,6],[3,4,0],[6,9,0],[5,8,6],[4,0,5],[7,6,5],[4,0,7],[9,5,0],[5,7,6],[3,9,8],[2,9,7],[0,3,7],[7,5,3],[4,3,0],[0,7,5],[1,3,2],[6,1,3],[2,8,4],[4,9,3],[6,4,7],[3,9,6],[0,8,2],[8,7,9],[9,8,2],[3,0,5],[7,8,3],[2,9,7],[1,3,8],[6,5,1],[9,8,7],[2,8,1],[2,0,1],[8,3,9],[4,3,5],[8,2,1],[0,9,2],[5,4,0],[1,5,2],[4,9,5],[5,4,2],[2,8,1],[9,1,7],[6,0,9],[9,6,0],[8,5,1],[2,4,1],[8,2,7],[1,9,7],[2,0,8],[9,3,0],[0,6,8],[5,6,0],[2,9,1],[7,4,0],[1,3,2],[0,9,1],[6,7,9],[8,2,4],[4,3,1],[0,5,9],[1,4,7],[2,4,0],[9,8,0],[8,3,6],[2,5,4],[9,8,2],[5,7,6],[5,0,9],[9,5,4],[4,2,6],[5,7,3],[7,9,4],[5,0,2],[7,0,4],[1,6,5],[2,4,7],[8,1,0],[8,2,6],[9,7,0],[5,8,3],[3,2,0],[6,7,5],[0,7,6],[1,2,9],[1,0,2],[6,2,1],[0,8,5],[9,0,3],[7,1,8],[5,3,6],[4,7,0],[5,7,9],[0,4,6],[5,0,1],[3,8,0],[2,4,9],[2,4,9],[4,5,1],[6,1,0],[0,4,1],[9,4,8],[8,0,5],[8,9,7],[4,5,8],[4,7,9],[6,9,3],[9,6,8],[0,4,3],[9,8,5],[0,6,1],[7,8,4],[8,6,7],[9,0,6],[3,8,6],[5,0,2],[8,1,6],[9,7,6],[3,0,1],[0,9,7],[4,5,3],[8,4,5],[8,9,4],[6,3,7],[0,8,3],[8,9,7],[2,5,7],[3,5,2],[0,7,8],[3,2,6],[0,5,8],[8,1,0],[3,0,6],[5,9,1],[6,4,3],[0,5,2],[3,6,2],[6,8,0],[3,9,0],[0,5,8],[8,1,2],[0,7,1],[3,0,4],[2,6,5],[9,6,7],[7,4,5],[3,8,6],[4,2,1],[4,2,0],[6,8,7],[2,3,7],[0,5,8],[1,4,9],[5,2,0],[5,6,8],[7,0,1],[8,3,4],[3,6,9],[2,1,4],[8,5,9],[2,7,1],[8,4,7],[2,9,6],[1,6,5],[0,5,8],[1,8,2],[7,3,9],[8,5,0],[8,9,6],[2,7,1],[7,2,5],[6,5,8],[4,8,2],[1,5,7],[5,3,2],[0,9,3],[8,5,2],[2,4,6],[8,7,3],[7,5,8],[7,6,3],[8,9,4],[8,7,3],[6,2,4],[9,1,4],[0,4,9],[8,6,9],[8,5,0],[8,0,4],[1,5,9],[4,8,7],[2,1,0],[7,1,3],[4,8,6],[9,5,4],[1,9,7],[8,1,2],[9,3,7],[4,0,6],[4,3,6],[8,0,1],[1,7,6],[0,4,3],[2,7,8],[3,6,5],[1,7,8],[3,4,2],[3,4,0],[2,6,0],[6,8,4],[5,3,6],[6,1,7],[9,3,5],[5,2,6],[4,5,6],[1,9,4],[2,4,9],[7,6,8],[8,3,5],[8,9,6],[6,2,4],[3,7,5],[4,9,3],[9,4,5],[0,1,5],[9,6,7],[4,1,0],[8,6,4],[6,8,0],[2,6,3],[7,5,1],[7,2,5],[5,3,4],[3,9,8],[0,6,1],[9,0,6],[3,7,0],[1,2,0],[3,1,0],[4,9,7],[8,1,0],[3,8,7],[8,4,9],[8,0,5],[7,9,1],[1,4,9],[0,4,1],[4,7,3],[2,5,3],[2,9,4],[6,1,3],[6,7,1],[5,0,1],[1,4,0],[2,0,4],[8,3,4],[9,0,7],[4,8,0],[5,8,3],[2,0,9],[9,6,2],[7,1,2],[0,9,2],[0,7,6],[5,7,6],[0,7,6],[1,7,5],[4,2,5],[3,7,4],[3,2,6],[2,7,6],[9,4,8],[4,7,3],[6,0,7],[8,3,1],[5,9,2],[8,3,9],[5,7,1],[2,1,5],[7,2,3],[0,9,5],[8,5,6],[6,7,8],[0,1,4],[2,8,5],[0,4,6],[1,8,3],[0,1,6],[4,1,0],[9,3,4],[4,8,9],[5,1,8],[8,7,6],[3,5,2],[6,8,7],[8,9,7],[7,6,9],[8,2,4],[6,2,3],[9,7,0],[4,5,7],[1,0,6],[6,9,8],[3,9,8],[5,9,0],[7,3,9],[2,5,6],[3,6,5],[9,7,1],[0,2,3],[1,5,2],[4,9,3],[9,0,1],[9,2,4],[5,1,9],[4,0,8],[6,8,1],[7,9,4],[5,9,4],[0,9,3],[5,8,3],[7,3,2],[0,9,3],[4,8,9],[4,5,2],[3,9,7],[0,1,6],[3,2,6],[2,3,5],[5,0,7],[5,4,3],[7,9,8],[4,0,5],[7,3,1],[3,0,8],[9,5,4],[0,2,1],[5,8,4],[3,8,1],[1,4,9],[7,5,0],[4,8,6],[5,2,6],[8,0,3],[4,5,7],[7,5,3],[7,3,6],[5,9,0],[0,5,3],[4,9,5],[6,4,9],[1,5,9],[6,1,2],[9,5,1],[0,1,2],[4,1,5],[1,2,6],[3,9,6],[3,4,9],[8,1,9],[5,0,9],[4,0,6],[0,5,3],[7,0,3],[3,7,6],[8,6,4],[4,7,1],[8,3,1],[5,0,9],[2,9,3],[0,2,7],[6,5,1],[9,8,2],[8,7,9],[4,2,3],[8,1,6],[4,8,7],[1,3,8],[7,0,9],[9,7,3],[7,4,1],[7,1,0],[7,2,9],[3,5,8],[4,7,3],[6,5,2],[0,3,1],[9,6,4],[5,6,8],[2,1,8],[4,8,9],[1,6,8],[0,4,8],[7,2,1],[2,5,1],[6,0,9],[0,7,4],[8,2,1],[0,8,2],[9,2,7],[5,1,9],[9,1,7],[9,4,0],[0,3,4],[4,7,5],[5,3,4],[3,9,6],[1,9,5],[2,7,5],[1,5,6],[5,7,8],[6,1,4],[0,5,4],[3,2,8],[0,7,6],[4,5,6],[6,8,0],[2,3,0],[5,4,6],[3,9,4],[7,2,4],[5,7,6],[1,4,7],[0,8,9],[6,3,5],[8,9,4],[3,8,1],[5,0,7],[6,8,1],[1,4,2],[1,6,8],[6,1,0],[3,5,2],[1,2,9],[0,9,1],[3,5,6],[0,1,2],[2,3,1],[7,9,2],[3,4,0],[6,7,3],[5,4,7],[1,9,5],[0,9,1],[9,6,8],[6,5,0],[1,0,9],[1,9,2],[8,9,1],[1,3,6],[7,1,2],[0,3,1],[2,8,5],[2,7,9],[7,6,8],[5,0,3],[7,0,8],[2,7,5],[8,7,6],[2,3,4],[4,1,5],[5,4,7],[0,2,7],[8,4,9],[1,9,8],[2,5,3],[6,1,9],[6,2,4],[8,1,2],[5,2,4],[2,5,1],[1,7,4],[0,5,1],[1,8,3],[0,2,4],[1,0,9],[7,0,2],[5,1,8],[7,1,3],[0,7,8],[8,3,4],[2,1,6],[7,0,5],[7,6,9],[1,3,5],[8,6,7],[4,5,1],[0,1,9],[2,0,3],[2,0,5],[7,9,3],[2,7,6],[9,8,5],[2,1,4],[5,3,8],[9,3,8],[2,0,4],[1,8,5],[2,3,1],[6,0,2],[7,1,5],[7,0,8],[8,0,1],[8,3,5],[7,1,5],[7,9,8],[0,3,2],[2,0,8],[2,1,5],[4,5,6],[6,2,0],[6,2,5],[9,4,6],[0,6,1],[5,8,7],[4,2,5],[3,4,5],[9,8,4],[6,0,9],[6,2,0],[1,0,3],[3,4,0],[9,5,7],[4,0,2],[5,8,4],[1,2,5],[0,7,9],[2,4,0],[7,8,1],[2,4,1],[2,4,1],[3,4,5],[3,5,1],[1,9,3],[4,5,3],[1,8,4],[4,5,2],[0,8,3],[7,2,1],[3,9,5],[4,8,5],[0,1,7],[8,1,4],[3,1,6],[3,0,9],[2,4,5],[3,8,4],[5,9,3],[7,5,2],[3,5,6],[0,7,6],[1,7,4],[2,3,4],[2,8,4],[7,3,0],[4,9,8],[8,7,3],[1,5,2],[8,9,3],[7,0,8],[5,8,3],[7,4,5],[2,6,0],[5,8,0],[2,6,7],[7,5,1],[0,1,5],[4,1,3],[9,3,1],[9,0,4],[3,1,4],[2,1,0],[3,7,0],[9,4,5],[7,0,6],[1,0,5],[2,0,1],[8,9,2],[4,6,9],[5,2,4],[2,1,6],[4,9,1],[9,8,3],[3,2,8],[6,5,4],[7,0,1],[9,1,6],[3,9,2],[6,3,9],[5,3,8],[6,5,3],[1,3,6],[1,2,0],[3,0,9],[4,7,8],[9,4,8],[6,4,2],[3,5,8],[7,2,3],[3,0,6],[0,6,9],[3,6,8],[7,4,8],[4,5,8],[0,8,7],[1,2,3],[0,1,8],[2,0,5],[7,9,5],[3,5,7],[3,6,5],[8,5,6],[0,2,7],[8,5,6],[6,2,4],[0,9,7],[4,3,7],[3,4,7],[8,4,2],[1,8,4],[1,8,5],[6,4,1],[2,0,3],[5,9,2],[6,2,9],[1,3,8],[9,4,7],[9,1,5],[8,9,4],[3,5,8],[5,8,2],[9,4,2],[3,7,8],[1,0,2],[0,6,3],[0,6,5],[5,8,6],[4,9,7],[1,6,2],[1,9,2],[7,4,5],[5,2,4],[8,9,1],[3,0,5],[1,6,4],[6,8,1],[4,6,8],[6,8,9],[9,5,0],[1,3,2],[8,3,7],[3,5,4],[1,2,9],[8,0,9],[3,6,2],[2,3,5],[0,6,3],[3,0,7],[5,7,1],[2,9,8],[1,9,7],[1,2,5],[9,7,3],[5,9,8],[6,4,8],[0,6,4],[9,4,2],[5,6,7],[6,7,9],[0,6,5],[7,9,1],[4,5,0],[0,7,2],[6,8,0],[1,0,4],[6,5,0],[1,6,7],[7,3,5],[1,4,2],[0,8,1],[0,9,3],[3,2,0],[8,9,5],[3,6,2],[4,1,6],[0,4,6],[8,5,2],[2,4,3],[2,9,5],[5,3,2],[8,6,3],[4,8,6],[1,9,4],[7,3,2],[4,1,3],[2,3,7],[4,8,2],[5,8,6],[7,4,6],[3,9,1],[6,9,0],[2,6,8],[3,8,0],[7,1,6],[4,1,3],[8,6,2],[0,9,5],[4,6,0],[4,5,1],[6,2,0],[2,4,0],[8,2,3],[3,7,1],[4,7,5],[8,2,1],[5,0,1],[2,1,0],[0,8,9],[5,2,3],[2,5,0],[5,7,8],[0,8,9],[0,5,2],[1,6,5],[9,0,7],[3,2,8],[9,1,5],[2,1,4],[7,6,3],[4,9,6],[9,0,7],[4,7,6],[0,2,4],[3,5,9],[2,4,9],[0,4,5],[6,9,1],[1,7,6],[4,2,9],[2,8,6],[8,3,1],[3,8,9],[2,9,3],[8,6,1],[0,5,1],[7,2,9],[2,0,9],[3,9,0],[1,9,7],[2,5,3],[8,0,7],[4,2,3],[8,5,0],[1,7,0],[7,3,1],[0,5,1],[0,1,5],[8,9,2],[2,0,3],[0,6,9],[5,9,3],[6,5,0],[9,2,3],[7,9,4],[4,2,5],[1,2,6],[0,8,4],[1,5,7],[3,7,4],[0,2,4],[1,2,4],[5,3,1],[6,8,9],[7,3,6],[0,2,3],[8,5,1],[1,3,8],[9,5,2],[3,8,0],[8,5,7],[0,7,3],[7,3,9],[7,4,5],[4,7,2],[8,7,1],[1,3,7],[9,3,5],[1,6,8],[9,0,1],[4,7,2],[3,1,5],[1,6,5],[6,7,2],[1,5,3],[9,6,5],[4,1,3],[4,2,9],[6,2,8],[0,2,5],[6,3,0],[8,0,5],[2,9,4],[2,1,6],[8,3,1],[0,1,3],[7,2,4],[2,4,3],[5,6,3],[6,3,5],[6,4,0],[3,0,5],[4,9,8],[3,2,1],[7,2,4],[9,2,4],[3,2,4],[7,2,3],[0,9,8],[0,9,1],[8,7,2],[3,1,0],[9,2,5],[5,4,0],[3,9,2],[6,4,1],[8,3,4],[0,6,3],[0,1,5],[9,0,3],[2,5,6],[2,1,9],[4,5,7],[2,3,6],[5,9,7],[8,7,4],[6,9,3],[3,8,6],[3,9,2],[3,7,4],[9,5,4],[4,2,6],[3,7,4],[5,0,7],[2,4,0],[6,8,1],[0,3,9],[4,6,9],[9,7,5],[8,5,2],[3,7,1],[3,5,6],[0,7,9],[8,3,2],[1,7,4],[9,5,3],[0,3,9],[4,5,1],[3,9,4],[5,6,9],[5,6,2],[2,5,7],[2,1,3],[0,9,6],[2,0,1],[0,5,7],[3,2,9]],"numReplicas":2,"serverList":["192.168.90.11:56383","192.168.90.11:56386","192.168.90.11:56389","192.168.90.11:56392","192.168.90.11:56395","192.168.90.11:56398","192.168.90.11:56401","192.168.90.11:56404","192.168.90.11:56407","192.168.90.11:56410"],"hashAlgorithm":"CRC"}}
    at rx.exceptions.OnErrorThrowable.addValueAsLastCause(OnErrorThrowable.java:109)
    at rx.exceptions.Exceptions.throwOrReport(Exceptions.java:188)
    at rx.internal.operators.OperatorMap$1.onNext(OperatorMap.java:56)
    ... 18 more

mmoayyed avatar Dec 11 '15 08:12 mmoayyed

I can't figure out how to use CouchbaseMock together with the java-client for Couchbase. Has anyone had any luck with this? The code hereunder is able to open a bucket but I can't execute any requests. I just get a timeout. I tried using java-client in version 2.2.1, 2.2.7 with same end result.

@Test
    public void retrieveElementFromCouchbase() throws IOException, InterruptedException {
        Properties systemProperties = System.getProperties();
        systemProperties.put("net.spy.log.LoggerImpl", "net.spy.memcached.compat.log.Log4JLogger");
        System.setProperties(systemProperties);

        BucketConfiguration bucketConfiguration = new BucketConfiguration();
        bucketConfiguration.hostname = "127.0.0.1";
        bucketConfiguration.numNodes = 1;
        bucketConfiguration.numReplicas = 0;
        bucketConfiguration.name = "app_settings";
        bucketConfiguration.type = org.couchbase.mock.Bucket.BucketType.COUCHBASE;
        bucketConfiguration.password = "";

        ArrayList<BucketConfiguration> configList = new ArrayList<>();
        configList.add(bucketConfiguration);

        CouchbaseMock couchbaseMock = new CouchbaseMock(8091, configList);
        couchbaseMock.start();
        couchbaseMock.waitForStartup();

        CouchbaseCluster cluster = CouchbaseCluster.create(DefaultCouchbaseEnvironment.builder().
                bootstrapCarrierEnabled(false).bootstrapHttpDirectPort(8091).build(), Arrays.asList("127.0.0.1"));
        Bucket bucket = cluster.openBucket("app_settings");

        Thread.sleep(2000);
        log.info("Bucket opened!");

        JsonDocument res = bucket.get("any_id", 10, TimeUnit.SECONDS);
        log.info(res);
    }

2016-05-12 12:54:43,064 INFO com.y.test.MainTest [main] Bucket opened!   
java.lang.RuntimeException: java.util.concurrent.TimeoutException

    at com.couchbase.client.java.util.Blocking.blockForSingle(Blocking.java:75)
    at com.couchbase.client.java.CouchbaseBucket.get(CouchbaseBucket.java:129)
    at com.y.test.MainTest.retrieveElementFromCouchbase(MainTest.java:94)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
    at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:119)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:42)
    at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:234)
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:74)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
Caused by: java.util.concurrent.TimeoutException
    ... 30 more

gitplaneta avatar May 12 '16 13:05 gitplaneta

I'm not alone, apparently.

An attempt to bucket.exists("test"); leads to a standard error in this thread

2016-05-13 16:40:19.811  WARN 5443 --- [      cb-io-1-2] c.c.client.core.endpoint.Endpoint        : [localhost/127.0.0.1:12345][QueryEndpoint]: Could not connect to endpoint, retrying with delay 64 MILLISECONDS: 

java.net.ConnectException: Connection refused: localhost/127.0.0.1:12345
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
    at com.couchbase.client.deps.io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:224)
    at com.couchbase.client.deps.io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:289)
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:545)
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:485)
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:399)
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:371)
    at com.couchbase.client.deps.io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112)
    at com.couchbase.client.deps.io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)
    at java.lang.Thread.run(Thread.java:745)

edudar avatar May 14 '16 20:05 edudar

Is this project dead? I see that noone was able to combine CouchbaseMock with api v 2+

pszeliga avatar Feb 28 '17 11:02 pszeliga

CouchbaseMock does work with the v 2+ api. I was fighting with the TimeoutException myself. I started debugging by running: org.couchbase.mock.clientv2.ClientTest.java (in the test package of CouchbaseMock). That proved that the v 2+ api works.

I then started examining my code and seeing how exactly it was different from the setup in that test (both the creation of the mock and the creation of my v 2+ client to connect to the mock).

After some trial and error I got my code working. Here's the diff that made it work:

BROKEN CODE (times out):

CouchbaseCluster cluster = CouchbaseCluster.create("localhost:8091");

CODE THAT WORKS (no timeout):

CouchbaseCluster cluster = CouchbaseCluster.create(DefaultCouchbaseEnvironment.builder() .bootstrapCarrierDirectPort(carrierPort) .build() ,"localhost:8091");

So, the client really really wants the carrierPort in the v 2+ case.

1: Hopefully that helps out anyone trying to make this work. 2: If your code is still failing then diff it to the V2 test code I mentioned above. How exactly does it differ? 3: Raises the question - is the carrierPort in the client mandatory by design or by accident (a bug that needs fixing)? Why is the carrierPort now required?

jimhooker2002 avatar Mar 22 '17 16:03 jimhooker2002

Reading back over the previous comments on the ticket - it now appears to me that the fix is NOT to do bootstrapCarrierEnabled(false), but instead of that, leave it set to true and ADDITIONALLY provide the bootstrapCarrierDirectPort(carrierPort) via the environment builder when constructing the v 2+ client. Exactly as I did in my example above.

jimhooker2002 avatar Mar 22 '17 17:03 jimhooker2002

Looking in core-io I see the constant....

BOOTSTRAP_CARRIER_DIRECT_PORT = 11210

I'm guessing that CouchbaseMock is not respecting this. I'm guessing CouchbaseMock is using a dynamically assigned port, hence this issue (the Java 2.X client is trying to use a port that CouchbaseMock is not running on).

I'm also guessing (there's a lot of guesswork today!) the fix to CouchbaseMock would be to make it honour the bootstrap carrier port of 11210 by default. The existing dynamic port assignment could still be triggered if the BucketConfiguration for CouchbaseMock setup offered something like this:

bucketConfiguration.bootstrapCarrierDirectPort = 0; // assign dynamic port bucketConfiguration.bootstrapCarrierDirectPort = 1234; // assign specific port specified, 1234 in this case

If the value is not set at all via bucketConfiguration.bootstrapCarrierPort then it should default to 11210, same as the client is expecting based on the constant defined in core-io.

CouchbaseMock dudes, does that sound right/reasonable? Does it smell like the right fix to be making to CouchbaseMock? Hopefully that would then make CouchbaseMock "just work" with the 2.x client.

jimhooker2002 avatar Mar 22 '17 20:03 jimhooker2002

Several issues with making CouchbaseMock listen by default on 11210:

  • Many of us are running Couchbase Server and CouchbaseMock on the same host
  • Each bucket needs its own “host” (this differs from how an actual Couchbase server works… but doesn’t “break” anything in the established logic)

@subalakr managed to get the Java 2.x client running in tests - https://github.com/couchbase/CouchbaseMock/commit/20d5296a0f2c3736f334cc041baf97a661ccb667

The magic here is essentially querying CouchbaseMock to determine what all its ports are.. there's the "HTTP" old-style config port and the "Carrier Ports" (which are also data ports).

mnunberg avatar Mar 22 '17 20:03 mnunberg

Thanks for the feedback @mnunberg. Couple-o-thoughts on your thoughts....

You guys running server/mock on same host - you still can if you use bootstrapCarrierDirectPort = 0. That would break existing usage (in the presence of a really real CB install on the same box) of course, but be easy to fix.

Each bucket, own host - Yep, that complicates matters. Implementing as I suggest though would at-least make the single bucket use case "just work". Future iterations could perhaps solve the multi-bucket use case. My application only uses one bucket, so it would help me ;-)

The magic get the port dance - it would be nicer if it "just worked" without the magic port dance (it's not obvious anyone would need to do it).

jimhooker2002 avatar Mar 22 '17 21:03 jimhooker2002

OK, new approach - see pull request: https://github.com/couchbase/CouchbaseMock/pull/20

That let's us support the dynamic ports in a more graceful way. We can then get the carrier port from the mock in the same way that we can get the http port.

jimhooker2002 avatar Mar 25 '17 08:03 jimhooker2002

HI, Anyone really found a solution for this above mentioned issue or still it is having the same issue?

helloBangalore avatar Oct 30 '17 11:10 helloBangalore

Also having the same issue - has anyone been able to successfully connect to couchbasemock using java-client?

jackpf avatar Nov 23 '17 16:11 jackpf

driver.bucket(name,env =>env.connectTimeout(10000).managementTimeout(10000).maxRequestLifetime(maxQueryTime).queryTimeout(maxQueryTime))

kw0516 avatar Apr 01 '19 03:04 kw0516

I just tried it with Java SDK 2.7.4 and CouchbaseMock 1.5.54 and still facing the same issue. Just wondering if this in fact the recommended usage?

jugalps avatar Jun 10 '20 13:06 jugalps