INC-145293 · Issue 610933
Additional diagnostic logging added for ElasticSearch startup issues
Resolved in Pega Version 8.6.3
The PyIndexerState was stuck in Starting status during node initialization. This issue could occur if the filesystem became hung due to network level issue while scanning entries from /etc/mtab, resulting in a lock which was not released correctly. In order to better determine which node entry in a cluster may be responsible for the hang, an update has been made which will use a temporary virtual environment to repeat the part of the initialization phase responsible and generate additional logs for debugging. To activate this, the PegaSearch.Diagnostics logger must be set in DEBUG mode. This duplicated virtual initialization will not interrupt the normal initialization.
INC-153849 · Issue 641923
Updated replica management for search clusters
Resolved in Pega Version 8.6.3
When using a cluster with two Universal nodes in the cluster, a daily restart process where the second node was not started until the first was fully up resulted in Search initialization failing for the first node while becoming active on the second node. This was traced to the methods used in increasing and decreasing replicas. This has been resolved by revising the handling of ElasticSearch node lifecycle and replicas through a new option "Dindex.searchNodeCount " which includes a specification for the number of expected search nodes. If this option is not present, the old method will be used.
INC-168003 · Issue 655376
BIX Total Instance count matches manifest
Resolved in Pega Version 8.6.3
The BIX Manifest file was showing a count mismatch when the BIX Manifest and Extract files were shared with downstream teams, causing data to not be accepted by the downstream application. Investigation showed this occurred for an embedded page list property in the sequence that was missed and not considered. To resolve this, a DSS has been added: when BIX/generateAllEmptySubscriptForPageList is set to true, an empty subscript will be generated for the missed properties.
INC-178002 · Issue 663769
Restore point handling updated for absent pzpvstream column
Resolved in Pega Version 8.6.3
While executing the “get restore point” action for rollback, a PZPVSTREAMerror error occurred with the message "(util.HistoryCollectorDataModel) WARN|Rest|SystemManagement|v2|restorepoint - History collection for the table will be slow because it does not have all of the required columns". This was a missed use case for Robotics Automation not having a pzpvstream column for one of the tables; this has been corrected with a check to validate for pzpvstream column so the system will not seek history records if the pzpvstream column is not present.
INC-181941 · Issue 664807
Handling added for using virtual network interface for Stream Services startup
Resolved in Pega Version 8.6.3
After update, the restart of any node failed with the error "Unable to create DSM service DATA-DECISION-SERVICE-STREAMSERVER DEFAULT". This has been resolved by adding support for allowing stream service to start on the virtual network interface in cases where it was explicitly configured via the "cluster/hazelcast/interface".
INC-183485 · Issue 681361
Updated background refresh for off-screen worklist
Resolved in Pega Version 8.6.3
After update, performance impacts were seen on the field service mobile app. This was traced to Worklist refresh, and has been resolved by adding an update which will postpone the refresh when the worklist webview is in the background (not visible on the screen).
INC-185117 · Issue 680900
Check added to disable offset support for older versions of Oracle
Resolved in Pega Version 8.6.3
An ORA-00933 error was generated after upgrading from Pega 7.1 to Pega 8.5. This was traced to a conflict between Oracle 11g and the Pega 8.5 platform related to an OFFSET statement being added to a query for a version of Oracle that doesn't support it. The preferred solution is to upgrade Oracle to address this, but in order to support backwards compatibility a check has been added which will disable offset support in Oracle if productversion <=11.
INC-189781 · Issue 677817
Database Transaction Log update overflow resolved
Resolved in Pega Version 8.6.3
When automatic.resume=false was encountered uring an update, cleaning up the existing codeset from previous updates ended up filling up the database transaction logs and caused the update to fail. This has been resolved by updating the process of clearing the codeset so it doesn't overflow the transaction log.
INC-190070 · Issue 676644
Restored local blocking queue cache
Resolved in Pega Version 8.6.3
After update, it was not possible to bring up secondary VBD nodes after restarting. Investigation traced this to earlier work done to resolve a memory leak issue, in which stale entries for local blocking queues were removed from cache. This resulted in modifying the queue listener logic to use "cache.getQueueIfPresent(jobId)" instead of "cache.getQueue(jobId)". Because the listener was not creating the cache if it was not present and the cache which held the local blocking queue didn't have the entry for the current remote execution job ID, the caller of the remote execution on Node2 ended up in blocking state forever, waiting on the local blocking queue. To resolve this, the code has been updated to ensure the blocking queue is created and stored in the local queue cache before publishing the remote job message.
INC-190070 · Issue 676900
Restored local blocking queue cache
Resolved in Pega Version 8.6.3
After update, it was not possible to bring up secondary VBD nodes after restarting. Investigation traced this to earlier work done to resolve a memory leak issue, in which stale entries for local blocking queues were removed from cache. This resulted in modifying the queue listener logic to use "cache.getQueueIfPresent(jobId)" instead of "cache.getQueue(jobId)". Because the listener was not creating the cache if it was not present and the cache which held the local blocking queue didn't have the entry for the current remote execution job ID, the caller of the remote execution on Node2 ended up in blocking state forever, waiting on the local blocking queue. To resolve this, the code has been updated to ensure the blocking queue is created and stored in the local queue cache before publishing the remote job message.