SR-B56256 · Issue 335795
VBD cache handling changed to preserve data integrity
Resolved in Pega Version 7.4
When VBD was configured to use on-heap memory, no data was displayed in VBD planner and logs showed queries failing with ArrayIndexOutOfBoundException. The cause of the error was a corruption of VBD cache data in a partition: VBD compresses its partitions after getting no inserts for 15 minutes. When an insert is received by a compressed partition, the partition is first decompressed before writing. During decompression, the buffer position is set to the end of the uncompressed buffer. However, the buffer may include padded nulls added during buffer expansion. The system writes the new VBD records after the padded nulls, but the nulls would then throw off the read logic during query execution. To fix this, during decompression the buffer position will now be set to the end of the data, not the end of the buffer.
SR-B56256 · Issue 337432
VBD cache handling changed to preserve data integrity
Resolved in Pega Version 7.4
When VBD was configured to use on-heap memory, no data was displayed in VBD planner and logs showed queries failing with ArrayIndexOutOfBoundException. The cause of the error was a corruption of VBD cache data in a partition: VBD compresses its partitions after getting no inserts for 15 minutes. When an insert is received by a compressed partition, the partition is first decompressed before writing. During decompression, the buffer position is set to the end of the uncompressed buffer. However, the buffer may include padded nulls added during buffer expansion. The system writes the new VBD records after the padded nulls, but the nulls would then throw off the read logic during query execution. To fix this, during decompression the buffer position will now be set to the end of the data, not the end of the buffer.
SR-B67003 · Issue 329137
Enhancement added to validate mandatory fields in custom proposition definition forms
Resolved in Pega Version 7.4
Enhancements have been added in order to support extended customization of a proposition definition form. Previously, the custom form containing the custom fields was rendered in the context of a requestor-level, editable data page for creating a new proposition. The custom form section itself did not belong to the same class as the data page but was only rendered in the context of the data page at run-time. Therefore, validations defined on the custom form were not triggered due to the mismatch in the context of execution. The system has now been updated with an extension activity which will have the required-field validation pre-loaded. The same activity can then be extended to include additional validations whenever needed. The approach has some limitations as below. Process: On the custom form for the proposition group, the appropriate fields will need to be marked as required-always from the 'Required' dropdown field configuration form. After this, with the local fix branch included, new propositions should be validated for missing required fields. Limitations: The validation will work only on the manual creation of a new proposition. Conversely, the validation will NOT work if the propositions were uploaded using the Import/Export feature on the Decision Data form. The validation error messages for the custom fields will appear on the top of the page unlike that for the proposition name property. However, the message will list all properties that are marked as required but haven't been filled-in on the form.
SR-B72990 · Issue 326318
DataFlowGenerator class files preserved longer
Resolved in Pega Version 7.4
When creating a campaign, running the generated data flow manually resulted in an illegal argument exception indicating a null property name. This was traced to the use of an overwrite data flow API: class files were generated and removed immediately after the DataFlow object is constructed. In some cases, the java classloader may delay loading of the classes, causing the NoClassDefFoundException as files have been already removed. To resolve this, the DataFlowGenerator will now wait one day to remove the classes.
SR-B75057 · Issue 328508
CSV import of list segment fixed
Resolved in Pega Version 7.4
After upgrade, CSV import of a list segment in Pega Marketing was not working if the header name was "WorkEmail" in LMMS. This was due to a redundant call made to pxgetFilteredUniqueKeysListFromDB, and the code has been updated to correct this.
SR-B77601 · Issue 328719
Enhanced localization in Survey
Resolved in Pega Version 7.4
Due to enhancements in the Survey modules, some rule forms were exposed in the end user portal which called out-of-the-box Designer Studio activities. Designer Studio does not by default have localization, resulting in some save activities and error messages such as "Cannot save a record that is checked out by a different user" not being localized in Survey. To better handle such situations, the Rule-.Save activity has been changed to use a message rule instead of hard-coded text so localization will be applied.
SR-B77604 · Issue 328533
Hazelcast subscriber dependency removed to ensure Social Connector consistency
Resolved in Pega Version 7.4
Social Connectors that had stopped could not be restarted manually using the Social Configuration Landing Page, and no meaningful error was displayed to screen. After restarting the whole cluster the connector was able to start. The inability to manually restart is a syncing issue: when the social connector has stopped automatically, the node on which it was running stops and the node exits the cluster of nodes of which it was a part. When trying to restart the connector manually using the Social Configuration Landing Page, the node tries to rejoin the cluster but fails because the Hazelcast instance running on the isolated node is not able to sync with the Hazelcast running on the cluster. However, the root of this issue was that Hazelcast was kicking out nodes due to a dependency on the number of subscribers. To resolve this, that dependency has been removed so nodes will not be expelled.
SR-B77908 · Issue 330904
Hazelcast subscriber dependency removed to ensure Social Connector consistency
Resolved in Pega Version 7.4
Social Connectors that had stopped could not be restarted manually using the Social Configuration Landing Page, and no meaningful error was displayed to screen. After restarting the whole cluster the connector was able to start. The inability to manually restart is a syncing issue: when the social connector has stopped automatically, the node on which it was running stops and the node exits the cluster of nodes of which it was a part. When trying to restart the connector manually using the Social Configuration Landing Page, the node tries to rejoin the cluster but fails because the Hazelcast instance running on the isolated node is not able to sync with the Hazelcast running on the cluster. However, the root of this issue was that Hazelcast was kicking out nodes due to a dependency on the number of subscribers. To resolve this, that dependency has been removed so nodes will not be expelled.
SR-B79002 · Issue 329139
Workaround added for Excel export of very large decision tables
Resolved in Pega Version 7.4
When attempting to export a very large decision table, the exception "IllegalStateException: The maximum number of Cell Styles was exceeded" appeared. An .xlsx Workbook allows defining up to 64000 styles, and in this case the number of cell styles created exceeded 64000. In order to support very large decision tables, the cell style creation has been optimized to work within this limit and reuse the styles created.
SR-B81000 · Issue 335702
Resolved exception in Event Strategy with Abstract component
Resolved in Pega Version 7.4
When trying to run the DataFlow-Execute and operation Browse, Browse by keys or Save with a Data Flow which contained Event Strategy, the step was not working because some of the required parameters were not populated. This has been fixed.