You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cocoon.apache.org by "Jörg Heinicke (JIRA)" <ji...@apache.org> on 2008/04/24 07:27:21 UTC

[jira] Updated: (COCOON-2168) ResourceReader produces Java Heap Overflow when reading a huge resource

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

Jörg Heinicke updated COCOON-2168:
----------------------------------

    Affects version (Component): Parent values: Components: Pipeline(10157). Level 1 values: 1.0.0-RC1(10224). 
        Fix version (Component): Parent values: Components: Pipeline(10228). 
                     Other Info:   (was: [Patch available])
              Affects Version/s: 2.1.11
                  Fix Version/s: 2.2-dev (Current SVN)
                                 2.1.12-dev (Current SVN)
                       Assignee: Jörg Heinicke

As discussed in http://marc.info/?t=120473411300003&r=1&w=4 I changed the default buffer size used in Cocoon to 1 MB. This will prevent OOMEs with overly large resources in most circumstances when the user has not configured the buffer size. On the other hand it will hardly affect any "normal" Cocoon pipeline rendering since 1 MB for markup is rather large. The buffer size can still be configured to complete buffering by setting it to -1 explicitly (which used to be the default).

> ResourceReader produces Java Heap Overflow when reading a huge resource
> -----------------------------------------------------------------------
>
>                 Key: COCOON-2168
>                 URL: https://issues.apache.org/jira/browse/COCOON-2168
>             Project: Cocoon
>          Issue Type: Bug
>          Components: * Cocoon Core
>    Affects Versions: 2.1.11, 2.2
>            Reporter: Felix Knecht
>            Assignee: Jörg Heinicke
>             Fix For: 2.1.12-dev (Current SVN), 2.2-dev (Current SVN)
>
>         Attachments: ResourceReader.diff, test-case.tar.gz
>
>
> When reading a huge resource (i.e. 700MB file) the ResourceReader produces an overflow due to the BufferedOutputStream which is used (and forced to be used via AbstractReader). The BufferedOutputStream flushes only at the end (or when forced to), but overwrites the flush method to do nothing.
> As I don't know exactly where the BufferedOutputStream is used and what kind of impacts it will have to change it there I'm just going to fix the ResourceReader.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.