Support Article
PSQLException on running Extract rule on Cloud system
SA-89131
Summary
PSQLException while running Business Intelligence Exchange (BIX) Extract rule that returns a large number of records (3 million in this instance).
Error Messages
[tp-apr-8080-exec-287] [ ] [ MyApp:03.01.04] ( internal.access.ExtractImpl) ERROR 127.0.0.1 MyOper - Unable to process com.pega.pegarules.data.internal.access.ExtractParameters@be2a1f0: Failed to rollback while uploading data : code : 0 SQL State : 08003 Message : This connection has been closed.
DatabaseException caused by prior exception: org.postgresql.util.PSQLException: This connection has been closed.
| SQL Code: 0 | SQL State: 08003
com.pega.pegarules.pub.database.DatabaseException: Failed to rollback while uploading data : code : 0 SQL State: 08003 Message : This connection has been closed.
DatabaseException caused by prior exception: org.postgresql.util.PSQLException: This connection has been closed.
| SQL Code: 0 | SQL State: 08003
at com.pega.pegarules.data.internal.database.uploadutility.DataUploaderPostgres.rollback(DataUploaderPostgres.java:1145) ~[prprivate.jar:?]
at com.pega.pegarules.data.internal.database.uploadutility.DataUploaderPostgres.download(DataUploaderPostgres.java:865) ~[prprivate.jar:?]
at com.pega.pegarules.data.internal.database.uploadutility.DataUploader.download(DataUploader.java:621) ~[prprivate.jar:?]
at com.pega.pegarules.data.internal.access.ExtractImpl.executeCOPYTo(ExtractImpl.java:2625) ~[prprivate.jar:?]
at com.pega.pegarules.data.internal.access.ExtractImpl.extractDataWithHighSpeedDownload(ExtractImpl.java:2599) ~[prprivate.jar:?]
at com.pega.pegarules.data.internal.access.ExtractImpl.doExtract(ExtractImpl.java:1976) ~[prprivate.jar:?]
at com.pega.pegarules.data.internal.access.ExtractImpl.runExtract(ExtractImpl.java:1180) [prprivate.jar:?]
Caused by: org.postgresql.util.PSQLException: This connection has been closed.
at org.postgresql.jdbc.PgConnection.checkClosed(PgConnection.java:766) ~[postgresql-42.1.1.jar:42.1.1]
at org.postgresql.jdbc.PgConnection.rollback(PgConnection.java:773) ~[postgresql-42.1.1.jar:42.1.1]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_171]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_171]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_171]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_171]
at org.apache.tomcat.jdbc.pool.ProxyConnection.invoke(ProxyConnection.java:127) ~[tomcat-jdbc.jar:?]
at org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109) ~[tomcat-jdbc.jar:?]
at org.apache.tomcat.jdbc.pool.interceptor.AbstractCreateStatementInterceptor.invoke(AbstractCreateStatementInterceptor.java:80) ~[tomcat-jdbc.jar:?]
at org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109) ~[tomcat-jdbc.jar:?]
at org.apache.tomcat.jdbc.pool.DisposableConnectionFacade.invoke(DisposableConnectionFacade.java:80) ~[tomcat-jdbc.jar:?]
at com.sun.proxy.$Proxy5.rollback(Unknown Source) ~[?:?]
at com.pega.pegarules.data.internal.store.DatabaseConnectionImpl.rollback(DatabaseConnectionImpl.java:917) ~[prprivate.jar:?]
at com.pega.pegarules.data.internal.database.uploadutility.DataUploaderPostgres.rollback(DataUploaderPostgres.java:1141) ~[prprivate.jar:?]
Steps to Reproduce
Export with a lot of data using the BIX Extract rule.
Root Cause
Unknown.
Resolution
Perform one of the following local-changes:
- Reduce the number of records that would be extracted per run of the Extract rule
- Add the below Dynamic System Setting to prevent it from using the temporary table approach when performing the extract (changes to this DSS requires a system restart):
Owning Ruleset: Pega-Engine
Setting Purpose: prconfig/bix/useHighThroughputDownloadForCSV/default
Value: false
Published December 20, 2019 - 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.