Croway opened a new pull request, #23863: URL: https://github.com/apache/camel/pull/23863
## Summary _Claude Code on behalf of Federico Mariani_ Polishes `RedisAggregationRepository`, fixing issues accumulated since its original contribution in 2020. The Hazelcast equivalent received several maintenance passes (CAMEL-22041, CAMEL-17641, RuntimeCamelException sweeps) that were never applied to the Redis implementation. **Fixes:** - **Per-key locking**: replaced global `"aggregationLock"` with per-key lock (`mapName + "-lock-" + key`), matching the Hazelcast approach from CAMEL-22041 - **Marshal outside lock**: moved `DefaultExchangeHolder.marshal()` before lock acquisition to reduce lock hold time - **Catalog integration**: added `@Configurer(metadataOnly = true)` and class-level `@Metadata` so the repository appears in the Camel catalog (was missed in CAMEL-17641) - **Exception type**: `RuntimeException` → `RuntimeCamelException` (missed in the mass-migration sweep) - **Endpoint validation**: `doInit()` now validates `endpoint` when no external `RedissonClient` is provided - **Log messages**: fixed Hazelcast terminology (`IMap` → `RMap`) and typo (`putIfAbsend` → `putIfAbsent`) **Tests:** - Added `RedisAggregationRepositoryOperationsIT` with 12 focused integration tests covering pessimistic/optimistic add/get/replace, recovery cycle (scan/recover/confirm), remove without recovery, getKeys/containsKey, mode guards, custom RedissonClient injection, and endpoint validation ## Test plan - [x] `mvn verify` passes in `components/camel-redis` (13 tests, ~8s) - [x] Generated catalog files created (`RedisAggregationRepository.json`, configurer service, `RedisAggregationRepositoryConfigurer.java`) - [x] `mvn formatter:format impsort:sort` clean -- 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]
