SR-D61253 · Issue 527653
Exception stack trace will be included as comments in generated assembly code
Resolved in Pega Version 8.3.2
When there is an exception during assembly time, that original exception message is assembled in the generated code. To improve the process of finding the the root cause by examining the original exception stack, the system has been updated to insert the original exception stack trace into the generated code as comments.
SR-D61601 · Issue 524367
Corrected ISO format datetime handling for API case creation
Resolved in Pega Version 8.3.2
When providing a date time field in ISO format for case creation through an API request, the date times were not validated or converted to acceptable values for Pega to handle them. To resolve this, ISO Date Time conversion will be done after a page-change-class to the right class, a null pointer error has been resolved, and "validate embedded page" has been unchecked in pyFlowParameters.
SR-D61706 · Issue 524955
PropertySet will iterate over chageList map copy to resolve CME
Resolved in Pega Version 8.3.2
An empty menu was seen intermittently when handling incoming email, and a ConcurrentModificationException error was logged. Investigation showed that a step scope changeList map used in the handleChaining method was sometimes modified by another process while the first one was iterating over it. To resolve this, PropertySet will receive copies of the change list map from clipboard pages instead of the original map.
SR-D61971 · Issue 529606
Search Landing Page handling added for email addresses containing hyphens
Resolved in Pega Version 8.3.2
When an e-mail addresse containing a hyphen was entered for the Automated Search Alert functionality, the validation error "Please Enter Valid Email Address(s)" appeared. For example, [email protected] was not accepted. To resolve this, the regexp function used for the email validator has been updated.
SR-D62355 · Issue 529677
ClassName retrieved from rule definition when root record comes from primary page
Resolved in Pega Version 8.3.2
A When rule with single condition .DateProp >= .DateTimeProp was returning true when DateProp was set to a certain date & DateTimeProp was set to a date after DateProp. This was expected to return false. Investigation showed this was a missed use-case for property expressions where the root record came from the Primary Page, and was traced to an issue with the values being converted to String and the class not being set properly when the IL Assembler was used to resolve the Primary.IntegerProp's type. This has been resolved by returning the pyClassName retrieved from the rule definition page.
SR-D62755 · Issue 523431
Enhanced diagnostic logging for Email Listener failures
Resolved in Pega Version 8.3.2
In order to better diagnose issues where the email listener entered a disabled state as soon as it was started, a catch block has been added to enhance logging the reason of failure.
SR-D62840 · Issue 534123
Updated HashMap logic for better concurrent thread handling
Resolved in Pega Version 8.3.2
The Pega execution engine was getting stuck at com.pega.eclipse.util.collections.HashtableOfIntValues.get for many thread within thread dumps. Investigation showed that when the key was not present in keytable, a thread would be stuck in an endless 'while' loop related to mapping. To resolve this, the data structure that is used for ruleset mapping from HashtableOfIntValues to Concurrent HashMap has been modified to better handle concurrent threads, and the handling for get and put has been updated.
SR-D63234 · Issue 529098
Blobless class handling updated in BIX extract
Resolved in Pega Version 8.3.2
When performing a BIX extract to database, null values were seen for some columns when there were values present in the clipboard and the report definition. Analysis showed that an Extract Rule defined on a Blobless class with a property having a length greater than 30 would return a null value even when the source table's corresponding columns do not have null values. This was due to BIX using an internal Report Definition which would truncate the column alias if the length of the column was greater than 30: when the extract then tried to find the actual property name in the result page, it did not find it and returned a null value. To resolve this, if the class is Blobless, the system will iterate over the property and check whether it is truncated or not. If it it truncated, the truncated name will be used when looking for the property in the result page instead of using the unmatching actual property name. This will ensure the correct value populated in the result page will be used.
SR-D63255 · Issue 531382
Updated sender email address validation to handle long domains
Resolved in Pega Version 8.3.2
In some cases, attempting to create a case via an email was failing and the cases were being routed to the broken queue. The error "IndeterminateConditionalException: Unable to load data page D_TrackAutoResponse. Required parameters : SenderEmailAddress. cannot be blank" appeared. This was traced to regex having a validation on the length of a domain name which caused a lengthy 'from' address to be trimmed. To resolve this, the regex has been modified to validate the email address as per RFC5322.
SR-D63579 · Issue 527998
Enhancements added for using AWS file repositories
Resolved in Pega Version 8.3.2
Enhancements have been added to improve the use of AWS file storage: Logging for AWS SDK connection metrics can be activated on a per-repository basis, either through the ruleform or through the DSS storage/class/:/enableMetrics. INFO logging can be enabled on PegaAWSSDKMetricReporter to periodically output averages of recorded metrics for all registered S3 repositories with metric collection enabled, or INFO logging can be enabled on PegaAWSRequestMetricCollector to output recorded metrics on every client call for all registered S3 repositories with metric collection enabled. The interval at which PegaAWSSDKMetricReporter logs metrics at can be configured with the DASS storage/AWSSDK/metricReportingInterval. This DASS is a system-wide setting, and not a per-repository setting. The default reporting interval is 90 seconds, and metric collection is disabled on all repositories by default.