[
https://issues.apache.org/jira/browse/CAMEL-8284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14316333#comment-14316333
]
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: https://issues.apache.org/jira/browse/CAMEL-8284
> 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
> http://camel.465427.n5.nabble.com/Data-Corruption-in-SFTP-in-Parallel-Multicast-branches-td5761673.html#a5761781
> Franz Forsthofer
> SAP SE
> e-mail: franz.forsthofer[at]sap.com
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)