cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shahriar Aghajani <aghajani.li...@principle.com>
Subject Database Connection Leak - When too many pipelines
Date Fri, 12 Feb 2010 19:53:12 GMT
Hello,

I wonder if anybody can help me or point me in the right direction.

I get database connection leaks if I'm including pipelines which 
reference other pipelines too many times.

I'm using Cocoon 2.2
PostgreSQL 8.3 with postgresql-8.3-605.jdbc3.jar

Here's what I got:

Data comes from the parent sitemap, and the child sitemap uses that data.
I've tried including the data using map:aggregate, XInclude, Include, 
and XSLT/document()... all lead to the leaks one way or another.
For each of the "bad" piplines, I get a new idle postgres connection 
hanging around indefinitely.

Below,
for the via-agg.xml pipeline, the 3rd include does the job.  If I remove 
that one, then I don't get a leak.
for the via-include.xml pipeline, if I use only one of the "CULPRIT" 
includes, everything is fine.  But if I use any 2 of the includes, then 
I get a leak.

Any ideas?


Thank you very much for your help.

Regards,
Shahriar Aghajani.


Parent Sitemap:

<map:match pattern="data/first-level.xml">
   <map:generate type="jx" src="wires/sql/first-level.select.jx"/>
   <map:transform type="sql">
      <map:parameter name="use-connection" value="workshop_admin"/>
   </map:transform>
   <map:serialize type="xml"/>
</map:match>

<map:match pattern="data/second-level.xml">
   <map:generate type="jx" src="wires/sql/first-level.select.jx"/>
   <map:transform type="sql">
      <map:parameter name="use-connection" value="workshop_admin"/>
   </map:transform>
   <map:transform src="wires/sql/first-level.xml.xsl"/>
   <map:serialize type="xml"/>
</map:match>
       
<map:match pattern="data/secondB-level.xml">
   <map:generate  src="cocoon:/data/first-level.xml"/>
   <map:transform src="wires/sql/first-level.xml.xsl"/>
   <map:serialize type="xml"/>
</map:match>

<map:match pattern="sub/**">
   <map:mount check-reload="yes" src="sub/" uri-prefix="sub"/>
</map:match>


Sub Sitemap:

<map:match pattern="local-data/first-level.xml">
   <map:generate src="cocoon://data/first-level.xml"/>
   <map:serialize type="xml"/>
</map:match>
<map:match pattern="local-data/second-level.xml">
   <map:generate src="cocoon://data/first-level.xml"/>
   <map:transform src="../wires/sql/first-level.xml.xsl"/>
   <map:serialize type="xml"/>
</map:match>



<map:match pattern="via-agg.xml">
   <map:aggregate element="page">
      <map:part src="cocoon://data/first-level.xml"/>
      <map:part src="cocoon://data/second-level.xml"/>
      <map:part src="cocoon://data/secondB-level.xml"/>   <!-- TOOOO 
MUCH -->
   </map:aggregate>
   <map:serialize type="xml"/>
</map:match>


<map:match pattern="via-include.xml">
   <map:generate src="seed-file.xml"/>
   <map:transform type="include"/>
   <map:serialize type="xml"/>
</map:match>


Seed File:

<page xmlns:i="http://apache.org/cocoon/include/1.0">

   <data>
      <i:include src="cocoon://data/first-level.xml"/>
      <i:include src="cocoon://data/second-level.xml"/>
      <i:include src="cocoon://data/secondB-level.xml"/>   <!-- CULPRIT -->
      <i:include src="cocoon:/local-data/first-level.xml"/>    <!--- 
CULPRIT -->
      <i:include src="cocoon:/local-data/second-level.xml"/>  <!-- 
CULPRIT -->
   </data>

</page>








---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Mime
View raw message