SR-D60830 · Issue 533031
Logic update for classloading synchronization
Resolved in Pega Version 8.4.1
The synchronization logic for classloading has been updated to resolve intermittent deadlocking seen when two DataFlow threads are executing a distribution test.
SR-D62490 · Issue 527292
Application/CSV type explicitly included to assist Android Chrome
Resolved in Pega Version 8.4.1
Android Chrome was unable to recognize a CSV file under content-type="application/*" , resulting in the download being rejected. To resolve this, "application/csv" will be explicitly included in the request content type when appropriate.
SR-D64083 · Issue 542887
Compilation logic error corrected
Resolved in Pega Version 8.4.1
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-D64608 · Issue 544389
Corrected filedownload extension header issue
Resolved in Pega Version 8.4.1
Filedownload header contained plain non-ascii characters which caused a security violation issue. This has been resolved by removing the filedownload header from the HTTP response when the sendfile API is used with inputstream to download a file.
SR-D66615 · Issue 536243
API added to minimize calls to set parameters in datapage
Resolved in Pega Version 8.4.1
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-D66674 · Issue 538973
DSS added for fall back to legacy decision table format
Resolved in Pega Version 8.4.1
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-D70890 · Issue 542872
Enhanced diagnostic logging for automatic search re-index
Resolved in Pega Version 8.4.1
To better analyze an out of memory error, enhanced diagnostic logging has been enabled for the below classes to get more information regarding re-index triggered automatically after search index is complete.PegaSearch.SearchManager.SearchInitlizationUtils PegaSearch.SearchManager.BuildIndicesTask Rule_Obj_Activity.pzLPFTSManagerRunBuildIndex.Pega_Search_Manager.Action PegaSearch.Indexer.AbstractIndexer
SR-D71041 · Issue 537897
Default compiler pool size increased
Resolved in Pega Version 8.4.1
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-D71145 · Issue 536370
PropertySet will iterate over changeList map copy to resolve CME
Resolved in Pega Version 8.4.1
An empty menu was seen intermittently when handling incoming email, and a ConcurrentModificationException error was logged. Investigation showed that a step scope changeList map used in the handleChaining method was sometimes modified by another process while the first one was iterating over it. To resolve this, PropertySet will receive copies of the change list map from clipboard pages instead of the original map.
SR-D74534 · Issue 538946
Decision table and tree obey allow missing properties checkbox
Resolved in Pega Version 8.4.1
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.