INC-171221 · Issue 645988
Queue Processors made more robust
Resolved in Pega Version 8.5.4
After upgrade, multiple queue processors were not running as expected. Attempting to restart them generated an error. Investigation showed that the real time data flow runs were not picking up or accepting assignments because the local node was under the impression it was still processing data. In this case, the need to synchronize the state of multiple threads caused the queue processors to become stuck in an initializing state due to a race condition that caused the data flow engine to think this run still had threads running when all threads were already stopped. To resolve this, the callback handling has been simplified and made more robust. In addition, in some cases the data flow leader node would believe the service nodes did not accept assignments even when they did. This occurred if many runs and nodes were involved, and was traced to an implicit limit on the NativeSQL query used to read the data to see which assignments were accepted. To resolve this, the key-value store in the Service Registry has been modified to allow a query of more than 500 entries at once.
INC-174933 · Issue 651827
Special characters escaped for use in "is in List" lookups
Resolved in Pega Version 8.5.4
After creating a specific criterion on any proposition using a string property, the "Is In List" operator, and a customer list with one value containing a "$", clicking save or check in resulted in the exception error "Problem invoking function: pega_decisionengine_propositionfilterfua.pzPropositionFilterMethodBody--(PublicAPI,ClipboardPage) java.lang.IllegalArgumentException: Illegal group reference at java.util.regex.Matcher.appendReplacement(Matcher.java:857) ". This has been resolved by escaping regular expression control characters in string replacement, which will allow the use of characters such as the $ sign for "is in List" lookups.
INC-159834 · Issue 632248
StackOverFlow logging improved
Resolved in Pega Version 8.5.4
Enhanced diagnostic logging information has been added to help find issues when StackOverFlow errors occur.
INC-161984 · Issue 638857
Web Tier busy threads released on timeout
Resolved in Pega Version 8.5.4
Tomcat Web Tier Busy Threads were not being correctly released, causing stability and performance problems that included health check pings not receiving a thread to service the request so the node was marked as bad, users were quiesced, and the node replaced. Investigation showed the 'put' on the blocking queue did not time out when the queue was full and waited indefinitely, keeping the thread blocked. To resolve this, the system will use 'offer' on the blocking queue instead of 'put' to force thread release on timeout. In addition, debug logs have been added to understand when the offer (or Put) does not succeed and the state of the queue that is causing this issue; the debug logs for class com.pega.pegarules.session.internal.serverpush.RoboticAutomationImpl should be enabled only if the thread busy issue is observed and for limited time window while actively debugging.
INC-164794 · Issue 637992
Apache Commons libraries updated
Resolved in Pega Version 8.5.4
Apache commons-codec has been updated to version 1.15 , and Apache commons-io has been updated to version 2.7.
INC-171587 · Issue 652187
Resolved Push Node Daily Information exception
Resolved in Pega Version 8.5.4
The "Push Nodes Info Daily" agent was generating an exception on each of the nodes. This has been resolved by enhancing the PegaAESRemote code to handle the exception and get the node info locally, then push it to the console when it is not able to get it via the cluster management API.
INC-173162 · Issue 650794
Certificate match will use Subject Distinguished Name
Resolved in Pega Version 8.5.4
Signature verification was failing due to the system not finding the matching root certificate for the chain. The root certificate was in the trust store, but the system found a different certificate first and that other certificate (an intermediate certificate) was not considered a valid certificate for validating the whole certificate chain. This was traced to filtering on the Issuer Distinguished Name (DN) instead of the Subject DN and was due to intermediate certificates potentially having the same Issuer as a root certificate (e.g. if that root certificate was used to create the intermediate certificate). To resolve this, an update has been made to check the Subject DN instead of Issuer DN.
INC-174298 · Issue 650258
Instance count logic updated
Resolved in Pega Version 8.5.4
A performance issue was seen during upgrade that resembled an upgrade hang. This was caused by a combination of incorrect logic in DDLGenerator.getInstanceCountForClass() around counting instances of 'core' classes and all of the site history-data- tables being mapped to the same table that had 1.4+ billion rows. This behavior has been addressed with more correct query logic while performing instance counts. In addition, instance count will be supressed during command line invocations (prpcUtils, platform upgrade).
INC-179727 · Issue 704545
Modified batch requestor handling to ensure cleanup
Resolved in Pega Version 8.6.4
A large buildup of batch requestors was seen, and restarting the node did not clear it. Investigation showed that in the case of one class reading a DSS value, a Pega requestor was being created when it was unable to retrieve any Pega context, and this requestor was not cleaned up afterwards. To resolve this, an update has been made to the way the requestor and Pega context is being created along with ensuring it will be cleaned up properly after use.
INC-180246 · Issue 664947
Support for apostrophe added to keyword tokenization
Resolved in Pega Version 8.6.4
A keyword containing an apostrophe was not detected properly in Text extraction model. This has been resolved by updating the annotator used in the tokenization.