Repository: camel Updated Branches: refs/heads/master 8163a8f0e -> 5481b9cf8
CAMEL-8010:Included onSubmitCompletion in the lock section to prevent race condiditon Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/45403daa Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/45403daa Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/45403daa Branch: refs/heads/master Commit: 45403daaf4f47104a59962ff4aebfdef2adf5f7c Parents: 655c771 Author: Rajithamol <[email protected]> Authored: Fri Aug 18 15:24:41 2017 -0400 Committer: Andrea Cosentino <[email protected]> Committed: Thu Aug 24 11:18:46 2017 +0200 ---------------------------------------------------------------------- .../camel/processor/aggregate/AggregateProcessor.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/45403daa/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java b/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java index 6d2c5a3..236665e 100644 --- a/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java +++ b/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java @@ -346,16 +346,16 @@ public class AggregateProcessor extends ServiceSupport implements AsyncProcessor lock.lock(); try { aggregated = doAggregation(key, copy); + // we are completed so do that work outside the lock + if (aggregated != null) { + for (Exchange agg : aggregated) { + onSubmitCompletion(key, agg); + } + } } finally { lock.unlock(); } - // we are completed so do that work outside the lock - if (aggregated != null) { - for (Exchange agg : aggregated) { - onSubmitCompletion(key, agg); - } - } } // check for the special header to force completion of all groups (inclusive of the message)
