INC-147140 · Issue 604369
Email listener update for Microsoft Exchange server
Resolved in Pega Version 8.5.2
After upgrade, TooManyObjectsOpenedException/MapiExceptionSessionLimit errors were seen when starting the email listener. Investigation showed that when the listener was started, two sessions were getting opened and then not closed properly. This was a method originally intended to allow the system to re-use the session to minimize performance overhead, but it is not well-suited for use with Microsoft Exchange server as the Exchange server is unable to cleanup idle sessions. As a result, too many MAPI sessions were opened and led to an authentication exception while opening additional sessions. To resolve this, an update has been made so the system will close the session while the listener sleeps. This stop, restart and graceful shutdown scenario for single threaded email listener scenarios will create a new session every time and close it properly.
INC-147716 · Issue 603238
Warning added to indicate if QP/JS have been disabled via DASS
Resolved in Pega Version 8.5.2
Search was not working, and the error “The Flow Action pre-processing activity pzLPSearchManagerMainActivityWrapper failed: java.lang.NullPointerException” appeared in the search landing page. Investigation showed that the environment was configured with disabled BackgroundProcessing, which prevented the QueueProcessor framework from working. There was no notice in the UI of this condition. This has been resolved by adding a warning that will appear if background processing is disabled.
INC-148944 · Issue 604100
Email Listener auto-reply evaluation updated
Resolved in Pega Version 8.5.2
Email Listener auto-reply evaluation updatedAfter upgrade, messages were being read but not getting processed for a specific Email listener (RCEmailListerner). The error "Email flagged as an autoreply email and will not be processed" appeared in the logs. Previously, an email was not considered to be an auto-reply only when the 'auto-submitted' header didn't exist or existed with value 'no'. This caused issues with auto-forward or auto-redirect emails where 'auto-submitted:auto-generated' could be in the header. Due to this, email was marked as auto-reply and email listener stopped processing it. To resolve this, the system has been modified to mark the message as auto-reply if it finds 'auto-submitted: auto-replied' in the header, but not 'auto-submitted:auto-generated'.
INC-149375 · Issue 607829
Adjusted email listener behavior for authentication failures
Resolved in Pega Version 8.5.2
After upgrade, email listeners were not staying up during connection outages. This was traced to the handling of authentication failures when trying to reconnect, and has been resolved by changing the disconnected listener state to sleeping and raising an alert for authentication failures.
INC-149466 · Issue 607610
Fixed alias assigned to custom categories to handle Oracle limitations
Resolved in Pega Version 8.5.2
When trying to access CHAT via interaction portal, Oracle SQL was fired with incorrect syntax. This was traced to an Oracle limitation of 30 characters on the length of the table name, table alias name, or column name in database versions prior to 12.2. This is caused an SQL exception if the Pega class name was more than 30 characters. To prevent this, a fixed alias has been assigned to the custom category table.
INC-150271 · Issue 608944
Fallback added for calculating date after upgrade
Resolved in Pega Version 8.5.2
After upgrade, the date value returned from Stored procedure failed to be mapped to "date" type property. Stored Procedure was used to get data from an external Oracle database and then handed to a Data Transform to map the values. When the Data was fetched from the store procedure, the date properties were mapping correctly, but when these values were mapped from the clipboard into the usecase using a Data Transform, the data for date properties was becoming corrupted. This was traced to logic differences between the versions: 8.2 generated resolveToDate while in 8.5 generates resolveToBigDecimal. In this case, resolve to big decimal was being called with aType='D' and aValue=20200918, and the 20200918 number was being interpreted as days since 1 Jan 1970 instead of as a date. This has been resolved by adding a fallback for the date calculation.
SR-D96430 · Issue 561524
Updated visibility condition expression handling for decimal values
Resolved in Pega Version 8.5.2
After upgrade, any visibility condition expression failed to evaluate decimal values that used precision. When 0 (zero) was entered as a value in the input field, a button that was configured to show was visible as expected. When the value was entered as 0.0, the input failed and the button did not show. The problem did not happen "Run visibility condition on client" was enabled. Investigation showed this was an issue with how the When expression was evaluated and calculated within JspWhenEvaluate, and has been resolved.
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.