INC-166498 · Issue 637054
Performance improvements for sites with a large number of tables
Resolved in Pega Version 8.3.6
Performance impacts were seen when there were a very large number of tables in the database and the cluster/node persistence jobs were running. This was traced to the volume of metadata / schema introspection queries fired from the pyPersistNodeState and pyPersistClusterState jobs along with the Classmap cache invalidation / lookup queries, and has been resolved by improving the code to avoid database introspection when the current number of tables is greater than a maximum value.
INC-166631 · Issue 637021
Optimizing helper class enhanced to handle external databases
Resolved in Pega Version 8.3.6
Running a BIX extract that included a manifest for a target database was resulting in a null pointer exception for the manifest extraction. Attempting to generate the DDL for the manifest table also failed. This was traced to an issue with the helper class using a hardcoded default database for forming the queries, causing it to ignore the DB config/DADN/prconfig for the Oracle database and form a query using the PegaRules' database credentials. This only occurred when trying to do external database operations on a different DB platform; Oracle PegaRules worked as expected with an Oracle external DB and Postgres Pegarules worked with a Postgres external DB, but mixing Postgres PegaRules and an Oracle external DB would result in the null pointer error. To resolve this, the helper class has been enhanced to work with external databases by passing the database name as a parameter so it will properly calculate the query based on the type of target. The default for 'database/oracle/allowOptimization' is set to false: additional database privileges must be added or some configurations must be updated to provide the information needed in lieu of the privileges before making use of these optimizations. In addition, an error in the name of the class has also been corrected and is now available as PerformanceHelper rather than the previous "PerformaneHelper".
INC-168334 · Issue 648372
Locking added to avoid null pointer error for auto-populate property
Resolved in Pega Version 8.3.6
After configuring the auto populate property "OrgProduct" which referred to a data page, the system experiencing heavy load led to the property not getting properly initialized. This resulted in a WrongModeException and NullPointerException. To resolve this, the system has been updated to lock the requestor when Queue Processors execute their activity. This will prevent race conditions and concurrent modifications if other threads are accessing the same requestor.
INC-169764 · Issue 645803
Decision table query performance improvements
Resolved in Pega Version 8.3.6
Severe latency was seen after upgrade, and it was not possible to save business rule changes. This was traced to an issue with the decision rule being treated as a custom rule, and has been resolved by inserting a check. In addition, optimization has been added for queries on the pr_sys_decchg table.
INC-170841 · Issue 646186
Resolved PRQueueLockException
Resolved in Pega Version 8.3.6
A Class Queue not found exception resulted when an SLA was deleted on the same transaction where it was created when deferred save was used. This was an inadvertent side effect of work done on the QueueManager implementation to invalidate previously deferred operations for item and schedule removal, and has been resolved by clearing the processing state for PRQueueLockException when an item reservation fails.
SR-D27161 · Issue 503154
Step staus fail logic updated to handle agent activity exception
Resolved in Pega Version 8.2.4
Attempting to execute an advanced agent containing logic that set a step status to fail resulted in the error "Agent activity disabled due to execution errors; ErrorMsg: unable to execute agent: Cannot obtain a lock on instance as Requestor already has the lock ". This was traced to a backwards compatibility issue with previous work done to handle cases where agent activity requires authentication and agent has "bypass auth" flag set to false. Agent activity is not allowed to execute by the engine, and to show this scenario as exception case instead of showing it as running in admin studio, changes were made to rely on step status as the engine internally sets step status to false in this case. However, this inadvertently affected use cases where agent activity sets the status as fail in its logic. To resolve this, the system has been updated to handle the exception case and not consider StepStatus.
SR-D38492 · Issue 505489
Batching now enabled when using IH Summary shape in substrategies
Resolved in Pega Version 8.2.4
Batching was not being enabled when using IH Summary shape in substrategies. This was traced to the IH_SUMMARY_CACHE field not automatically being passed to sub-strategies, and has been corrected.
SR-D32332 · Issue 502269
Removed unneeded table name calculation
Resolved in Pega Version 8.2.4
After giving short names (less than 30 characters) for "To Table", saving did not produce an error, but an error was thrown during Check In. Investigation showed that while checking in the extract rule, a block of code in the Rule-Utility-Function validateTreeProperties was being executed to recompute the pagelist's table name instead of using the name provided by the user. To resolve this, the RUF has been modified to not execute this block of code during check-in of the extract rule. The validation will be seen during save if the 'To field' has more than 30 characters.
SR-D26160 · Issue 504069
Corrected duplicate records being inserted in to the index table
Resolved in Pega Version 8.2.4
Rows in the index table were duplicated. This was traced to a logic error on the ClipboardPage relating to workObject2, and has been resolved.
SR-D38450 · Issue 505656
Added workaround to handle HiddenPropertiesToIgnore when a page is in Read Only mode
Resolved in Pega Version 8.2.4
A 'WrongModeException' was generated while trying to use the Data Transform pxHiddenPropertiesToIgnore to remove system properties from page. When the Datapage was set to Editable/Savable mode, the Activity ran without an error and executed the Data transform. When the Datapage was in Read only mode, the error occurred. This was traced to a process that previously was allowed to set a page to an empty string, but which was removed during recent work. To resolve this, four instances of pxHiddenPropertiesToIgnore that included Single Page Value properties have been updated by moving them to the bottom of the Data Page and changing them to an "Update Page" from a "Set".