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]

Reply via email to