In this scenario:
multiple rulesets deployed to the production rule execution server
All the rulesets are invoked regularly and continuously, hence they are all parsed and cached by the XU.
As the rulesets’ execution is in progress, RES backend database goes down.
All the deployed rulesets are already parsed and we have set ruleset.maxIdleTime=0 to persist the parsed rulesets in memory irrespective of their invocation.
What would be the impact of the RES database going down on the decision execution on the RES? We are aware that RuleApp deployment capabilities, the RES console and DW tracing capabilities will be down with the RES database but would there be any direct impact on the ruleset execution itself?
Answer by Miriam.Kaestner (8892) | Jan 07 at 08:45 AM
When RES DB goes unavailable expected losses of functionality are:
Deployment of new ruleapp versions and subsequent notifications of update to the execution stacks: Attempts to deploy or change the management model will fail with a persistence error due to the missing database.
Read of ruleset archives not loaded in memory in the execution stacks (Rule Session + eXecution Unit): Trying to execute a ruleset path not already present in the XU cache will trigger an exception
Good news in HA terms is that all rulesets already loaded in memory by the XUs will continue to execute even if the RES DB goes down. Just make sure that the XU JCA pool and JRE are sized enough to keep all the rulesets in memory when they have been loaded the first time, to avoid having them garbaged and reloaded.