Question

Targeting a specific node in a multi-node environment

Hi,

in our project we run Pega PRPC 7.1.9 in a multi-node cloud environment. Now we plan accomplish the following demand:

Let´s say we have Node A,B,C and D.

Currently I´m logged in on Node A calling an (Openshift) API to get a list of all active nodenames. Now I want to run a specific report / activity on Node C.

How can I accomplish this? I know that there is a SystemPulse agent which handles the cache synchronization on all nodes, but don´t know exactly how to leverage this. Which ways of implementing this are possible?

Many thanks in advance.

***Edited by Moderator: Lochan to update platform capability tags***

Comments

Keep up to date on this post and subscribe to comments

September 25, 2019 - 2:16am

Also I´d like to add that it would be great to know how to trigger an activity from node A to run on all / selected nodes.

Pega
September 25, 2019 - 6:40am

Hi,

The System Pulse is important in a multi-node environment since rule changes saved to the database and updated in local caches on one node need to be reflected on all nodes.  Each node has various caches (ABA, VTable, ClassMap) that are required to be consistent throughout the cluster.  The System Pulse is designed to ensure that these caches maintain consistency.

I understood from your query that you want to run a report in node C.I think system pulse will keep all the nodes on the same platform so no matter you run the report on whatever node result will be same.

Thanks,
Abhinav

September 25, 2019 - 6:54am

Hi,

well, it´s not necessarily only running a report on Node C. An activity would be more appropriate. The real situation is:

Our business data is saved in an HSQL database, so it´s independent from Pega´s Oracle DB since it´s in-memory. Therefore running a report is not sufficient, instead we want each node to update the HSQL tables via an activity because otherwise the change is only reflected in the node which you are currently logged into.

September 25, 2019 - 8:11am

An agent would be able to trigger the activity you want on each node.

 

September 26, 2019 - 1:30am
Response to Anthony_Gourtay

Yes, but our plan is to trigger this mechanism manually, so an agent is not an option since it´s scheduled

September 26, 2019 - 4:56am

Other option (still with agent):

Agent on each node would regularly check & not do anything before a flag for specific node is validated.

Then at the time you want the activity to be triggered you put either a flag/flat file on the specific server or the node name anywhere in DB. 

if condition is met (specific node found itself as candidate), activity will be executed on the server you want and you clean the flag.

this is certainly not the best solution but it could also help in the meantime :)