Support Article
NBAM cannot use JDBC pooling for Segments
SA-5265
Summary
We recently had three database rules that used JDBC URLs instead of connection pooling. To improve performance we changed these to use connection pooling and noticed a decreased the time for decisioning by about a factor of ten, which was of critical importance to us as we are developing a real-time user interface. However, one of the three database rules changed was used by NBAM for creating Segments in and after making this change the Segments failed to create database tables during creation and could not be refreshed (although nothing was written to the logs).
Upon further investigation it was discovered that the Segment refresh activity's java step could not handle connection pooling, and switching back to using a JDBC URL for this database rule fixed the problem. This SR has been raised to:
a) Request a fix to the java code to handle connection pooling, and
b) Add additional log entries to the java code such that future failures are reported.
Error Messages
None.
Steps to Reproduce
1. Identify the database to which NBAM will create Segment tables in.
2. Change this database rule to use connection pooling.
3. Attempt to create a Segment or refresh an existing one. It will appear to work correctly but no errors will be reported (either on-screen or in the logs) and the customer count on the Segment will remain at zero.
Root Cause
This is an enhancement request for the NBAM product to provide JDBC connection pooling features for NBAM Segment tables.
Resolution
The root cause of this problem is a defect in Pegasystems’ code/rules.
An enhancement request has been raised with NBAM Product Management via BUG-186711 to:
- Update current documentation to specify that JDBC connection pool is not supported for the NBAM datasource.
- Request support for connection pooling for the NBAM Segment tables data source in a future release.
Tags:
Published January 31, 2016 - Updated December 2, 2021
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.