You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Andrea Cosentino (Jira)" <ji...@apache.org> on 2026/09/30 09:59:00 UTC
[jira] [Commented] (CAMEL-25172) camel-couchbase: persistTo=2 is rejected although PersistTo.TWO exists, by a message that says 0 to 4 are supported
[ https://issues.apache.org/jira/browse/CAMEL-25172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18121053#comment-18121053 ]
Andrea Cosentino commented on CAMEL-25172:
------------------------------------------
PR opened: https://github.com/apache/camel/pull/27123
Fix and test included; each fix in the PR was revert-checked individually.
_Claude Code on behalf of oscerd_
> camel-couchbase: persistTo=2 is rejected although PersistTo.TWO exists, by a message that says 0 to 4 are supported
> -------------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-25172
> URL: https://issues.apache.org/jira/browse/CAMEL-25172
> Project: Camel
> Issue Type: Bug
> Components: camel-couchbase
> Reporter: Andrea Cosentino
> Assignee: Andrea Cosentino
> Priority: Minor
>
> {{CouchbaseProducer}} maps the numeric {{persistTo}} option onto the SDK's {{PersistTo}} enum and skips 2:
> {code:java}
> switch (persistTo) {
> case 0:
> this.persistTo = PersistTo.NONE;
> break;
> case 1:
> this.persistTo = PersistTo.ACTIVE;
> break;
> case 3:
> this.persistTo = PersistTo.THREE;
> break;
> case 4:
> this.persistTo = PersistTo.FOUR;
> break;
> default:
> throw new IllegalArgumentException(
> "Unsupported persistTo parameter. Supported values are 0 to 4. Currently provided: " + persistTo);
> }
> {code}
> {{com.couchbase.client.java.kv.PersistTo}} declares NONE, ACTIVE, ONE, TWO, THREE and FOUR, so {{PersistTo.TWO}} - persist to two nodes - is a perfectly ordinary durability requirement. It is the only value in the advertised range that fails, and the message it fails with claims that range is supported:
> {noformat}
> persistTo=0 -> accepted
> persistTo=1 -> accepted
> persistTo=2 -> REJECTED: Unsupported persistTo parameter. Supported values are 0 to 4. Currently provided: 2
> persistTo=3 -> accepted
> persistTo=4 -> accepted
> {noformat}
> The parallel {{replicateTo}} switch immediately below covers 0 to 3 with no gap, which is what the {{persistTo}} one was evidently meant to do.
> h2. Proposed fix
> Add {{case 2: this.persistTo = PersistTo.TWO;}}.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)