Is there a write lock already?  If not, one will need to be added because
the pointer checking and creation of new buffers will have to be concurrent
and serial.

On Thu, Apr 4, 2019 at 3:52 PM Jörg Michelberger (JIRA) <[email protected]>
wrote:

>
>     [
> https://issues.apache.org/jira/browse/DIRMINA-1103?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16810226#comment-16810226
> ]
>
> Jörg Michelberger commented on DIRMINA-1103:
> --------------------------------------------
>
> What do you expect can go wrong when releasing the private only buffers as
> early as possible?
> A flag confuses I think, and the reaction to the flag is only visible on
> the heap usage.
>
>
> Emmanuel Lecharny (JIRA) <[email protected]> schrieb am Do., 4. Apr. 2019,
>
>
>
> > Avoid sticky byte array buffers in Zlib CompressionFilter
> > ---------------------------------------------------------
> >
> >                 Key: DIRMINA-1103
> >                 URL: https://issues.apache.org/jira/browse/DIRMINA-1103
> >             Project: MINA
> >          Issue Type: Improvement
> >    Affects Versions: 2.0.21
> >            Reporter: Jörg Michelberger
> >            Priority: Major
> >
> > For each Zlib instance there is a zStream instance which is equipped
> with new buffers for each in and out of inflate / deflate. This buffers are
> not released after each inflate / deflate. So the last compressed and
> uncompressed byte[] and its content for rx and tx is not garbage
> collectable on each session.
> > It would be great if there was a reset(zStream) method on Zlib which
> sets the in and out to static empty byte[] to release these buffers after
> usage quite before returning from Zlib.deflate and Zlib.inflate but in the
> synchronized block. Something like:
> > {{private void resetZStream (zStream) {}}
> > {{  zStream.next_in = EMPTY_BYTE_ARRAY;}}
> >  {{  zStream.next_in_index = 0;}}
> >  {{  zStream.avail_in = 0;}}
> >  {{  zStream.next_out = EMPTY_BYTE_ARRAY;}}
> >  {{  zStream.next_out_index = 0;}}
> >  {{  zStream.avail_out = 0;}}
> > {{}}}
> >
>
>
>
> --
> This message was sent by Atlassian JIRA
> (v7.6.3#76005)
>

Reply via email to