This is an automated email from the ASF dual-hosted git repository.
pjfanning pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pekko-connectors.git
The following commit(s) were added to refs/heads/main by this push:
new 9dfe80a06 Couchbase3: test against couchbase community-8.0.2 (#1888)
9dfe80a06 is described below
commit 9dfe80a06e835affa64129e368b927b2ded50349
Author: PJ Fanning <[email protected]>
AuthorDate: Sun Sep 6 18:58:50 2026 +0100
Couchbase3: test against couchbase community-8.0.2 (#1888)
* Couchbase3: test against couchbase community-8.0.2
Motivation:
Couchbase Server 8.0 is the current community line; the couchbase module's
EOL SDK 2.x stays on 7.6, while couchbase3 (SDK 3.x) moves to Server 8.
Modification:
Add separate couchbase3/couchbase3_prep docker-compose services on
couchbase:community-8.0.2 (couchstore storage backend, replica 0 - both
required on Server 8 community) and point the couchbase3 CI job at them.
Give CouchbaseTestSourceSpec IntegrationPatience for the slower KV
sampling scan on Server 8.
Result:
couchbase3 tests run against Couchbase Server community 8.0; the legacy
couchbase module keeps its 7.6 coverage.
Tests:
- sbt couchbase3/test passes 14/14 locally against couchbase3_prep
References:
None - test docker image maintenance
* rename couchbase docker-compose services to couchbase7 and couchbase8
---
.github/workflows/check-build-test.yml | 4 +-
.../docs/scaladsl/CouchbaseTestSourceSpec.scala | 3 +-
docker-compose.yml | 55 +++++++++++++++++++---
3 files changed, 52 insertions(+), 10 deletions(-)
diff --git a/.github/workflows/check-build-test.yml
b/.github/workflows/check-build-test.yml
index 3dc373c60..f40f80d16 100644
--- a/.github/workflows/check-build-test.yml
+++ b/.github/workflows/check-build-test.yml
@@ -105,8 +105,8 @@ jobs:
- { connector: aws-event-bridge, pre_cmd: 'docker
compose up -d amazoneventbridge' }
- { connector: azure-storage-queue }
- { connector: cassandra, pre_cmd: 'docker
compose up -d cassandra' }
- - { connector: couchbase, pre_cmd: 'docker
compose up -d couchbase_prep' }
- - { connector: couchbase3, pre_cmd: 'docker
compose up -d couchbase_prep' }
+ - { connector: couchbase, pre_cmd: 'docker
compose up -d couchbase7_prep' }
+ - { connector: couchbase3, pre_cmd: 'docker
compose up -d couchbase8_prep' }
- { connector: csv }
- { connector: dynamodb, pre_cmd: 'docker
compose up -d dynamodb' }
- { connector: elasticsearch, pre_cmd: 'docker
compose up -d elasticsearch6 elasticsearch7 opensearch1' }
diff --git
a/couchbase3/src/test/scala/docs/scaladsl/CouchbaseTestSourceSpec.scala
b/couchbase3/src/test/scala/docs/scaladsl/CouchbaseTestSourceSpec.scala
index 7697a1540..0fc9d191b 100644
--- a/couchbase3/src/test/scala/docs/scaladsl/CouchbaseTestSourceSpec.scala
+++ b/couchbase3/src/test/scala/docs/scaladsl/CouchbaseTestSourceSpec.scala
@@ -26,7 +26,7 @@ import
org.apache.pekko.stream.connectors.testkit.scaladsl.LogCapturing
import org.apache.pekko.stream.scaladsl.Sink
import
org.apache.pekko.stream.testkit.scaladsl.StreamTestKit.assertAllStagesStopped
import org.scalatest.{ BeforeAndAfterAll, BeforeAndAfterEach, Inspectors }
-import org.scalatest.concurrent.ScalaFutures
+import org.scalatest.concurrent.{ IntegrationPatience, ScalaFutures }
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
@@ -36,6 +36,7 @@ class CouchbaseTestSourceSpec extends AnyWordSpec
with BeforeAndAfterEach
with Matchers
with ScalaFutures
+ with IntegrationPatience
with Inspectors
with LogCapturing {
diff --git a/docker-compose.yml b/docker-compose.yml
index 487da7eaf..c428cc9da 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -206,27 +206,27 @@ services:
- 9090:9090
- 12345:12345
command: standalone
- couchbase:
+ couchbase7:
image: couchbase:community-7.6.1
ports:
- "8091-8096:8091-8096"
- "11210-11211:11210-11211"
- couchbase_prep:
+ couchbase7_prep:
image: couchbase:community-7.6.1
links:
- - "couchbase"
+ - "couchbase7"
entrypoint: ""
# when we drop couchbase2, we don't need to create bucket pekkoquery
command: >
bash -c
"echo 'waiting until couchbase is up'
- until `curl --output /dev/null --silent --head --fail
http://couchbase:8091`; do
+ until `curl --output /dev/null --silent --head --fail
http://couchbase7:8091`; do
printf '.'
sleep 2
done
- couchbase-cli cluster-init -c couchbase
+ couchbase-cli cluster-init -c couchbase7
--cluster-username Administrator
--cluster-password password
--cluster-ramsize 300
@@ -235,7 +235,7 @@ services:
--cluster-query-ramsize 256
--services data,index,query,fts
- couchbase-cli bucket-create -c couchbase
+ couchbase-cli bucket-create -c couchbase7
-u Administrator -p password
--bucket pekko
--bucket-type couchbase
@@ -243,7 +243,7 @@ services:
--bucket-replica 1
--wait
- couchbase-cli bucket-create -c couchbase
+ couchbase-cli bucket-create -c couchbase7
-u Administrator -p password
--bucket pekkoquery
--bucket-type couchbase
@@ -251,6 +251,47 @@ services:
--bucket-replica 1
--wait
+ sleep 2 # just wait a tiny bit more after creating the bucket
+ "
+ # couchbase8 shares host ports with the couchbase7 service above (the SDK
+ # requires the standard ports), so only one of the two can run at a time
+ couchbase8:
+ image: couchbase:community-8.0.2
+ ports:
+ - "8091-8096:8091-8096"
+ - "11210-11211:11210-11211"
+ couchbase8_prep:
+ image: couchbase:community-8.0.2
+ links:
+ - "couchbase8"
+ entrypoint: ""
+ command: >
+ bash -c
+ "echo 'waiting until couchbase is up'
+
+ until `curl --output /dev/null --silent --head --fail
http://couchbase8:8091`; do
+ printf '.'
+ sleep 2
+ done
+
+ couchbase-cli cluster-init -c couchbase8
+ --cluster-username Administrator
+ --cluster-password password
+ --cluster-ramsize 300
+ --cluster-index-ramsize 256
+ --cluster-fts-ramsize 256
+ --cluster-query-ramsize 256
+ --services data,index,query,fts
+
+ couchbase-cli bucket-create -c couchbase8
+ -u Administrator -p password
+ --bucket pekko
+ --bucket-type couchbase
+ --storage-backend couchstore
+ --bucket-ramsize 120
+ --bucket-replica 0
+ --wait
+
sleep 2 # just wait a tiny bit more after creating the bucket
"
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]