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-220622 · Issue 711374
Libraries updated
Resolved in Pega Version 8.7.3
The following libraries have been updated to the most recent version: - commons-collections - cxf-rt-rs-security-oauth2 - derby - dom4j - google-oauth-client - groovy - jackson-databind - postgres - snakeyaml - spring-core - xmlsec The following library dependencies have been deprecated, excluded, and/or removed: - ant - bsh - commons-compress - gson - io.netty - jackson-mapper-asl - jdom - jdom2 - jdom-legacy - jetty-http - jetty-io - jetty-server - jetty-util - junrar - netty-handler - plexus - plexus-utils - xercesImpl - xstream
INC-221019 · Issue 725147
Modified timestamp query used by ClusterAndDBCleaner
Resolved in Pega Version 8.7.3
The job pyClusterAndDBCleaner was failing with the error "ORA-01861: literal does not match format string". This was traced to the sub-activity pzClearOldQueueProcessorBrokenMessages which was not able to remove broken items with encryption in an upgraded environment due to an incorrect timestamp format passed to the Oracle database. This has been resolved by modifying the query to use a timestamp built using INativeSqlBuilder which will include only the information necessary for the deletion of the item.
INC-224954 · Issue 727043
Enabled turning off general metrics when queue processing metrics are disabled
Resolved in Pega Version 8.7.3
A memory leak related to QPGeneralMetrics was consuming heap and causing performance issues. Investigation showed queue processor metrics were gathered even when disabled. To resolve this, turning off "General Metrics Handler" while turning off the QPGeneralMetrics has been enabled. Queue processors should now skip the process of collecting general metrics while running activities. This will prevent storing unused (and uncleared) metrics in memory and prevent heap exhaustion.