WebSphere WebSphere Application Server Network Deployment, Version 6.1.x Operating Systems: AIX, HP-UX, i5/OS, Linux, Solaris, Windows, z/OS

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 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.

Procedure

  1. Start the wsadmin client.

    For i5/OS platforms You start the wsadmin client from within Qshell. For more information, see the topic "Configure Qshell to run WebSphere Application Server scripts".

    For more information about the wsadmin client, see Wsadmin tool.

  2. 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,*]
  3. 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
Results
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.
Example
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
Related concepts
Service integration error types

Task topic

Terms of use | Feedback


Timestamp icon Last updated: 26 February 2009
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.pmc.nd.multiplatform.doc/tasks/tjt0037_.html

Copyright IBM Corporation 2004, 2009. All Rights Reserved.
This information center is powered by Eclipse technology. (http://www.eclipse.org)