SAP Knowledge Base Article - Preview

2846982 - Topic cluster lock on JMS channel

Symptom

You create a JMS channel, set "Quality of Service" to Exactly Once, and select "Enable Topic Support" which is supported since release 7.3 and higher (See SAP Note 856346 Solution 2.1).

Topic.jpg

QoS.jpg

You are facing following error in Communication Channel Monitor:

"Topic cluster lock: $com.sap.aii.adapter.jms.eoio has already been acquired for the Topic channel by another cluster node. The channel has therefore been made inactive."

In XPI Inspector trace, you could see below:

12:08:20:504 ~hannel.SenderChannelImpl.doPreStart
[EXCEPTION]
com.sap.engine.frame.core.locking.LockException: Cannot lock [I2019051611434357900000clsapa26..................node_ID, $com.sap.aii.adapter.jms.eoio, ChannelId, E]; it is in use by another owner. The lock collision occurred with user <internal>.
at com.sap.engine.core.locking.impl3.LockingManagerImpl.lockInternal(LockingManagerImpl.java:168)
at com.sap.engine.core.locking.AbstractLockingManagerImpl.lock(AbstractLockingManagerImpl.java:466)
at com.sap.engine.core.locking.ServerInternalLockingImpl.lock(ServerInternalLockingImpl.java:52)
at com.sap.aii.adapter.jms.core.channel.ComponentServicesImpl.acquireCentralClusterWideLock(ComponentServicesImpl.java:177)
at com.sap.aii.adapter.jms.core.channel.SenderChannelImpl.doPreStart(SenderChannelImpl.java:177)
at com.sap.aii.adapter.jms.core.channel.ChannelImpl.doStart(ChannelImpl.java:422)
at com.sap.aii.adapter.jms.core.channel.ChannelImpl.start(ChannelImpl.java:180)

In Message Log, you could also find similar info as below. Here this channel is treated as EOIO on runtime.

12:08:20:504 [[ChannelName: XXX,ChannelId: XXX]] Eoio/Topic channel XXX continues to remain inactive on node node_ID since the same channel on another node holds the Eoio/Topic channel lock
12:08:20:504 ~rChannelImpl.checkSumbitEoioPollJob ⇦
12:08:20:504 Eoio/Topic poll job is already running.
12:08:20:504 ⇨
12:08:20:504 ~hannel.SenderChannelImpl.doPreStart Throwing com.sap.aii.adapter.jms.core.channel.ChangeStateException: Topic channel ChannelId will be inactive on node node_ID: LockException: Cannot lock [I2019051611434357900000clsapa26..................node_ID, $com.sap.aii.adapter.jms.eoio, XXX, E]; it is in use by another owner. The lock collision occurred with user <internal>.
12:08:20:504 ~.adapter.jms.core.fsm.DFA.sendEvent ⇦
12:08:20:504 DFA: XXX:ChannelId, Received event: deactivate
12:08:20:504 DFA: XXX:ChannelId, Transitioned from state STARTING to state INACTIVE on event deactivate

Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental.


Read more...

Environment

  • SAP NetWeaver Process Integration 7.3
  • SAP enhancement package 1 for SAP NetWeaver Process Integration 7.3
  • SAP NetWeaver Process Integration 7.4
  • SAP NetWeaver Process Integration 7.5

Product

SAP NetWeaver 7.3 ; SAP NetWeaver 7.4 ; SAP NetWeaver 7.5 ; SAP enhancement package 1 for SAP NetWeaver 7.3

Keywords

topic cluster lock, JMS, JMS Adapter, JMS channel, cluster node, inactive channel, LockingManagerImpl, LockException, STARTING, INACTIVE, Process Integration 7.30, PI 7.30, Process Integration 7.31, PI 7.31, Process Orchestration 7.40, PI 7.40, PO 7.40, Process Orchestration 7.50, PI 7.50, PO 7.50, NetWeaver, XI , KBA , BC-XI-CON-JMS , JMS Adapter , Problem

About this page

This is a preview of a SAP Knowledge Base Article. Click more to access the full version on SAP for Me (Login required).

Search for additional results

Visit SAP Support Portal's SAP Notes and KBA Search.