【问题标题】:How to increase timeout for waiting for the couchbase Query service to come up如何增加等待 couchbase Query 服务启动的超时时间
【发布时间】:2020-01-23 19:36:22
【问题描述】:

我正在测试容器中运行 couchbase(使用 docker),它正在等待查询服务启动。如何将超时时间从 120 秒增加到 120 秒?

2020-01-23 19:19:43,026  INFO chbase.CouchbaseQueryServiceWaitStrategy:  33 - Waiting for 120 seconds for QUERY service
2020-01-23 19:21:43,041 ERROR           docker[couchbase/server:5.5.1]: 297 - Could not start container
org.testcontainers.containers.ContainerLaunchException: Timed out waiting for QUERY service
        at org.testcontainers.couchbase.CouchbaseQueryServiceWaitStrategy.waitUntilReady(CouchbaseQueryServiceWaitStrategy.java:52)
            at org.testcontainers.containers.wait.strategy.AbstractWaitStrategy.waitUntilReady(AbstractWaitStrategy.java:35)
            at org.testcontainers.couchbase.CouchbaseContainer.createBucket(CouchbaseContainer.java:277)
            at org.testcontainers.couchbase.CouchbaseContainer.containerIsStarted(CouchbaseContainer.java:332)
            at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:295)
            at org.testcontainers.containers.GenericContainer.lambda$doStart$0(GenericContainer.java:237)
            at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:76)
            at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:235)
            at org.testcontainers.couchbase.CouchbaseContainer.doStart(CouchbaseContainer.java:140)
            at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:220)
            at org.testcontainers.containers.GenericContainer.starting(GenericContainer.java:738)
            at org.testcontainers.containers.FailureDetectingExternalResource$1.evaluate(FailureDetectingExternalResource.java:29)
            at org.junit.rules.RunRules.evaluate(RunRules.java:20)
            at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
            at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
            at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:272)
            at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:236)
            at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
            at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:386)
            at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:323)
            at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:143)

【问题讨论】:

    标签: java couchbase n1ql spring-data-couchbase couchbase-java-api


    【解决方案1】:

    N1qlQuery

    中使用 N1qlParams
            String query = "your query";
            N1qlParams n1qlParams = N1qlParams.build();
            n1qlParams.serverSideTimeout(120, TimeUnit.SECONDS);
            final N1qlQuery n1qlQuery = N1qlQuery.simple(query.toString(),n1qlParams);
            YourCouchbaseRepositoryObject.getCouchbaseOperations().findByN1QL(n1qlQuery, YourEntity.class);
    

    【讨论】:

    • 查询服务是在所有容器启动时启动的服务,默认超时时间为 120 秒,这就是我需要更改的内容(如果可能的话,我已经被告知不是),并不是查询超时。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-30
    • 1970-01-01
    • 2013-01-07
    • 1970-01-01
    • 2017-06-15
    • 1970-01-01
    相关资源
    最近更新 更多