Question


Pegasystems Inc.
JP
Last activity: 22 Mar 2021 19:25 EDT
The latest PostgreSQL JDBC Driver with Pega Platform 8.4
Hi,
Customer has reported that the latest PostgreSQL JDBC Driver, "postgresql-42.2.11.jar" won't work with Pega Platform. When they try to start Pega Platform, it throws an error below:
ERROR - There was a problem committing a transaction on database pegarules com.pega.pegarules.pub.database.DatabaseException: Database-General There was a problem committing a transaction on database pegarules 0 25P02 The database returned ROLLBACK, so the transaction cannot be committed. Transaction failure cause is <<ERROR: duplicate key value violates unique constraint "pr_sys_ruleset_index_pk"...
However when I replace the JDBC driver with old one, such as "postgresql-42.2.9.jar", Pega Platform starts without a problem. I am now positive that this issue is being caused by JDBC driver. Since this new driver was just released this month, I was unable to find any reference information on web, or Platform Support Guide. Anyone faces the same issue?
Thanks,
***Edited by Moderator: Pallavi to update SR Details***
-
Like (0)
-
Share this page Facebook Twitter LinkedIn Email Copying... Copied!
Accepted Solution
Updated: 22 Mar 2021 19:25 EDT


Pegasystems Inc.
JP
Hi,
The root cause was that JDBC Driver 42.2.11 had changed the way a silent rollback is handled - when a commit fails (for whatever reason), a sqlexception is raised (instead of a silent rollback).
Given this situation, below are the solutions:
(1) Use old JDBC Driver 42.2.10 or lower
(2) Use the latest JDBC Driver 42.1.12 (this was just released two days ago - 3/31/2020).
(3) Use the JDBC Driver 42.2.11, and also add below connection property to your context.xml to disable the settings:
raiseExceptionOnSilentRollback="false"
Below is the screenshot of context.xml in my local machine.
I've verified that Driver version 42.2.12 works fine without modifying context.xml, but it is not guaranteed that PostgreSQL will not change the specification back to 42.2.11 way again in the future. If that ever happens, we'll have to modify context.xml as above.
Hi,
The root cause was that JDBC Driver 42.2.11 had changed the way a silent rollback is handled - when a commit fails (for whatever reason), a sqlexception is raised (instead of a silent rollback).
Given this situation, below are the solutions:
(1) Use old JDBC Driver 42.2.10 or lower
(2) Use the latest JDBC Driver 42.1.12 (this was just released two days ago - 3/31/2020).
(3) Use the JDBC Driver 42.2.11, and also add below connection property to your context.xml to disable the settings:
raiseExceptionOnSilentRollback="false"
Below is the screenshot of context.xml in my local machine.
I've verified that Driver version 42.2.12 works fine without modifying context.xml, but it is not guaranteed that PostgreSQL will not change the specification back to 42.2.11 way again in the future. If that ever happens, we'll have to modify context.xml as above.
* Just FYI, the original error message "<<ERROR: duplicate key value violates unique constraint "pr_sys_ruleset_index_pk"... is irrelevant to this JDBC driver version issue. This error is explained in another post https://collaborate.pega.com/discussion/frequent-duplicate-key-value-violates-unique-constraint-error-database. Because this database level error always occurs in any version of Pega Platform when it starts up, Pega Platform fails to start with 42.2.11 JDBC driver.
Thanks,


Pegasystems Inc.
US
Hi Kensho-san,
I could see the same issue on my local 8.4 system when I use the "postgresql-42.2.11.jar" file.
It could be a bug in platform OR jdbc with this combination. I would recommend creating an SR and get it evaluated to necessary steps to address it in future releases.
Let me know if that helps!


Pegasystems Inc.
JP
Hi Harish,
Thanks for your reply. I have just created an SR.
INC-87181
Thanks,


Pegasystems Inc.
IN
Hi,
From the Sr raised , I could see Pega version is 8.3.1
Requesting you to confirm the version if it is 831 or 84 which would be helpful while investigating.
Thank You,


Pegasystems Inc.
US
Hi Nandita,
I tried on Pega 8.4 (Tomcat 9) and was able to replicate the same issue.
Thank you!


Pegasystems Inc.
JP
Initially I raised an SR with Pega Platform 8.4 (INC-87181) but GCS has recreated another SR, that may be with 8.3.1 (SR-D92590).
Anyways, we are using the latest version - 8.4. Please let me know if you figure anything.
Thanks,
Accepted Solution
Updated: 22 Mar 2021 19:25 EDT


Pegasystems Inc.
JP
Hi,
The root cause was that JDBC Driver 42.2.11 had changed the way a silent rollback is handled - when a commit fails (for whatever reason), a sqlexception is raised (instead of a silent rollback).
Given this situation, below are the solutions:
(1) Use old JDBC Driver 42.2.10 or lower
(2) Use the latest JDBC Driver 42.1.12 (this was just released two days ago - 3/31/2020).
(3) Use the JDBC Driver 42.2.11, and also add below connection property to your context.xml to disable the settings:
raiseExceptionOnSilentRollback="false"
Below is the screenshot of context.xml in my local machine.
I've verified that Driver version 42.2.12 works fine without modifying context.xml, but it is not guaranteed that PostgreSQL will not change the specification back to 42.2.11 way again in the future. If that ever happens, we'll have to modify context.xml as above.
Hi,
The root cause was that JDBC Driver 42.2.11 had changed the way a silent rollback is handled - when a commit fails (for whatever reason), a sqlexception is raised (instead of a silent rollback).
Given this situation, below are the solutions:
(1) Use old JDBC Driver 42.2.10 or lower
(2) Use the latest JDBC Driver 42.1.12 (this was just released two days ago - 3/31/2020).
(3) Use the JDBC Driver 42.2.11, and also add below connection property to your context.xml to disable the settings:
raiseExceptionOnSilentRollback="false"
Below is the screenshot of context.xml in my local machine.
I've verified that Driver version 42.2.12 works fine without modifying context.xml, but it is not guaranteed that PostgreSQL will not change the specification back to 42.2.11 way again in the future. If that ever happens, we'll have to modify context.xml as above.
* Just FYI, the original error message "<<ERROR: duplicate key value violates unique constraint "pr_sys_ruleset_index_pk"... is irrelevant to this JDBC driver version issue. This error is explained in another post https://collaborate.pega.com/discussion/frequent-duplicate-key-value-violates-unique-constraint-error-database. Because this database level error always occurs in any version of Pega Platform when it starts up, Pega Platform fails to start with 42.2.11 JDBC driver.
Thanks,


Pegasystems Inc.
US
Thank you. Good to know that.