You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2019/05/16 03:08:00 UTC

[jira] [Resolved] (CAMEL-13527) Implement missing optimisation for DelimiterBasedFrameDecoder

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

Claus Ibsen resolved CAMEL-13527.
---------------------------------
       Resolution: Fixed
         Assignee: Claus Ibsen
    Fix Version/s: 2.25.0
                   2.24.1
                   2.22.5
                   2.23.3
                   3.0.0-M3
                   3.0.0

Thanks for reporting and the PR

> Implement missing optimisation for DelimiterBasedFrameDecoder
> -------------------------------------------------------------
>
>                 Key: CAMEL-13527
>                 URL: https://issues.apache.org/jira/browse/CAMEL-13527
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-netty4
>    Affects Versions: 2.24.0, 3.0.0-M2
>            Reporter: Jan Bednar
>            Assignee: Claus Ibsen
>            Priority: Minor
>             Fix For: 3.0.0, 3.0.0-M3, 2.23.3, 2.22.5, 2.24.1, 2.25.0
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> See pretty nice analysis on SO [https://stackoverflow.com/questions/56110408/memory-leak-in-camel-netty-tcp-client-when-consuming-lines-with-windows-line-bre]
> *io.netty.handler.codec.DelimiterBasedFrameDecoder* internally delegates decoding to *io.netty.handler.codec.LineBasedFrameDecoder*. This delegation is not working with Camel, because Netty internally checks for condition
> {code:java}
> this.getClass() != DelimiterBasedFrameDecoder.class // io.netty.handler.codec.DelimiterBasedFrameDecoder line 174 - !isSubclass()
> {code}
> We can recreate similar optimisation inside *org.apache.camel.component.netty4.codec.DelimiterBasedFrameDecoder* and get (according to SO post) significant performance improvement.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)