ECRM: Deadlock/Performance Issues in CRM application Implemented on PT8.45
(Doc ID 644761.1)
Last updated on FEBRUARY 03, 2022
Applies to:PeopleSoft Enterprise CRM Order Capture - Version 8.4 and later
PeopleSoft Enterprise CRM HelpDesk - Version 8.4 and later
PeopleSoft Enterprise CRM Support - Version 8.4 and later
PeopleSoft Enterprise CRM HelpDesk for HR - Version 8.8 and later
PeopleSoft Enterprise CRM Sales - Version 8.4 and later
Information in this document applies to any platform.
This document was previously published as Customer Connection Solution 200997830
Enterprise Applications: Deadlock and Performance issues on CRM application when implemented on PeopleTools 8.45.
Users may intermittently receive errors, experience time outs or processing for long time when trying to save or update a component, for example:
- Saving a New Service Order
- Assigning an agent on a Service Order Activity
- Changing the status of a Lead and save
These issues are related to the secondary connection maintained by Application Server to database, to support the GetNextNumberWithGapsCommit() function.
GetNextNumberWithGapsCommit() (GNNWGC) was introduced in PeopleTools 8.44 release. The basic functionality is to utilize a secondary database connection to increment a sequence number from a table like PSSYSTEMID outside of the current transaction boundary to avoid the long duration locking with functions like GetNextNumber(GNN) or GetNextNumberwithGaps (GNNWG). To minimize db connection overhead, the original intent is to have the secondary connection default to being persistent and reused by APPSRV processes. The connection persistence behavior is to be overrideable via DBFlags= bitfield in psappsrv.cfg. DBFlags=0 is delivered default and causes GNNWGC to use a single persistent connection per PSAPPSRV. DBFlags=8 overrides this and causes a new DB connection to be acquired and closed with each call to GNNWGC.
In the PeopleTools 8.45 release, the error recovery around this secondary transaction is inadequate and in some cases leads to transaction inconsistencies in the event of a rollback. Hence, causing deadlocks and performance issues.
PeopleSoft Enterprise CRM application uses GetNextNumberWithGapsCommit() function heavily to generate next numbers for most of the transaction data and hence, is the most impacted PeopleSoft Application.
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!
In this Document