You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Federico Mariani (Jira)" <ji...@apache.org> on 2026/06/08 15:48:00 UTC

[jira] [Work started] (CAMEL-23714) Polish RedisAggregationRepository: fix global lock, add catalog metadata, and improve test coverage

     [ https://issues.apache.org/jira/browse/CAMEL-23714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Work on CAMEL-23714 started by Federico Mariani.
------------------------------------------------
> Polish RedisAggregationRepository: fix global lock, add catalog metadata, and improve test coverage
> ---------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-23714
>                 URL: https://issues.apache.org/jira/browse/CAMEL-23714
>             Project: Camel
>          Issue Type: Improvement
>    Affects Versions: 4.20.0
>            Reporter: Federico Mariani
>            Assignee: Federico Mariani
>            Priority: Minor
>
> Bugs:
> - Pessimistic add() acquires a single global lock ("aggregationLock") instead of a per-key lock, serializing all aggregation operations across all correlation keys. The Hazelcast equivalent was fixed to per-key locking in CAMEL-22041.
> - Exchange marshaling (DefaultExchangeHolder.marshal()) happens inside the lock critical section, increasing lock hold time unnecessarily.
> - remove() throws RuntimeException instead of RuntimeCamelException. The Redis repo was missed in the mass-migration commit 0d33d6f7b5d.
> - doInit() does not validate endpoint when redisson is null, leading to a NullPointerException in doStart() instead of a clear error message.
> Catalog/tooling:
> - Missing @Configurer(metadataOnly = true) and class-level @Metadata(label = "bean", ...) annotations, so the repository does not appear in the Camel catalog.
> Test coverage:
> - Only one integration test (AggregateRedisIT) covering the basic pessimistic happy path. Missing tests for: optimistic locking (happy path and contention), recovery cycle (scan/recover/confirm), dead letter channel, custom RedissonClient injection, and transaction rollback in remove().



--
This message was sent by Atlassian Jira
(v8.20.10#820010)