ECRM: Deadlock/Performance Issues in CRM application Implemented on PT8.45

(Doc ID 644761.1)

Last updated on OCTOBER 03, 2016

Applies to:

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
PeopleSoft Enterprise CRM Order Capture - Version 8.4 and later
Information in this document applies to any platform.
This document was previously published as Customer Connection Solution 200997830
*** Checked for relevance on 01-Oct-2013 ***

Goal

 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:


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.

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms