Dont share environment. Slower but more deterministic
This commit is contained in:
parent
4e5e75ebff
commit
e8d6928a8c
|
@ -2,6 +2,7 @@ import com.couchbase.client.java.AsyncCluster
|
||||||
import com.couchbase.client.java.CouchbaseAsyncCluster
|
import com.couchbase.client.java.CouchbaseAsyncCluster
|
||||||
import com.couchbase.client.java.document.JsonDocument
|
import com.couchbase.client.java.document.JsonDocument
|
||||||
import com.couchbase.client.java.document.json.JsonObject
|
import com.couchbase.client.java.document.json.JsonObject
|
||||||
|
import com.couchbase.client.java.env.CouchbaseEnvironment
|
||||||
import com.couchbase.client.java.query.N1qlQuery
|
import com.couchbase.client.java.query.N1qlQuery
|
||||||
import spock.util.concurrent.BlockingVariable
|
import spock.util.concurrent.BlockingVariable
|
||||||
import util.AbstractCouchbaseTest
|
import util.AbstractCouchbaseTest
|
||||||
|
@ -31,13 +32,13 @@ class CouchbaseAsyncClientTest extends AbstractCouchbaseTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
cluster?.disconnect()?.timeout(5, TimeUnit.SECONDS)?.toBlocking()?.single()
|
cluster?.disconnect()?.timeout(10, TimeUnit.SECONDS)?.toBlocking()?.single()
|
||||||
|
environment.shutdown()
|
||||||
|
|
||||||
where:
|
where:
|
||||||
environment | bucketSettings
|
bucketSettings << [bucketCouchbase, bucketMemcache]
|
||||||
couchbaseEnvironment | bucketCouchbase
|
|
||||||
memcacheEnvironment | bucketMemcache
|
|
||||||
|
|
||||||
|
environment = envBuilder(bucketSettings).build()
|
||||||
cluster = CouchbaseAsyncCluster.create(environment, Arrays.asList("127.0.0.1"))
|
cluster = CouchbaseAsyncCluster.create(environment, Arrays.asList("127.0.0.1"))
|
||||||
manager = cluster.clusterManager(USERNAME, PASSWORD).toBlocking().single()
|
manager = cluster.clusterManager(USERNAME, PASSWORD).toBlocking().single()
|
||||||
type = bucketSettings.type().name()
|
type = bucketSettings.type().name()
|
||||||
|
@ -71,13 +72,13 @@ class CouchbaseAsyncClientTest extends AbstractCouchbaseTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
cluster?.disconnect()?.timeout(5, TimeUnit.SECONDS)?.toBlocking()?.single()
|
cluster?.disconnect()?.timeout(10, TimeUnit.SECONDS)?.toBlocking()?.single()
|
||||||
|
environment.shutdown()
|
||||||
|
|
||||||
where:
|
where:
|
||||||
environment | bucketSettings
|
bucketSettings << [bucketCouchbase, bucketMemcache]
|
||||||
couchbaseEnvironment | bucketCouchbase
|
|
||||||
memcacheEnvironment | bucketMemcache
|
|
||||||
|
|
||||||
|
environment = envBuilder(bucketSettings).build()
|
||||||
cluster = CouchbaseAsyncCluster.create(environment, Arrays.asList("127.0.0.1"))
|
cluster = CouchbaseAsyncCluster.create(environment, Arrays.asList("127.0.0.1"))
|
||||||
type = bucketSettings.type().name()
|
type = bucketSettings.type().name()
|
||||||
}
|
}
|
||||||
|
@ -119,13 +120,13 @@ class CouchbaseAsyncClientTest extends AbstractCouchbaseTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
cluster?.disconnect()?.timeout(5, TimeUnit.SECONDS)?.toBlocking()?.single()
|
cluster?.disconnect()?.timeout(10, TimeUnit.SECONDS)?.toBlocking()?.single()
|
||||||
|
environment.shutdown()
|
||||||
|
|
||||||
where:
|
where:
|
||||||
environment | bucketSettings
|
bucketSettings << [bucketCouchbase, bucketMemcache]
|
||||||
couchbaseEnvironment | bucketCouchbase
|
|
||||||
memcacheEnvironment | bucketMemcache
|
|
||||||
|
|
||||||
|
environment = envBuilder(bucketSettings).build()
|
||||||
cluster = CouchbaseAsyncCluster.create(environment, Arrays.asList("127.0.0.1"))
|
cluster = CouchbaseAsyncCluster.create(environment, Arrays.asList("127.0.0.1"))
|
||||||
type = bucketSettings.type().name()
|
type = bucketSettings.type().name()
|
||||||
}
|
}
|
||||||
|
@ -133,7 +134,8 @@ class CouchbaseAsyncClientTest extends AbstractCouchbaseTest {
|
||||||
def "test query"() {
|
def "test query"() {
|
||||||
setup:
|
setup:
|
||||||
// Only couchbase buckets support queries.
|
// Only couchbase buckets support queries.
|
||||||
AsyncCluster cluster = CouchbaseAsyncCluster.create(couchbaseEnvironment, Arrays.asList("127.0.0.1"))
|
CouchbaseEnvironment environment = envBuilder(bucketCouchbase).build()
|
||||||
|
AsyncCluster cluster = CouchbaseAsyncCluster.create(environment, Arrays.asList("127.0.0.1"))
|
||||||
def queryResult = new BlockingVariable<JsonObject>()
|
def queryResult = new BlockingVariable<JsonObject>()
|
||||||
|
|
||||||
when:
|
when:
|
||||||
|
@ -164,6 +166,7 @@ class CouchbaseAsyncClientTest extends AbstractCouchbaseTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
cluster?.disconnect()?.timeout(5, TimeUnit.SECONDS)?.toBlocking()?.single()
|
cluster?.disconnect()?.timeout(10, TimeUnit.SECONDS)?.toBlocking()?.single()
|
||||||
|
environment.shutdown()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@ import com.couchbase.client.java.Cluster
|
||||||
import com.couchbase.client.java.CouchbaseCluster
|
import com.couchbase.client.java.CouchbaseCluster
|
||||||
import com.couchbase.client.java.document.JsonDocument
|
import com.couchbase.client.java.document.JsonDocument
|
||||||
import com.couchbase.client.java.document.json.JsonObject
|
import com.couchbase.client.java.document.json.JsonObject
|
||||||
|
import com.couchbase.client.java.env.CouchbaseEnvironment
|
||||||
import com.couchbase.client.java.query.N1qlQuery
|
import com.couchbase.client.java.query.N1qlQuery
|
||||||
import util.AbstractCouchbaseTest
|
import util.AbstractCouchbaseTest
|
||||||
|
|
||||||
|
@ -24,12 +25,12 @@ class CouchbaseClientTest extends AbstractCouchbaseTest {
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
cluster?.disconnect()
|
cluster?.disconnect()
|
||||||
|
environment.shutdown()
|
||||||
|
|
||||||
where:
|
where:
|
||||||
environment | bucketSettings
|
bucketSettings << [bucketCouchbase, bucketMemcache]
|
||||||
couchbaseEnvironment | bucketCouchbase
|
|
||||||
memcacheEnvironment | bucketMemcache
|
|
||||||
|
|
||||||
|
environment = envBuilder(bucketSettings).build()
|
||||||
cluster = CouchbaseCluster.create(environment, Arrays.asList("127.0.0.1"))
|
cluster = CouchbaseCluster.create(environment, Arrays.asList("127.0.0.1"))
|
||||||
manager = cluster.clusterManager(USERNAME, PASSWORD)
|
manager = cluster.clusterManager(USERNAME, PASSWORD)
|
||||||
type = bucketSettings.type().name()
|
type = bucketSettings.type().name()
|
||||||
|
@ -63,12 +64,12 @@ class CouchbaseClientTest extends AbstractCouchbaseTest {
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
cluster?.disconnect()
|
cluster?.disconnect()
|
||||||
|
environment.shutdown()
|
||||||
|
|
||||||
where:
|
where:
|
||||||
environment | bucketSettings
|
bucketSettings << [bucketCouchbase, bucketMemcache]
|
||||||
couchbaseEnvironment | bucketCouchbase
|
|
||||||
memcacheEnvironment | bucketMemcache
|
|
||||||
|
|
||||||
|
environment = envBuilder(bucketSettings).build()
|
||||||
cluster = CouchbaseCluster.create(environment, Arrays.asList("127.0.0.1"))
|
cluster = CouchbaseCluster.create(environment, Arrays.asList("127.0.0.1"))
|
||||||
type = bucketSettings.type().name()
|
type = bucketSettings.type().name()
|
||||||
}
|
}
|
||||||
|
@ -108,20 +109,21 @@ class CouchbaseClientTest extends AbstractCouchbaseTest {
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
cluster?.disconnect()
|
cluster?.disconnect()
|
||||||
|
environment.shutdown()
|
||||||
|
|
||||||
where:
|
where:
|
||||||
environment | bucketSettings
|
bucketSettings << [bucketCouchbase, bucketMemcache]
|
||||||
couchbaseEnvironment | bucketCouchbase
|
|
||||||
memcacheEnvironment | bucketMemcache
|
|
||||||
|
|
||||||
|
environment = envBuilder(bucketSettings).build()
|
||||||
cluster = CouchbaseCluster.create(environment, Arrays.asList("127.0.0.1"))
|
cluster = CouchbaseCluster.create(environment, Arrays.asList("127.0.0.1"))
|
||||||
type = bucketSettings.type().name()
|
type = bucketSettings.type().name()
|
||||||
}
|
}
|
||||||
|
|
||||||
def "test query"() {
|
def "test query"() {
|
||||||
setup:
|
setup:
|
||||||
// Only couchbase buckets support queries.
|
// Only couchbase buckets support queries.
|
||||||
Cluster cluster = CouchbaseCluster.create(couchbaseEnvironment, Arrays.asList("127.0.0.1"))
|
CouchbaseEnvironment environment = envBuilder(bucketCouchbase).build()
|
||||||
|
Cluster cluster = CouchbaseCluster.create(environment, Arrays.asList("127.0.0.1"))
|
||||||
Bucket bkt = cluster.openBucket(bucketCouchbase.name(), bucketCouchbase.password())
|
Bucket bkt = cluster.openBucket(bucketCouchbase.name(), bucketCouchbase.password())
|
||||||
|
|
||||||
when:
|
when:
|
||||||
|
@ -146,5 +148,6 @@ class CouchbaseClientTest extends AbstractCouchbaseTest {
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
cluster?.disconnect()
|
cluster?.disconnect()
|
||||||
|
environment.shutdown()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@ package springdata
|
||||||
|
|
||||||
import com.couchbase.client.java.Cluster
|
import com.couchbase.client.java.Cluster
|
||||||
import com.couchbase.client.java.CouchbaseCluster
|
import com.couchbase.client.java.CouchbaseCluster
|
||||||
|
import com.couchbase.client.java.env.CouchbaseEnvironment
|
||||||
import com.couchbase.client.java.view.DefaultView
|
import com.couchbase.client.java.view.DefaultView
|
||||||
import com.couchbase.client.java.view.DesignDocument
|
import com.couchbase.client.java.view.DesignDocument
|
||||||
import org.springframework.context.ConfigurableApplicationContext
|
import org.springframework.context.ConfigurableApplicationContext
|
||||||
|
@ -31,7 +32,8 @@ class CouchbaseSpringRepositoryTest extends AbstractCouchbaseTest {
|
||||||
DocRepository repo
|
DocRepository repo
|
||||||
|
|
||||||
def setupSpec() {
|
def setupSpec() {
|
||||||
Cluster couchbaseCluster = CouchbaseCluster.create(memcacheEnvironment, Arrays.asList("127.0.0.1"))
|
CouchbaseEnvironment environment = envBuilder(bucketCouchbase).build()
|
||||||
|
Cluster couchbaseCluster = CouchbaseCluster.create(environment, Arrays.asList("127.0.0.1"))
|
||||||
|
|
||||||
// Create view for SpringRepository's findAll()
|
// Create view for SpringRepository's findAll()
|
||||||
couchbaseCluster.openBucket(bucketCouchbase.name(), bucketCouchbase.password()).bucketManager()
|
couchbaseCluster.openBucket(bucketCouchbase.name(), bucketCouchbase.password()).bucketManager()
|
||||||
|
@ -46,7 +48,7 @@ class CouchbaseSpringRepositoryTest extends AbstractCouchbaseTest {
|
||||||
'''.stripIndent()
|
'''.stripIndent()
|
||||||
)))
|
)))
|
||||||
)
|
)
|
||||||
CouchbaseConfig.setEnvironment(couchbaseEnvironment)
|
CouchbaseConfig.setEnvironment(environment)
|
||||||
CouchbaseConfig.setBucketSettings(bucketCouchbase)
|
CouchbaseConfig.setBucketSettings(bucketCouchbase)
|
||||||
|
|
||||||
// Close all buckets and disconnect
|
// Close all buckets and disconnect
|
||||||
|
|
|
@ -4,12 +4,11 @@ import com.couchbase.client.java.Bucket
|
||||||
import com.couchbase.client.java.Cluster
|
import com.couchbase.client.java.Cluster
|
||||||
import com.couchbase.client.java.CouchbaseCluster
|
import com.couchbase.client.java.CouchbaseCluster
|
||||||
import com.couchbase.client.java.cluster.ClusterManager
|
import com.couchbase.client.java.cluster.ClusterManager
|
||||||
|
import com.couchbase.client.java.env.CouchbaseEnvironment
|
||||||
import org.springframework.data.couchbase.core.CouchbaseTemplate
|
import org.springframework.data.couchbase.core.CouchbaseTemplate
|
||||||
import spock.lang.Shared
|
import spock.lang.Shared
|
||||||
import util.AbstractCouchbaseTest
|
import util.AbstractCouchbaseTest
|
||||||
|
|
||||||
import java.util.concurrent.TimeUnit
|
|
||||||
|
|
||||||
class CouchbaseSpringTemplateTest extends AbstractCouchbaseTest {
|
class CouchbaseSpringTemplateTest extends AbstractCouchbaseTest {
|
||||||
|
|
||||||
@Shared
|
@Shared
|
||||||
|
@ -20,8 +19,16 @@ class CouchbaseSpringTemplateTest extends AbstractCouchbaseTest {
|
||||||
|
|
||||||
@Shared
|
@Shared
|
||||||
Cluster memcacheCluster
|
Cluster memcacheCluster
|
||||||
|
|
||||||
|
@Shared
|
||||||
|
protected CouchbaseEnvironment couchbaseEnvironment
|
||||||
|
@Shared
|
||||||
|
protected CouchbaseEnvironment memcacheEnvironment
|
||||||
|
|
||||||
def setupSpec() {
|
def setupSpec() {
|
||||||
|
couchbaseEnvironment = envBuilder(bucketCouchbase).build()
|
||||||
|
memcacheEnvironment = envBuilder(bucketMemcache).build()
|
||||||
|
|
||||||
couchbaseCluster = CouchbaseCluster.create(couchbaseEnvironment, Arrays.asList("127.0.0.1"))
|
couchbaseCluster = CouchbaseCluster.create(couchbaseEnvironment, Arrays.asList("127.0.0.1"))
|
||||||
memcacheCluster = CouchbaseCluster.create(memcacheEnvironment, Arrays.asList("127.0.0.1"))
|
memcacheCluster = CouchbaseCluster.create(memcacheEnvironment, Arrays.asList("127.0.0.1"))
|
||||||
ClusterManager couchbaseManager = couchbaseCluster.clusterManager(USERNAME, PASSWORD)
|
ClusterManager couchbaseManager = couchbaseCluster.clusterManager(USERNAME, PASSWORD)
|
||||||
|
@ -35,8 +42,10 @@ class CouchbaseSpringTemplateTest extends AbstractCouchbaseTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
def cleanupSpec() {
|
def cleanupSpec() {
|
||||||
couchbaseCluster?.disconnect(5, TimeUnit.SECONDS)
|
couchbaseCluster?.disconnect()
|
||||||
memcacheCluster?.disconnect(5, TimeUnit.SECONDS)
|
memcacheCluster?.disconnect()
|
||||||
|
couchbaseEnvironment.shutdown()
|
||||||
|
memcacheEnvironment.shutdown()
|
||||||
}
|
}
|
||||||
|
|
||||||
def "test write #name"() {
|
def "test write #name"() {
|
||||||
|
|
|
@ -5,7 +5,6 @@ import com.couchbase.client.core.metrics.DefaultMetricsCollectorConfig
|
||||||
import com.couchbase.client.java.bucket.BucketType
|
import com.couchbase.client.java.bucket.BucketType
|
||||||
import com.couchbase.client.java.cluster.BucketSettings
|
import com.couchbase.client.java.cluster.BucketSettings
|
||||||
import com.couchbase.client.java.cluster.DefaultBucketSettings
|
import com.couchbase.client.java.cluster.DefaultBucketSettings
|
||||||
import com.couchbase.client.java.env.CouchbaseEnvironment
|
|
||||||
import com.couchbase.client.java.env.DefaultCouchbaseEnvironment
|
import com.couchbase.client.java.env.DefaultCouchbaseEnvironment
|
||||||
import com.couchbase.mock.Bucket
|
import com.couchbase.mock.Bucket
|
||||||
import com.couchbase.mock.BucketConfiguration
|
import com.couchbase.mock.BucketConfiguration
|
||||||
|
@ -57,11 +56,6 @@ abstract class AbstractCouchbaseTest extends AgentTestRunner {
|
||||||
@Shared
|
@Shared
|
||||||
CouchbaseMock mock
|
CouchbaseMock mock
|
||||||
|
|
||||||
@Shared
|
|
||||||
protected CouchbaseEnvironment couchbaseEnvironment
|
|
||||||
@Shared
|
|
||||||
protected CouchbaseEnvironment memcacheEnvironment
|
|
||||||
|
|
||||||
def setupSpec() {
|
def setupSpec() {
|
||||||
mock = new CouchbaseMock("127.0.0.1", port, 1, 1)
|
mock = new CouchbaseMock("127.0.0.1", port, 1, 1)
|
||||||
mock.httpServer.register("/query", new QueryServer())
|
mock.httpServer.register("/query", new QueryServer())
|
||||||
|
@ -71,9 +65,6 @@ abstract class AbstractCouchbaseTest extends AgentTestRunner {
|
||||||
mock.createBucket(convert(bucketCouchbase))
|
mock.createBucket(convert(bucketCouchbase))
|
||||||
mock.createBucket(convert(bucketMemcache))
|
mock.createBucket(convert(bucketMemcache))
|
||||||
|
|
||||||
couchbaseEnvironment = envBuilder(bucketCouchbase).build()
|
|
||||||
memcacheEnvironment = envBuilder(bucketMemcache).build()
|
|
||||||
|
|
||||||
// This setting should have no effect since decorator returns null for the instance.
|
// This setting should have no effect since decorator returns null for the instance.
|
||||||
System.setProperty(Config.PREFIX + Config.DB_CLIENT_HOST_SPLIT_BY_INSTANCE, "true")
|
System.setProperty(Config.PREFIX + Config.DB_CLIENT_HOST_SPLIT_BY_INSTANCE, "true")
|
||||||
}
|
}
|
||||||
|
@ -94,7 +85,7 @@ abstract class AbstractCouchbaseTest extends AgentTestRunner {
|
||||||
System.clearProperty(Config.PREFIX + Config.DB_CLIENT_HOST_SPLIT_BY_INSTANCE)
|
System.clearProperty(Config.PREFIX + Config.DB_CLIENT_HOST_SPLIT_BY_INSTANCE)
|
||||||
}
|
}
|
||||||
|
|
||||||
private DefaultCouchbaseEnvironment.Builder envBuilder(BucketSettings bucketSettings) {
|
protected DefaultCouchbaseEnvironment.Builder envBuilder(BucketSettings bucketSettings) {
|
||||||
// Couchbase seems to be really slow to start sometimes
|
// Couchbase seems to be really slow to start sometimes
|
||||||
def timeout = TimeUnit.SECONDS.toMillis(20)
|
def timeout = TimeUnit.SECONDS.toMillis(20)
|
||||||
return DefaultCouchbaseEnvironment.builder()
|
return DefaultCouchbaseEnvironment.builder()
|
||||||
|
|
Loading…
Reference in New Issue