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-146098 · Issue 633722
Keyboard shortcuts work in Decision Trees
Resolved in Pega Version 8.3.6
Keyboard short cuts in Decision Trees used to copy/paste by holding ctrl button in Decision Trees were not working. This was an unintended side effect related to changing non-auto grid to an auto-generated hierarchical table to make the Decision tree rule form multi-browser compatible, and has been resolved by adding cut/copy/paste/insert-after/insert-before functionality to the decision tree context menu.
INC-151662 · Issue 626576
Handling added for application which includes production ruleset
Resolved in Pega Version 8.3.6
When creating the Email channel or Webchat channel, the Text Analyzer and its respective class (Data-Decision-Request-MCP-WebChat-xxxxx) was being saved in the ruleset of the built-on application while there were rulesets open in the top application. This was a missed use case, and has been resolved byupdating the logic to account for the scenario where an application includes a production ruleset.
INC-164944 · Issue 636290
Logic updated to handle decision trees over 64k
Resolved in Pega Version 8.3.6
An exception was thrown when decision trees reached the 64K size limit. This has been resolved by modifying the logic in the DecisiontableMethodBody Rule-Utility-Function where the split size PropRowLimit is based on the number of columns.
INC-169112 · Issue 647080
Decision Trees refresh after updating a new row
Resolved in Pega Version 8.3.6
Updating a decision tree row did not display the updated data until after save and refresh. This was traced to the first row not meeting the condition for refresh on change because the first row was created as part of the decision tree creation, so the data was not persisted and the update was not registered as a change. This has been resolved by adding explicit handling for the first row to persist its expression string and show the data as entered.
INC-193485 · Issue 695640
REST authentication settings use fully qualified name for resolution
Resolved in Pega Version 8.7.2
The application setting used in REST connectors for authentication was resolving to similarly-named rules instead of matching the exact name of the rule. This has been resolved by enhancing pzGetSettingID to use both parts of the fully qualified name (name and category) provided by the pzSettingsORA control when determining which setting from the report to return.