INC-128800 · Issue 592822
Additional DSS added to handle Apache client-level timeout
Resolved in Pega Version 8.5.2
In Connector rule, the system timed out a connection after 1 hour even after a connection time timeout was configured to be 30 seconds. Apache's refactoring of their HTTPClient in version 4.3 specifies request timeouts in two ways: on the client-level and on the request-level. Client-level timeouts are enforced prior to and during the handshake, whereas request-level timeouts are enforced after the handshake has been made. Previously, RESTConnector.java and ComponentsHTTPClient.java were configured to only set the user-specified timeout on the request, and not on the client. This caused the client-level timeout to default to "0", or an infinite amount of time. In this reported issue, the remote host closed the connection before the handshake had been completed so the connection remained open for several hours. To resolve this, the DSS "ClientLevelHTTPTimeout" has been added to allow specifying a client-level socket timeout, and ComponentsHTTPClient.java and RESTConnector.java have been amended to assign this value to the client. This DSS is set to 0 by default to preserve backwards compatibility.
INC-128899 · Issue 578019
Resolved BIX Extract Summary Status Count mismatch
Resolved in Pega Version 8.5.2
A mismatch was seen between the summary of the Extract Summary Status Count in the Execution History stats versus the logs, for example the execution history saying 98.74% completed while the log says 100% or 100.45% completed. Investigation showed there was mismatch in the query based on the filter value given in the extract rule and the where clause in the query that resulted in an error in calculating percentage in case of any exception. This has been resolved.
INC-131938 · Issue 598477
Locking and classmap improvements
Resolved in Pega Version 8.5.2
Threads were getting stuck inside classMap and tableInformationMap, causing nodes to go down. This was traced to issues with classmap performance and locking, and has been resolved by replacing the lock library with a newer version and refactoring the tableInformationMapImpl class to use a concurrent hashmap instead.
INC-132088 · Issue 603084
Updated Tracer for cluster events
Resolved in Pega Version 8.5.2
When running the tracer from the Admin Studio Listener management landing page, Tracer was always fetching data from one node only even though events were generated on another node. This was due to the specific node where the Listener was running being passed to the concern activity while launching the tracer; the Tracer Client node did not have data to check if the event was being populated on another node, and the result was to always fetch data from one node only even though events were generated on another node. To resolve this, the web node ID where the event is running will be passed.
INC-135313 · Issue 596098
Correct circumstanced version of portal loads
Resolved in Pega Version 8.5.2
Desktop users were seeing the mobile circumstanced version on the application portal immediately upon login. This was a missed use case for a user logging into a mobile portal first and then into a desktop, caused by data between the two sessions being shared in an invalid way. This has been resolved by updating the save work in progress feature to prevent UI data from being shared between mobile and desktop.
INC-137775 · Issue 583784
Improved resolved rules cache
Resolved in Pega Version 8.5.2
When Rule resolution iterated over a candidate list to fetch a candidate, performance issues were seen on very large sites. To resolve this, an enhancement has been added that will cache the resolved virtual table entries to optimize performance in high demand use cases like DSM.
INC-137882 · Issue 599139
Hazelcast will be used to determine node presence
Resolved in Pega Version 8.5.2
When calling logoff from the end user portal, sporadic PresenceStandardLifeCycleListener exceptions were seen during high load periods. This was traced to changes made in the Service Discovery behavior: when there is an issue with the node and heartbeats are missed, the node goes to Safe Mode. This caused the topology to change and trigger clearing off presence sessions, but the node still received service requests and this issue was seen. To resolve this, an updated has been made so the system will rely on the Hazelcast listener instead of service discovery to determine whether a node has left.
INC-138243 · Issue 584897
Performance improvement in When parsing
Resolved in Pega Version 8.5.2
After upgrade, performance issues were seen in the execution of rules with When conditions. This has been resolved by modifying the code to address some inefficiencies in the parsing method.
INC-138253 · Issue 597572
Handling added to ensure proper Data-Admin-DB-Table name records
Resolved in Pega Version 8.5.2
As part of property optimization, After exposing the property "SolutionName" using the wizard, the value was not visible in a new column for existing records after the completion of the column population job. This was traced to an issue with DBSchemaDDLExecutor expecting lowercase Data-Admin-DB-Table names, and the wizard has been updated to ensure Data-Admin-DB-Table name records are all lowercase.
INC-138743 · Issue 602444
Updated LegacyPageAdapter with forward links
Resolved in Pega Version 8.5.2
After upgrade, attempting to submit an assignment from an existing case type did not work, and the message "There was an error processing the 'ValidateTechnicalData' step [(no task)]: java.lang.ClassCastException: com.pega.platform.clipboard.adapters.internal.LegacyPageAdapter cannot be cast to com.pega.pegarules.data.internal.clipboard.ClipboardPageImpl" appeared on screen. Investigation showed that a reference forward link was unexpectedly referring to a LegacyPageAdapter. This has been resolved by implementing get/setNamedPageReferenceForwardLinks in LegacyPageAdapter so LegacyPageAdapter can be cast to a ClipboardPageAPI.