INC-133583 · Issue 584923
Rest connector supports extended chars in attachments
Resolved in Pega Version 8.3.5
When the pyRequestAttachmentPage clipboard page was populated with a file name that contained Latin supplemental 1 unicode characters (decimal values 160 to 255 - for example an umlaut), any extended characters were being converted to question marks (?) before the call was sent, causing the web service call initiated by Pega to fail. To better support this use, an enhancement has been added to support a multipart request with extended characters in the file name. This allows the pyRequestAttachmentPage to specify pyFileNameExtendedChars, allowing RFC 6532 mode to be toggled for multipart requests with attachments. This mode allows for UTF-8 encoding in the attachment file name header, rather than the default ASCII encoding.
INC-143461 · Issue 601841
Updated JSON DT nested page property handling
Resolved in Pega Version 8.3.5
In a JSON data transform, when using an "Update page" step on a single-page property, as a child step of an "Append and map to" step where a pagelist property is given, the pagelist was populated with only one result but the single-page property was treated like a pagelist and received multiple results. This has been resolved by updating the ClipboardJSONDeserializer implementation and downstream abstractions to support "clipboard only" relations as properties in nested PageLists.
INC-139297 · Issue 601421
JSON content type update
Resolved in Pega Version 8.3.5
An update has been made to ensure the content_type is set to application/json for JSON response.
INC-119646 · Issue 563696
RemovePrivateBlockedAndWithdrawnRAQs updated to avoid exception
Resolved in Pega Version 8.4.2
If the method removePrivateBlockedAndWithdrawnRAQs() (present on the AgentRuleUtils.java class) had both the "ignore personal rulesets containing checked out files" and "ignore "Blocked or Withdrawn agent" conditions set, raqsItr.remove(); ran twice and resulted in a java.lang.IllegalStateException. This could lead to undesired outcomes such as agents not showing up properly. To correct this, the code has been refactored to avoid running raqsItr.remove(); more than the necessary number of times.
INC-125193 · Issue 561461
Processed in last hour generated correctly
Resolved in Pega Version 8.4.2
After upgrade, the 'Processed in last hour' for pyFTSIncrementalIndexer (or any other queue processor) did not show the totals processed. This was traced to an error in a declare expression rule, and has been corrected.
INC-128654 · Issue 567410
Queue processor handling updated
Resolved in Pega Version 8.4.2
After upgrade, the queue processors were not processing all the items in the queue, however the value under the 'number of items processed in the last hour' in the Admin studio showed the value was equal to the total number of items in the queue. This was traced to the an incorrect offset kept by the queue processor in the data table (Data-QueueProcessor-Run-Partition). Because the incoming messages from Kafka have a lower offset than the one kept by the queue processor, messages were treated as duplicates and not processed. This has been resolved by adding a partitions-validation mechanism on QP startup. To assist in proper handling, any messages identified as potentially already processed will be moved to the broken messages queue.
SR-D85839 · Issue 550939
Support added for custom Kafka connection properties
Resolved in Pega Version 8.4.2
An enhancement has been added to allow specifying custom Kafka connection properties in the Data-Admin-Kafka data instance to allow connections to external Kafka through the common client configs, ssl configs, and sasl configs.
INC-100288 · Issue 555466
Declaratives disabled during startup
Resolved in Pega Version 8.4.2
Declaratives firing before the engine is fully up can lead to null pointer errors. In order to avoid this condition, declaratives will be disabled during startup so that unnecessary operations can be avoided and system can be started faster.
INC-119678 · Issue 564202
Improved timing for node tracing termination
Resolved in Pega Version 8.4.2
The tracer stopped tracing after tracing a certain number of events. This was due to communication timing issues for tracer events from one node to another node in a multi-node cluster environment, caused by the Tracer Client using the pzMaxEvent property which limited the maximum number of events fetched at a time to 200. Any leftover Events should have been fetched in the next request, but when the consuming node's service ended after the 200 events, the system removed the service requester entry from the distributed Map and disabled remote node tracing as part of cleanup of the service execution. To resolve this, an update has been made so the node tracing will not be terminated until the service execution ends and there are no more events to process.
INC-120356 · Issue 560225
Class Loader cache values wrapped with WeakReference for improved cleanup
Resolved in Pega Version 8.4.2
Out Of Memory exceptions due to Metaspace were observed on Web tier instances running with a max Metaspace size of 2GB. Investigation showed that in PRClassLoaderDB, mLoaderCache values were wrapped with a SoftReference. To resolve this, the Class Loader cache values will be wrapped with a WeakReference, allowing the cache to free memory when it is no longer needed. JVM options has also been added to switch types of References being used if there is a preference.