chore(camel-test-infra-couchbase): upgrade couchbase.container to 8.0.0#21891
chore(camel-test-infra-couchbase): upgrade couchbase.container to 8.0.0#21891
Conversation
Update couchbase.container from 7.6.2 to 8.0.0
|
/component-test camel-couchbase |
|
/component-test camel-couchbase Result ✅ The tests passed successfully |
|
🤖 The Apache Camel test robot will run the tests for you 👍 |
apupier
left a comment
There was a problem hiding this comment.
requires specific change:
[�[1;31mERROR�[m] �[1;31mErrors: �[m
[�[1;31mERROR�[m] �[1;31m ConsumeMessagesWithLimitIT>CouchbaseIntegrationTestBase.setUpCouchbase:57 » ViewService View Query Failed: {"error":"not_found","reason":"views are supported only on couchbase buckets with couchstore storage backend"}
�[m
[�[1;31mERROR�[m] �[1;31m ConsumeResumeStrategyIT>CouchbaseIntegrationTestBase.setUpCouchbase:57 » ViewService View Query Failed: {"error":"not_found","reason":"views are supported only on couchbase buckets with couchstore storage backend"}
�[m
|
/component-test camel-couchbase |
|
/component-test camel-couchbase Result ✅ The tests passed successfully |
|
/update-branch |
…chbase-container-8.0.0-18
|
✅ Branch updated successfully by merging |
|
/component-test camel-couchbase |
|
✅ |
|
/update-branch |
…chbase-container-8.0.0-18
|
✅ Branch updated successfully by merging |
|
/component-test camel-couchbase |
|
✅
|
|
Local test results for Couchbase 8.0.0: Mixed results — producer tests pass, consumer tests fail:
The consumer test failures are caused by: Couchbase 8.0.0 changed the default storage backend from CouchStore to Magma. Map/Reduce views are not supported on Magma. The test base class To fix, either:
This PR is not safe to merge without addressing the storage backend change. |
Couchbase 8.0.0 changed the default storage backend from CouchStore to Magma. Map/Reduce views only work with CouchStore, so explicitly set StorageBackend.COUCHSTORE when creating the test bucket. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
🌟 Thank you for your contribution to the Apache Camel project! 🌟 🐫 Apache Camel Committers, please review the following items:
|
|
I've verified the Couchbase 8.0.0 upgrade locally with Docker — all 28 unit tests + 3 integration tests pass. Issue: Couchbase 8.0.0 changed the default storage backend from CouchStore to Magma. Map/Reduce views (used by the integration tests) only work with CouchStore, so creating a bucket without explicitly setting the storage backend now fails with a Fix: The additional commit ( @apupier could you double-check locally if you have a chance? The CI build passes (JDK 21 + JDK 25). |
apupier
left a comment
There was a problem hiding this comment.
Couchbase 8.0.0 changed the default storage backend from CouchStore to Magma. Map/Reduce views (used by the integration tests) only work with CouchStore, so creating a bucket without explicitly setting the storage backend now fails with a ViewServiceException.
Does it mean that the component must be improved to work with default?
Are all tests requiring Map/reduce views? What do you think to have some tests with the Couchstore and some tests using the default magma?
|
Superseded by a newer version (8.0.0). |
|
🧪 CI tested the following changed modules:
Full reactor (76 modules)
|
@gnodet ^^ |
There was a problem hiding this comment.
The change to force StorageBackend.COUCHSTORE is the right pragmatic fix for now.
Some context on the broader picture:
The consumer is fundamentally tied to MapReduce Views — CouchbaseConsumer.java uses bucket.viewQuery() as its sole mechanism to poll for documents. MapReduce Views were deprecated in Couchbase 7.0 and don't work with the Magma storage backend, which became the default in 8.0.
Test breakdown:
- Consumer tests (
ConsumeMessagesWithLimitIT,ConsumeResumeStrategyIT) — require views, so they must use CouchStore - Producer tests (
ProduceMessagesSimpleIT,ProduceMessagesWithAutoIDIT,RemoveMessagesIT) — only use KV operations (get/upsert/remove), so they could theoretically run with the default Magma backend
@apupier Re: your questions — splitting producer tests to use Magma and consumer tests to use CouchStore is possible but adds complexity for limited value (KV operations working with Magma is a Couchbase SDK guarantee). The real improvement is migrating the consumer from deprecated Views to SQL++ (N1QL) queries, which I've filed as a separate issue.
gnodet
left a comment
There was a problem hiding this comment.
I've filed CAMEL-23218 to track modernizing the consumer from deprecated MapReduce Views to SQL++ (N1QL) queries.
This PR updates the
couchbase.containercontainer image to version8.0.0.Update Details
couchbase.containermirror.gcr.io/couchbase/server/home/runner/work/camel/camel/test-infra/camel-test-infra-couchbase/src/main/resources/org/apache/camel/test/infra/couchbase/services/container.properties7.6.28.0.0Verification
Please verify:
Run the following to verify:
This PR was automatically created by the Container Version Upgrade workflow.