camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Franz Forsthofer (JIRA)" <j...@apache.org>
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

    [ 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)

Mime
View raw message