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.
INC-203040 · Issue 721056
Null value handling added for CBU
Resolved in Pega Version 8.7.3
After update, changes made to the Operator record were not reflected and the Actions menu in Operator record did not show all available actions after the Operator was saved. This has been resolved by adding handling for null values passed as String for arguments from cbu.xml for the PegaCBU utility.
INC-214451 · Issue 721971
Rest connector passes RequestAttachmentPage to child requestor
Resolved in Pega Version 8.7.3
While invoking the Rest Connect from a data page, the error "InboundMappingException: Exception occurred while mapping incoming response" was generated. Requests with "Content-type:multipart/form-data" require "pyRequestAttachmentPage" or "pyResponseAttachmentPage" to be populated with correct values. When Rest-Connector was executed in parallel, those pages were not copied to the child requestor and the rest call executed from the child requestor did not have correct header and body. To resolve this, MethodConnect.java has been updated to correctly pass pyRequestAttachmentPage to the child requestor.
INC-224268 · Issue 724022
Cleaned up outdated prprivcommon class references
Resolved in Pega Version 8.7.3
After update, an exception was generated related to FirstUseAssembler. This was a missed use case for the WriteEFormToFile activity from previous work which restricted loading classes from prprivcommon.jar, and has been resolved by removing references to the following classes which were made inaccessible by the changes to prprivcommon: com.pega.pegarules.storage.FileStorageManager com.pega.pegarules.storage.fs.resadaptor.RAFile com.pega.pegarules.storage.fs.resadaptor.OutputStreamWrapper
INC-226830 · Issue 727153
Case Archival hierarchy updated for multiple occurrences of a child case
Resolved in Pega Version 8.7.3
Case Archival did not correctly discover hierarchy when child case appeared multiple times in the hierarchy. This was due to the CaseAssociationsProvider class having a check to skip performing the discovery when the case type had already been processed, and has been resolved by updating the handling for this scenario.