camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Franz Forsthofer (JIRA)" <>
Subject [jira] [Commented] (CAMEL-8284) MultiCast in Parallel Processing Mode with StreamCache leads to wrong results
Date Wed, 11 Feb 2015 15:08:11 GMT


Franz Forsthofer commented on CAMEL-8284:

Hello Claus,

I attached an alternative solution 0001-parallel-processable-stream.patch where I do not change
the StreamCache interface but where I introduce a new interface ParallelProcessableStream
with a copy method.

With this solution, implementations of StreamCache must not be changed.

Please have a look, if this solution can be applied for 2.14 and 2.15.

The above patch does not make changes in the netty component (as suggested by Stephan Siano,
see patch 0001-CAMEL-8284-Implement-copy-method-in-NettyChannelBuff.patch) because the implementation
of ParallelProcessableStream  is optional for enabling parallel processing. But of course
it would make sense to implement the ParallelProcessableStream  in NettyChannelBufferStreamCache.

Regards Franz

> MultiCast in Parallel Processing Mode with StreamCache leads to wrong results
> -----------------------------------------------------------------------------
>                 Key: CAMEL-8284
>                 URL:
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 2.14.1
>            Reporter: Franz Forsthofer
>             Fix For: Future
>         Attachments: 0001-CAMEL-8284-Implement-copy-method-in-NettyChannelBuff.patch,
0001-multicast-with-parallel-processing-and-stream-cachin.patch, 0001-parallel-processable-stream.patch
> If the multi-cast processor gets as an input a stream cache in the parallel processing
mode, then the stream is read by different threads concurrently. This leads to wrong results.
> The attached patch solves this issue. The idea of the patch is to provide a copy of the
stream cache to each thread. The copy will use the same cache of the original stream cache,
only the stream which accesses the cached data  will be a separate instance. For this, we
introduced the new method
>    copy()
> in the StreamCache class.
> See also discussion in
> Franz Forsthofer
> e-mail: franz.forsthofer[at]

This message was sent by Atlassian JIRA

View raw message