davsclaus opened a new pull request, #28359: URL: https://github.com/apache/camel/pull/28359
Fixes the bugs in camel-spring-redis and camel-couchbase found while adding the catalog body types (CAMEL-24961). In both, a command or operation the producer does not run did nothing without an error, and the body after a call could not be trusted. | JIRA | Component | Fix | |---|---|---| | [CAMEL-26019](https://issues.apache.org/jira/browse/CAMEL-26019) | spring-redis | ZSCORE is implemented. An unknown command fails, and so do the commands of the enum the producer does not run; SUBSCRIBE/PSUBSCRIBE point to the consumer. A command in mixed case runs. GET, HGET, LPOP and the other single-value reads set the body to null when they find nothing. ECHO without a value fails with `NoSuchHeaderException`. MSETNX returns its result. SETBIT/GETBIT use the key serializer. `CamelRedis.Keys` accepts a String. The consumer gives a message it cannot deserialize as `byte[]`, and hands failed exchanges to its exception handler. The docs explain that KEYS needs keys stored as strings: with the JDK serializer the keys are serialized bytes, so no raw pattern matches them. | | [CAMEL-26020](https://issues.apache.org/jira/browse/CAMEL-26020) | couchbase | The `key` option is the document id when there is no `CamelCouchbaseId` header, and the call fails when neither is set. Before, the id was the endpoint id, such as `endpoint6`. The header is no longer removed after a call. `operation` is an enum, and an unknown value fails at start. The generated SQL++ query reads ``FROM `bucket`.`_default`.`_default` AS `bucket` ``, as it runs on the scope; before, it failed on every poll with "Keyspace not found". CCB_PUT stores JSON text and bytes as JSON, other bytes and streams as binary. Reduce view rows and compound keys no longer fail the poll. | ## Upgrade guide 4.24 gets a section for each component. ## Tests The new unit tests failed before the fixes. Both suites pass: spring-redis 286, couchbase 77. The couchbase ITs were updated (`useView=true`, statements without the bucket name) but not run, as they need Docker. _Claude Code on behalf of davsclaus_ 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
