How to configure EJB timers in RHPAM on Openshift to only fire on a specific node?

Solution In Progress - Updated -

Issue

We have multiple kie-server pods running with a shared database. Our process definitions are using timers, and the kie-server instances are configured to use the EJB timer implementation (default setup).

At runtime, we have observed that the timer saved in the DB is triggered randomly on any of the kie-server instances. The timer created by kie-serve-1 can be picked up by kie-server-2. As not all kjars are deployed on all kie-server instances, this can result in an error java.lang.RuntimeException: No scheduler found for app1-kieserver-1.0.0-timerServiceId when the timer is fired on the wrong node.

How can we ensure that the EJB timers are only fired on a specific node?

Environment

  • Red Hat Process Automation Manager
    • 7.x
  • Openshift installation
  • Single DBMS (external to OCP)
    • 1 kie-server containing the v1 of a kjar
    • 1 kie-server containing the v2 of the same kjar

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content