skip to main content

SAP NetWeaver Newbie

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.

5 comments:

  1. Hi, This is a very useful post.
    I've seen a lot of issues with PI 7.0 JDBC Connectors and Adapter Channels.

    Can you confirm which version of SAP XI/PI you found this issue on?

    Thanks,

    Darryl

    ReplyDelete
  2. Hello Darryl

    This was on XI 3.0, but it is applicable to Pi 7.0 also.

    ReplyDelete
  3. You just saved my day :)

    I had a crashed oracle server and therefore some stuck locks.
    Removed them on http://:/nwa/ and set the timeouts so it hopefully doesn't happen again.

    Pi 7.11

    ReplyDelete
    Replies
    1. hi Christian, Good to know it helped you :)

      Delete
  4. Hi,

    Thank you for sharing this. There is more information in that Doc.
    Actually i want know onething how much value I will maintain in "taskTimeout" parameter. From our side poll interval is every 3sec. Then can i mention above that poll interval or below that value.
    Please let me know and which one can I select in Trasaction Isolation level.

    ReplyDelete

Email Subscription

Get every new post into your inbox by subscribing us.

Want a reason to subscribe?
1. This sitemap might convince you to subscribe.
2. We do not misuse email IDs. We respect privacy.

© 2008 - 2017 sapnwnewbie. All rights reserved.