INC-187103 · Issue 671735
Guided Tour working from Actions menu
Resolved in Pega Version 8.5.6
After updating from Pega 8.4 to Pega 8.5, "Manage a Guided Tour" was no longer working under a local action when called from the Actions menu on a work object. An unspecified error message appeared in the tracer. Investigation showed there was a null pointer error caused by the menu being invoked on an invalid page, and this was traced to updated authentication requirements: registration at the portal is not reliable as it is thread-scoped and run only once. The thread name is not guaranteed to stay the same so subsequent invocations of the tour activities failed. This has been resolved by modifying the call registration function to handle the security issues related to the generation of the menu path.
INC-199303 · Issue 690630
Guided Tour working from Actions menu
Resolved in Pega Version 8.5.6
After updating from Pega 8.4 to Pega 8.5, "Manage a Guided Tour" was no longer working under a local action when called from the Actions menu on a work object. An unspecified error message appeared in the tracer. Investigation showed there was a null pointer error caused by the menu being invoked on an invalid page, and this was traced to updated authentication requirements: registration at the portal is not reliable as it is thread-scoped and run only once. The thread name is not guaranteed to stay the same so subsequent invocations of the tour activities failed. This has been resolved by modifying the call registration function to handle the security issues related to the generation of the menu path.
INC-190070 · Issue 676642
Restored local blocking queue cache
Resolved in Pega Version 8.5.6
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-193153 · Issue 686294
Restored local blocking queue cache
Resolved in Pega Version 8.5.6
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.
SR-C75278 · Issue 415735
Extension added to wrapper activity to allow skipping completed assignments
Resolved in Pega Version 8.2
The withdrawal of the pyPopulateCaseContentsWrapper activity rule from the PegaCardSd ruleset caused the wrapper activity in Pega-EndUserUI to be utilized instead, but that activity included a different behavior which resulted in the Completed Assignments checkbox being set as 'true' during processing instead of staying 'false' unless checked by user. This resulted in additional assignments showing when previously only open assignments would show as default. In order to correct this, a new extension "DT(pyPopulateCaseContentsWrapperExtension)" has been provided to set the required fields in order to skip fetching the completed assignments. To utilize this, set the pyShowCompletedAssignments property to true in the extension DT to hide the assignments.
SR-C72385 · Issue 414867
Resolved ClassCast email exception caused by duplicate javamail class loading
Resolved in Pega Version 8.2
A ClassCastException was occurring when attempting to configure an email account in conjunction with JBOSS , WebLogic, or WebSphere Liberty. Analysis traced the issue to Class Loading: the WAS application server was providing a default com.ibm.ws.prereq.javamail.jar which conflicted with Pega's out of the box mail-1.5.5.jar, and at run time the JAR provided by WAS was getting picked due to JBoss, Weblogic, and WAS loading architectures from Tomcat. To resolve this, the delegation in PRAppLoader has been expanded to include the "javax.mail." package. This will ensure that Pega delegates to the web-app classloader unconditionally for the email classes. This prevents the ClassCastException caused by the interface javax.mail.Transport and com.sun.smtp.(Implementation Class) being loaded by two different class loaders.
SR-C77994 · Issue 419283
Resolved ClassCast email exception caused by duplicate javamail class loading
Resolved in Pega Version 8.2
A ClassCastException was occurring when attempting to configure an email account in conjunction with JBOSS , WebLogic, or WebSphere Liberty. Analysis traced the issue to Class Loading: the WAS application server was providing a default com.ibm.ws.prereq.javamail.jar which conflicted with Pega's out of the box mail-1.5.5.jar, and at run time the JAR provided by WAS was getting picked due to JBoss, Weblogic, and WAS loading architectures from Tomcat. To resolve this, the delegation in PRAppLoader has been expanded to include the "javax.mail." package. This will ensure that Pega delegates to the web-app classloader unconditionally for the email classes. This prevents the ClassCastException caused by the interface javax.mail.Transport and com.sun.smtp.(Implementation Class) being loaded by two different class loaders.