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