Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
PUBLIC CLOUD
PRIVATE CLOUD
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Intelligence (Analytics)
SampleViewer
dgreco3917
<p>We have been running the BIRT sample viewer on Jboss using mostly Oracle for the datasource for many years. We just switched to a Postgres backend and are encountering significant issues. Accessing a single report in the sample viewer results in many connections to the Postgres database. </p>
<p> </p>
<p>The report in question has multiple datasets bound to tables in a parent-child relationship, Dataset1 drives rows in Table1, each row in Table1 contains a table bound to Dataset2 which takes a parameter from Dataset1, etc. It appears that Dataset1 opens Connection1, fetches a row, then Dataset2 opens Connection2 draws its table, when Dataset1 moves on to row 2, Dataset2 then opens Connection3. For the single report in question, I have seen it open as many as 68 connections at one time. </p>
<p> </p>
<p>Now for the fun parts. I have seen this behavior in both the sample viewer on Jboss and the report designer on a windows desktop. The same report in the same jboss environment utilizing the Oracle JDBC driver and backend does NOT exhibit the same behavior- it uses a single connection. Same thing for the MySQL driver. </p>
<p> </p>
<p>I am at a complete loss. For the moment, I have put in a PGPool that I connect BIRT to which kills off idle connections after a few seconds. This has limited the number of connections dramatically- the 68 connection report now uses just 6.</p>
<p> </p>
<p>Some environment information:</p>
<p>BIRT 4.3.1 sample viewer</p>
<p>JBoss AS 7</p>
<p>JDK 1.7.0_01</p>
<p>Centos 6.4 64-bit</p>
<p>postgresql-9.3-1100.jdbc4.jar</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
Find more posts tagged with
Comments
mwilliams
<p>If Postgres is the only DB showing this issue, I would have to say it's probably a Postgres driver issue and not a BIRT issue unless BIRT doesn't close connections until the task is finished, but the other DBs you mention handle idle connections on their own.. It sounds like you have a pretty good solution to the issue though. Have you messaged in the Postgres forums?</p>
dgreco3917
<p>I did bring it up with the Postgres JDBC guys and their response so far has been to blame it on the application (BIRT). </p>
mwilliams
<p>I'll try it out as soon as I can. You might log a bug at www.eclipse.org/birt/community and see what they say. It very well could be that open source BIRT doesn't close the connections til after the task is complete and MySQL and Oracle just handle those types of situations on their own, while Postgres does not. You might also go take a look at the source to see where the data source connections are closed.</p>