Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » BIRT » BIRT upgrade requires more connections from connection pool
BIRT upgrade requires more connections from connection pool [message #1807931] Wed, 12 June 2019 18:40
Esther Fatehi is currently offline Esther FatehiFriend
Messages: 1
Registered: June 2019
Junior Member
We recently upgraded BIRT from 2.3.2 to 4.4.2 using the WebViewerExample from birt-runtime-osgi-4_4_2. Though we can upgrade to higher versions of BIRT, it is not an option to upgrade to any lower versions than 4.4.2.

We have as our setup:
JBoss 3.x
Java 8
Postgres as our database

Most of our reports work fine with the upgrade. Two reports had issues with Bidi.java, but were fixed when we downgraded the com.ibm.icu* jar in WEB-INF/lib and WEB-INF/platform/plugin to a lower version.

But one report is having issues and I am running out of hair to tear out. Before the upgrade, we had the connection pool set to 15. After the upgrade, it was throwing a JDBCException, but when we increased the connection pool to 16, the report ran fine. However, if two people run the same report at the same time, it throws an error. We have not changed anything on the JBoss side and because we have a lot of customers who run reports at the same time, increasing the connection pool is not a sustainable solution. My question is, how did BIRT 4.4.2 change from 2.3.2 in its utilization of the connection pool? And how can I change it back to how 2.3.2 was using it?

Some things we have already tried (please see log below):
-Increasing the timeout to 60,000 ms
-Putting our postgres driver jar (postgresql-9.3-1104.jdbc41.jar) inside WEB-INF/lib or WEB-INF/platform/plugins/org.eclipse.birt.report.data.oda.jdbc_4.4.2.v201410272105/drivers or both
-There is nothing wrong with the hostname/port number for JNDI connection as other reports use the same and is connecting with no issues

Here are some lines from the BIRT logs that may be helpful (set to FINEST):
Jun 10, 2019 10:44:14 PM org.eclipse.birt.report.data.oda.jdbc.JndiDataSource getDataSourceConnection
FINER: getDataSourceConnection: using getConnection() from data source pool.
Jun 10, 2019 10:44:44 PM org.eclipse.birt.report.data.oda.jdbc.JndiDataSource getDataSourceConnection
INFO: org.jboss.util.NestedSQLException: No ManagedConnections available within configured blocking timeout ( 30000 [ms] ); - nested throwable: (javax.resource.ResourceException: No ManagedConnections available within configured blocking timeout ( 30000 [ms] ))
Jun 10, 2019 10:44:44 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager getJndiDSConnection
INFO: getJndiDSConnection: Unable to get JNDI data source connection; org.jboss.util.NestedSQLException: No ManagedConnections available within configured blocking timeout ( 30000 [ms] ); - nested throwable: (javax.resource.ResourceException: No ManagedConnections available within configured blocking timeout ( 30000 [ms] ))
Jun 10, 2019 10:44:44 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager doConnect


.........................
Jun 10, 2019 10:45:26 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager$DriverClassLoader constructor()
FINER: ENTRY
Jun 10, 2019 10:45:47 PM org.eclipse.birt.report.data.oda.jdbc.JDBCException JDBCException
FINE: odajdbc.GetConnectionError
Jun 10, 2019 10:45:47 PM org.eclipse.birt.data.engine.odaconsumer.ConnectionManager openConnection
SEVERE: Unable to open connection.
org.eclipse.birt.report.data.oda.jdbc.JDBCException: There is an error in get connection, Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections..
at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.doConnect(JDBCDriverManager.java:339)
at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.getConnection(JDBCDriverManager.java:236)
at org.eclipse.birt.report.data.oda.jdbc.Connection.connectByUrl(Connection.java:252)
at org.eclipse.birt.report.data.oda.jdbc.Connection.open(Connection.java:162)
at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaConnection.open(OdaConnection.java:250)
at org.eclipse.birt.data.engine.odaconsumer.ConnectionManager.openConnection(ConnectionManager.java:165)
at org.eclipse.birt.data.engine.executor.DataSource.newConnection(DataSource.java:224)
at org.eclipse.birt.data.engine.executor.DataSource.getAvailableConnection(DataSource.java:248)
at org.eclipse.birt.data.engine.executor.DataSource.prepareStatement(DataSource.java:299)
at org.eclipse.birt.data.engine.executor.DataSourceQuery.prepare(DataSourceQuery.java:292)

.....................
Failed to prepare the query execution for the data set: Document
Cannot open the connection for the driver: org.eclipse.birt.report.data.oda.jdbc.
org.eclipse.birt.report.data.oda.jdbc.JDBCException: There is an error in get connection, Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections..
at org.eclipse.birt.report.data.adapter.impl.DataRequestSessionImpl.execute(DataRequestSessionImpl.java:657)
at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteCube(DteDataEngine.java:233)
at org.eclipse.birt.report.engine.data.dte.DataGenerationEngine.doExecuteCube(DataGenerationEngine.java:96)
at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:280)
at org.eclipse.birt.report.engine.executor.ExecutorManager$ExecutorContext.executeQuery(ExecutorManager.java:447)
at org.eclipse.birt.report.item.crosstab.core.re.executor.BaseCrosstabExecutor.executeQuery(BaseCrosstabExecutor.java:122)
at org.eclipse.birt.report.item.crosstab.core.re.executor.CrosstabReportItemExecutor.execute(CrosstabReportItemExecutor.java:102)
at org.eclipse.birt.report.engine.executor.ExtendedItemExecutor.execute(ExtendedItemExecutor.java:62)
at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:46)
at org.eclipse.birt.report.engine.internal.executor.emitter.ReportItemEmitterExecutor.execute(ReportItemEmitterExecutor.java:46)
at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:43)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65)
Previous Topic:Upgrading BIRT: Log-Files and Java 11
Next Topic:Dynamic header height in master page
Goto Forum:
  


Current Time: Thu Apr 25 05:22:49 GMT 2024

Powered by FUDForum. Page generated in 0.02591 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top