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.
INC-192979 · Issue 679042
Cache support added for Runtime Context
Resolved in Pega Version 8.6.3
System performance has been improved by adding cache support for System-Runtime-Context management.
INC-193153 · Issue 686295
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-194084 · Issue 686137
Catch added for missing DelayedItemsDataFlowService run options
Resolved in Pega Version 8.6.3
The exception "Caused by: java.lang.IllegalStateException: Loaded a work object [DelayedItemsDataFlowService] while no run config was present" was logged while initializing the DelayedItemsDataFlowService, causing a shutdown. Investigation showed this was caused by corrupted data in the database post update, where the database was missing a row in pr_data_decision_ddf_run_opts representing the run options of 'DelayedItemsDataFlowService' while the work object record was present in the database. To resolve this, an update has been made to catch exceptions generated by DataFlowService and report them as logs and alert. This will prevent the startup task from failing and stopping the process.
INC-196478 · Issue 683131
CORS policy updated for GET streams
Resolved in Pega Version 8.6.3
CORS (Access-Control-Allow-Origin) support has been added to handle Stream calls during GET requests.
INC-201338 · Issue 690897
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-202004 · Issue 692354
Hotfix documentation updated to point to Hotfix Manager page
Resolved in Pega Version 8.6.3
The readme file attached to hotfix downloads contained an outdated reference to use "PRPC Hotfix Installer on the Update Manager landing page." This has been updated to point to the Hotfix Manager landing page.
INC-205666 · Issue 702934
Database table correctly prevents deletion if there are descendant classes
Resolved in Pega Version 8.6.5
When deleting a concrete class with descendant classes via an activity (Rule-.Delete), the Rule-Obj-Class.ValidateDeleteInternal activity was throwing an error message indicating the class could not be deleted due to descendant classes. However, the corresponding database table rule was deleted anyway. Investigation showed this was caused by ValidateDeleteInternal not reaching the Obj-Save-Cancel step. This can be fixed by modifying step 11, the post when conditions, to jump to END and set the END label at the Obj-Save-Cancel step instead Exit-Activity, but this issues has been resolved by updating all failure states to run end step. In addition, security has been updated to disallow "Allow invocation from browser".
INC-205938 · Issue 721200
Improved handling for heavy use of PushDailyUserData
Resolved in Pega Version 8.6.5
The PushDailyUserData agent was causing utility node performance issues due to the amount of data it was fetching from pr_hourly table. To resolve this, an update has been made which will run the agent once per day and chunk large data.
INC-209158 · Issue 722412
Loop handling updated for Decision Table OR conditions
Resolved in Pega Version 8.6.5
The system was crashing when saving or checking in a decision table with 21 columns and 20 rows where each cell contained 1, 2, or 3 OR conditions. Investigation showed this was caused by an indefinite number of loops when 'or' conditions were used in the test consistency activity, and this has been resolved with an update which ensures only the specified number of loops are performed.