Injecting failures into a high availability system
You can inject failures into the system to check that the high availability behavior functions as you expect.
Before you begin
Attention: This facility is provided to support acceptance
testing of a highly available configuration and should only be used for that
purpose. Injecting a failure into the system will cause resources to be disabled
or failed over from one server to another and will disrupt the workload.
About this task
You can send a JMX command to a messaging engine MBean to simulate a failure in the high availability system. Injecting failures provides a useful way to undertake advanced verification or preproduction testing. You should not inject a failure into a production system.
There are two types of messaging engine failure that you can simulate: local error and global error. For more information about error types, see Messaging engine recovery from exception conditions.Procedure
Results
Example
In Jython:
myMBean = AdminControl.queryNames("type=SIBMessagingEngine,name=myNode01.
server1-bus1,*")
$AdminControl invoke $myMBean injectFault GlobalError
In
Jacl:
set myMBean [$AdminControl queryNames type=SIBMessagingEngine,name=myNode01.
server1-bus1,*]
AdminControl.invoke(myMBean, "injectFault", "GlobalError")