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.
Why and when to perform 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 perform 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 on error types,
see
Service integration error types.
Steps for this task
- Start the wsadmin client.
For
more information about the wsadmin client, see Wsadmin tool.
- Use a JMX command to create a variable and set its value to the messaging engine, or engines, that you
want to fail:
set mbean_name [$AdminControl queryNames type=SIBMessagingEngine, name=messaging_engine_name,*]
- Use a JMX command to inject the failure, using the variable you
created in the previous step. To inject a local error:
$AdminControl invoke $mbean_name injectFault LocalError
To inject a global error:$AdminControl invoke $mbean_name injectFault GlobalError
Use the administrative console to view the results. If you have configured
the system for failover, a local error should cause the messaging engine to
be failed over to another server. A global error does not cause a failover.
For example, to inject a global error into a messaging engine named
myNode01.server1-bus1:
set myMBean [$AdminControl queryNames type=SIBMessagingEngine, name=myNode01.server1-bus1,*]
Followed by:
$AdminControl invoke $myMBean injectFault GlobalError