INC-141579 · Issue 591852
Enhancement added for node heartbeat recovery process
Resolved in Pega Version 8.3.5
Nodes were not showing up in the admin portal even though they were up and running and could be seen in the pr_sys_statusnodes table. The exception "An exception was encountered while invoking the cluster membership listener callback" was seen. All nodes became visible again after multiple restarts. The root cause was traced back to a temporary database connectivity problem. The database itself was fine according to database monitoring reports, but a network problem, a slow database query, or another issue prevented Pega from establishing a connection for more than a minute. An enhancement has been made to resolve this: if a node becomes unhealthy due to the service registry missing due to a failed heartbeat, the heartbeat will try to recover after 60 seconds and keep trying every 30 seconds until it succeeds.
INC-142674 · Issue 594496
Enhancement added for node heartbeat recovery process
Resolved in Pega Version 8.3.5
Nodes were not showing up in the admin portal even though they were up and running and could be seen in the pr_sys_statusnodes table. The exception "An exception was encountered while invoking the cluster membership listener callback" was seen. All nodes became visible again after multiple restarts. The root cause was traced back to a temporary database connectivity problem. The database itself was fine according to database monitoring reports, but a network problem, a slow database query, or another issue prevented Pega from establishing a connection for more than a minute. An enhancement has been made to resolve this: if a node becomes unhealthy due to the service registry missing due to a failed heartbeat, the heartbeat will try to recover after 60 seconds and keep trying every 30 seconds until it succeeds.
INC-137255 · Issue 584910
Resolved Cassandra query read/write latency
Resolved in Pega Version 8.3.5
Read/write latency was seen when certain Cassandra queries were triggered by the system. This was traced to an unusual case where a flush was not done for an exceptionally long time period, and has been resolved.
SR-D16934 · Issue 493702
External Cassandra nodes listed in DDS cluster
Resolved in Pega Version 8.3.1
Nodes of an external Cassandra cluster were not listed in the DDS cluster except for the first one in the host list, and when the “only” listed Cassandra node was restarted, the status on the DDS cluster LP did not become “NORMAL” afterwards. In addition, even though other C* nodes were up and running, the external Cassandra cluster was reported as unreachable. This was an unintended side effect of work done on the landing page to reflect the real state of the nodes after some were killed and restarted, and has been corrected by refining the equals() and hashCode() methods for DDS member info in order to better differentiate the external Cassandra nodes.
SR-D22686 · Issue 493516
IH summaries working with external Cassandra
Resolved in Pega Version 8.3.1
Summaries were not working for external Cassandra. This was an issue with the IH summary component using the aggregated dataset as a reference, and this fix contains several components to improve this function. An issue where the IH aggregates dataset does not materialize when DDS is external Cassandra has been resolved by modifying the code that checks the DDS availability. A filter that was used to match “” did not work when pre-aggregation is off : this was due to the IH Browse operation being done outside of a DF context, and has been fixed. The IH Summary shape not working properly in a strategy if it referenced an aggregate dataset with pxInteractionID as part of the group-by properties was traced to an issue with it generating a pxInteractionID value when executing the strategy, and has been resolved by excluding pxInteractionID from the group keys in the IH Summary shape.
SR-D24880 · Issue 494171
CEP bucket size increased to 1 minute
Resolved in Pega Version 8.3.1
Frequent DSM Data Flow Errors were observed in production nodes with very high event rates. This was traced to the default bucket size for CEP being 1 second for a 31 day window, which was not sufficient to handle high volume use which may create an event strategy window large enough to hit the Cassandra column size limit. In order to resolve this, the default bucket size has been increased from 1 second to 1 minute.
SR-D25184 · Issue 494689
Support added for referencing Page Group property inside of strategy
Resolved in Pega Version 8.3.1
Referencing a page property under Page Group property inside a strategy resulted in a runtime error of ClassCasting: "java.lang.ClassCastException: java.util.ArrayList cannot be cast to com.pega.decision.strategy.ssa.runtime.ClipboardPage". The issue was traced to the SSA optimized code for the GetPage SSA assuming that the GetPage SSA would only have another page as a parent. In order to handle the above scenario where GetPage would have a GetPageCollection as a parent and return a List of ClipboardPages, a GetPage function has been applied over each entry in the results of the GetPageCollection SSA using a MapAction SSA. Some optimizations will be applied in cases where the GetPageCollection has only one entry, which will replace the MapAction with a simple GetPage action.
SR-D26010 · Issue 500163
Modified VBD insertion logic to improve handling
Resolved in Pega Version 8.3.1
An issue with not being able to launch an additional VDB node was traced to two processes inserting into VBD with different field signatures and triggering unnecessary object creation. This was amplified when adding a second node as the objects were serialized. To resolve this, the insertion logic has been modified to avoid creating new data container/field descriptors after a new field is included, as well as a measurement with smaller data type than previous container.
SR-D28038 · Issue 501755
External Cassandra nodes listed in DDS cluster
Resolved in Pega Version 8.3.1
Nodes of an external Cassandra cluster were not listed in the DDS cluster except for the first one in the host list, and when the “only” listed Cassandra node was restarted, the status on the DDS cluster LP did not become “NORMAL” afterwards. In addition, even though other C* nodes were up and running, the external Cassandra cluster was reported as unreachable. This was an unintended side effect of work done on the landing page to reflect the real state of the nodes after some were killed and restarted, and has been corrected by refining the equals() and hashCode() methods for DDS member info in order to better differentiate the external Cassandra nodes.
SR-D32719 · Issue 505260
Compliation error resolved for editing complex offers
Resolved in Pega Version 8.3.1
The following error was logged while trying to edit offers: "com.pega.pegarules.pub.generator.FirstUseAssemblerException: Failed to compile generated Java, com.pegarules.generated.html_section.ra_stream_pyeditelement." Research showed the code for the static initializer was exceeding the 65535 byte limit, causing the java compilation of the pyEditElement section to fail for a decision data rule. This was due to the pyEditElement section for a decision data rule being circumstanced: the assembler architecture of circumstanced section rules generated and added code for all the versions of a circumstanced section. Hence, if the section referenced a lot of properties and it existed in multiple ruleset(s)/ruleset versions, the java compilation for the section rule failed. To correct this, the integration of the pyEditElement section with decision data rules has been revised and enhanced, and a function and utility have been provided to call the function to clean up the old and redundant pyEditElement sections for a given decision data rule.