When the code is migrated to higher environments (TEST, QA and PROD) from DEV, the deployed rules are being picked up during execution.
All our environments have multiple node and only the node where the migration took place has the changes reflected but not the others.
I did find Support articles proposing to add DSS: Owning Ruleset: Pega-Engine; Setting Purpose: prconfig/systempulse/scanoffsetms/default ; Value: 60000. But this did not make any difference. Also when the nodes are being started, we did not find the entry is log file stating: (ccess.DatabaseImpl.SystemPulse) INFO - Using a pulse offset of 60000 ms.
So, is this DSS supposed to be working on Pega 7.4? If not, what would be our next steps resolving this discrepancy because restarting the environment every time post code migration is both resource and time consuming?
Since the changes are picked up on the node where the import was done but not the other nodes, it sounds like it is related to the pulse process. Pega 7.4 uses Hazelcast by default. Can you check the cluster logs to see if all of the nodes show in the cluster? If there is an issue with communication between the nodes, then the changes will not get propagated to the other nodes.
You could try setting the SystemPulse logging to ALL on each node. Then do an import and you should see a message such as "Broadcasting 1 System Pulse message" and it will show the details of the rule. Then on the other node, you should see a message about it being received (in a working scenario).
The issue got resolved when the installation node is declared as Cluster rather Standalone and also set the DSS for SystemPulse. Hazelcast will sync all the nodes only if the installation node is declared as Cluster and ignores if standalone. It worked!!