SAP XI JDBC Communication Channels Not Polling or Hanging

If you see that a JDBC sender channel is not polling after a java node crash, check the locks.
When a JDBC sender channel polls, it sets a lock in the enqueue service (SCS instance).
With a crash, these locks will be left hanging and the channel will not poll until the lock is removed.

To get the channel to poll again, follow this process:

1. Stop the channel
2. Go to Visual Admin --> Locking Adapter --> Display locks tab and refesh the locks view.
3. Select the existing (hanging) enqueue lock with JDBC (The lock has $XIDBAD.JDBC2XI and channel ID in tis name.
The channel ID can be determined from <Path to server node>/log/services/com.sap.aii.adapter.jdbc.svc)
4. Delete the lock.
5. Start the channel

The problem can be avoided by setting 'taskTimeout' parameter in the channel.
When the channel sets a lock, it passes the value of this parameter to the enqueue service and the enqueue service will not hold this lock longer than this time.



If the channel is not polling after a connectivity problem (ex: the database server polled by the sender channel crashed and has come up later), check the scheduler.
You can call the scheduler URL http://<host>:<port>/AdapterFramework/scheduler/scheduler.jsp.
If you do not see the channel listed in the schedule, it is likely that there is a bug in the scheduler.

To get the channel to poll again deactivate and activate it. Check SAP note 1483974 to fix the bug.

If you find that the channel is hanging while connecting or executing SQL statement on an Oracle database, you need to deactivate and activate the channel. If there are message processed by receiver channel stuck in DLNG status, restart Messaging System service. To avoid the problem, you can set connection timeout driver:oracle.net.CONNECT_TIMEOUT or read time out driver:oracle.jdbc.ReadTimeout. Both the parameters are defined in ms.

Comments

Popular posts from this blog

OS/DB Migration - CMD. STR, TOC, EXT, R3load, DDLDBS.TPL and more

Fixing Inconsistent Table - Table activation fails due to inconsistency between DD and DB

301 Redirect Using SAP Web Dispatcher