Somewhere output is held...
---------------------------

         Key: COCOON-1658
         URL: http://issues.apache.org/jira/browse/COCOON-1658
     Project: Cocoon
        Type: Bug
  Components: * Cocoon Core  
    Versions: 2.1.8-dev (Current SVN)    
    Reporter: Pier Fumagalli
    Priority: Critical


Cocoon standard, as of right now, built without any blocks.

I modify the default sitemap adding one simple entry:

    <map:match pattern="bigtest">
      <map:generate src="bigtest.xml"/>
      <map:serialize type="xml"/>
    </map:match>

The file "bigtest.xml" is a 100Mb XML file that I simply want to generate and 
serialize (minimal test, no transformers that can do anything weird).

I then open my terminal and do a "curl http://localhost:8888/bigtest > 
/dev/null", to have an idea of the thrughput for this file.

Apparently, the output is held for roughly 25 seconds, nothing comes out, no 
bytes are serialized. All of a sudden, the entire 100 megabytes are serialized 
in one big lump (and it takes 5 seconds to do so).

This happens if the pipeline is configured as being "caching" or "noncaching" 
(nothing changes).

In the first 25 seconds, the JVM running Cocoon uses 100% of my processor (so, 
it's doing something), and the TOP shows something _really_ strange.
My JVM grows of roughly 200 megabytes in size (note, I start Cocoon, post the 
big request, close cocoon).

This is a trace from my TOP:

  PID COMMAND      %CPU   TIME   #TH #PRTS #MREGS RPRVT  RSHRD  RSIZE  VSIZE
-----------------------------------------------------------------------------
12498 java         0.1%  0:03.01  19   357   240  25.1M  28.7M  25.4M   735M
12498 java        87.2%  0:06.22  19   403   242  54.2M+ 28.7M  55.1M+  735M-
12498 java        75.7%  0:10.88  19   403   242  78.3M  28.7M  79.2M   735M
12498 java        80.2%  0:14.78  19   403   242   129M  28.7M   130M   735M
12498 java        84.3%  0:19.77  19   403   242   168M+ 28.7M   169M+  735M
12498 java        77.4%  0:23.67  19   403   242   231M  28.7M   232M   735M
12498 java        40.7%  0:27.92  19   403   242   231M+ 28.7M   232M+  735M+
12498 java         0.1%  0:28.18  20   408   245   231M  28.7M   232M   735M

Something tells me that we are indeed caching all the content in a big char[] 
(100 megabytes of US-ASCII text are 200 megabytes when stored in a char[]).

Any clue on where this can happen? It's impairing our ability to serve bigger 
feeds (aka, 2 gigs! :-P)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to