SR-D64083 · Issue 542886
Compilation logic error corrected
Resolved in Pega Version 8.5
A compilation failure on upgraded systems using the JDK 11 compilation of libraries that include Pega 7 functions that have INCLUDE statements that are not supported in JDK 11 was traced to a logic error added when enhancing debug logging. This has been corrected.
SR-D66674 · Issue 538972
DSS added for fall back to legacy decision table format
Resolved in Pega Version 8.5
After upgrade and switch to IL, non-working decision tables created in one class had pyWorkPage mapped to another class. In the column, the properties were mentioned as "pyWorkPage.xxxxx", but at runtime when the non-working decision tables ran as standalone, the system did not ask for values to be entered to evaluate the result. Tracer showed the error as "Goal seek requires missing input property pyWorkPage.All_Offln_Trans_In on page pyWorkPage; details: (unknown)". Investigation showed that the Legacy assembly for the decision table used the lazy evaluation pattern to resolve the expression in the column header in the generated Java code. This resulted in the property for the column header only being read when it was used. However, for IL-based decision tables all properties are read immediately before any rows are evaluated, which requires the property already be present on the page. This missing property from the lazy assembly then resulted in the exception. To resolve this, Executable.generateOrCompileSource and Virtual tableassemblyHandler.useIL() have been modified to fall back to legacy decision table format if the DSS InternalLanguage/disableIlBasedDecisionTable is enabled.
SR-D71041 · Issue 537896
Default compiler pool size increased
Resolved in Pega Version 8.5
An issue was seen where the nodes were continuously terminating and Stream service was not started. Error messages indicated a "WARN - Long running request detected for requestor", and that tasks were waiting for the generic object pool. Analysis showed that it was possible for a deadlock to form during the startup of the system or during the first few rule executions and compilations when there were more than five rules trying to compile. Once the variable LibraryMetadata.TypeEnvironment.resolver (ClassLoader) is initialized, the problem would resolve. To prevent the deadlock, the default compiler pool size has been increased from 5 to 10.
SR-D60206 · Issue 529327
Resolved null pointer on Reference Helper startup
Resolved in Pega Version 8.5
An issue with the system failing to start and generating a NullPointerException on RUFReferenceHelper.java has been resolved by modifying some Rule-Utility-Function code to better handle threads that are not completely initiaized yet but still running rules.
SR-D74534 · Issue 538945
Decision table and tree obey allow missing properties checkbox
Resolved in Pega Version 8.5
Calling the decision table/tree inside another decision table/tree which has a missing property was throwing an error even though the "AllowMissingProperties" checkbox was enabled in the caller activity. Analysis showed that the setting for AllowMissingProperties did not carry into any subsequent DecisionTree/DecisionTable calls from the top DecisionTree/DecisionTable, and this has been resolved by modifying the decision table and decision tree obtain value functions to pass AllowMissingProperties.
SR-D66615 · Issue 536242
API added to minimize calls to set parameters in datapage
Resolved in Pega Version 8.5
Differences were seen after upgrade when using a datapage associated with a property which was application-specific and that had Data Access for the property defined as “Copy data from a data page" with parameters whose value was set by an activity from the associated property of type single page. Prior to upgrade, only one call was seen to set the values for the parameters in datapage, but post-upgrade multiple calls were used to set the values to these parameters. This was traced to logic used for extraction and invoking the perform, and has been resolved by adding the new API 'DeclarativeAction.shouldExtractWatchedProperties'. It will return true or false, depending whether the extraction of watch properties is needed or not.
SR-D69836 · Issue 529729
Context retained during nested automation
Resolved in Pega Version 8.5
Issues were seen with context being passed correctly with automation. When a Data Page that was used to abstract the call to a REST API used a Data Transform which in turn used a Data Page which also used a call to a REST API to retrieve an OAuth Token, an error appeared. The same worked when a URL was provided on the Connect REST. When a service case was launched but a Flow Action wasn't submitted, then another service case was added and submitted, the post-processing robotic automation activity used the run robotic automation activity from the previous service case instead of the current service case targeted for completion. This has been resolved by updating the webwb • pzpega_ui_doc_submit.js file to pass the correct MDIContext based on the event target of FA submission while invoking RDA automation.
SR-D62840 · Issue 534125
Updated HashMap logic for better concurrent thread handling
Resolved in Pega Version 8.5
The Pega execution engine was getting stuck at com.pega.eclipse.util.collections.HashtableOfIntValues.get for many thread within thread dumps. Investigation showed that when the key was not present in keytable, a thread would be stuck in an endless 'while' loop related to mapping. To resolve this, the data structure that is used for ruleset mapping from HashtableOfIntValues to Concurrent HashMap has been modified to better handle concurrent threads, and the handling for get and put has been updated.
SR-D60830 · Issue 533030
Logic update for classloading synchronization
Resolved in Pega Version 8.5
The synchronization logic for classloading has been updated to resolve intermittent deadlocking seen when two DataFlow threads are executing a distribution test.
SR-D84880 · Issue 546891
Null check added to resolve addmapcasetomap error
Resolved in Pega Version 8.5
Using a createcase flow shape to create child cases by looping on a page list on the parent case resulted in pzaddmapcasetomap throwing an exception related to the activity pzLoadCaseHierarchyWrapper in step 5. This was traced to a page being removed after the list of pages was received in findPageByHandle, and has been resolved by adding a null check.