IBM Support

WebSphere Adapter for JDBC V6.1/6.2 does not poll for events when High Availability is enabled

Troubleshooting


Problem

WebSphere Adapter for JDBC V6.1/6.2 stops polling for events on WebSphere Process Server 6.1/6.2 based on WebSphere Application Server 6.1.X when High Availability is enabled.

Symptom

WebSphere Adapter for JDBC does not poll for events after deploying the application or after restarting the server.

Cause

WebSphere Adapter for JDBC stops polling when High Availability is enabled, as the messaging endpoint is not activated.

Resolving The Problem

To fix this problem, apply WebSphere Application Server Fix Pack 6.1.0.25. WebSphere Application Server Fix Pack 6.1.0.25 introduces a new JVM custom property called "com.ibm.ejs.j2c.RAWrapper.changeMemberStateOnActivating". Set this property to "true" from the administrative console. In a clustered environment, you must set this property on each server in the cluster.

The following document explains how to create the property.

changememberstateonActivating.doc

Q&A about this issue:

1. Why does WebSphere Application Server introduce the property?
In WebSphere Application Server, there has been a technote to address the issue: http://www.ibm.com/support/docview.wss?uid=swg1PK79133

When using a JCA 1.5 adapter, if the High Availability feature is activated, the messaging endpoint of the adapter is not activated. This results in the polling feature of the JCA adapter to stop, which causes the flow of data to/from the data source to stop. Message endpoints defined over the ActivationSpecs of a resource adapter configured for inbound High Availability fail to activate when the resource adapter is activated within a cluster. The problem occurs because the WebSphere Application Server connection manager fails to activate the endpoints when the High Availability manager activates the member adapter within the cluster. The problem manifests within WebSphere Adapters as a symptom where the adapter stops polling for events. For example, the WebSphere Adapter for Flat Files stops polling for file system events, like creation of a file. Apply APAR PK79133 to enable the connection manager to activate the message endpoints of a resource adapter, configured for high availability within a cluster, when the High Availability manager activates the member adapter within the High Availability Group.

To enable the fix, define and set the following JVM system property within the configuration of each server in the cluster: com.ibm.ejs.j2c.RAWrapper.changeMemberStateOnActivating=true

In addition, this response was provided also:
This property affects the availability of message endpoints when resource adapter is activated. There are 2 APARs in this area:

  • APAR PK73716 delays the server from executing inbound work until sufficient resources are available. In particular, the server does not activate message endpoints until all applications are started.
  • APAR PK79133 enables the connection manager to activate the message endpoints of a resource adapter, configured for high availability within a cluster, when the High Availability manager activates the member adapter within the High Availability Group. Without the property (PK79133 not effective), the message endpoints enabling is delayed in some cases causing failure of polling for messages from resource adapter. The property makes sure message endpoints are activated along with resource adapter is activated.

2. Questions about the property

This is regarding PK79133 property "com.ibm.ejs.j2c.RAWrapper.changeMemberStateOnActivating=true"
1) What is the downside in enabling this property?
There is no downside in enabling this property.

2) Why was the fix implemented so that it only works when the property is turned on?
Since the fix was done in the service stream, it was thought of introducing a switch to enable the fix.

3) What are the potential side-effects?
There are no side effects.

3. Other questions:

1) Is this technote applicable to WebSphere Application Server 6.1.0.19?
Yes. The problem is applicable to WebSphere Application Server 6.1.0.x.

2) Do we require a restart after making this change?
Yes. you would need a restart after applying the fix, or after creation of the custom properties.
(Refer the document attached in the technote for more information on how to set the property and need for restart) http://www.ibm.com/support/docview.wss?uid=swg21412128.

3) Is this recommendation applicable to the Application Servers of the Cluster, ME Servers or both?
The property needs to be set on all of the members of the cluster where adapters are deployed. Once the property is set, please restart those clusters and ensure you see the following message in the trace file with "com.ibm.j2ca.*=all": com.ibm.j2ca.base.WBIResourceAdapter endpointActivation(MessageEndpointFactory, ActivationSpec) entering method.

[{"Product":{"code":"SSMKUK","label":"WebSphere Adapters Family"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Adapter for JDBC","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF012","label":"IBM i"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"},{"code":"PF035","label":"z\/OS"}],"Version":"6.2;6.1","Edition":"WebSphere","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
23 June 2018

UID

swg21412128