cancel
Showing results for 
Search instead for 
Did you mean: 

SAP PI and BPM - Processing multiple intermediate messages failing

justin_santhanam
Active Contributor
0 Kudos

Hello,

I have configured a scenario where BPM waits for the Intermediate message. PI will send multiple messages to BPM at a single point of time. For example if PI sends 7 messages( i.e calling BPM 7 times), then sometimes BPM accepts 2 messages immediately and the rest 5 goes into the error status. Then I have to restart those messages from PI one by one to make the process successful. Sometimes BPM accepts 4 messages and so on. I don't know if there are any settings that I need to change or is there a problem with my design itself. My only doubt was the Gateway that I have chosen. But not sure about that.

This is the error I'm getting in the log - "com.sap.engine.interfaces.webservices.runtime.RuntimeProcessException: Technical difficulties were experienced during process execution"

Again, just to clarify - if I resend my messages one by one the BPM accepting it. Only it fails if I send multiple transactions at a given point of time.

I truly appreciate if someone could shed some lights on this issue.

Thanks,

Justin.

Accepted Solutions (1)

Accepted Solutions (1)

junwu
Active Contributor
0 Kudos

what's the version of your BPM?

justin_santhanam
Active Contributor
0 Kudos

Jun,

We are on the latest release 7.31 SP3 ( PO - PI+BPM)

Thanks!     

stefan_henke
Contributor
0 Kudos

Hi Justin,

can you ceck if there is any exception in the trace files (NWA -> Log Viewer)? There should be hopefully something more than just the mentioned error.

Do all the messages correlate to the same process instance? Or do you have multiple instances consuming the messages?

Best regards,

Stefan

justin_santhanam
Active Contributor
0 Kudos

Hi Stefan,

Thanks for your response. I have enabled the debug mode and got more information on the default trace.

Caused by: com.sap.glx.core.kernel.trigger.TriggerException: An error occurred while processing updates for the persistent join node "PERSISTENT_JOIN_Subscription_0_Intermediate_Message_3_correlation_join_0". Updates were <[<[CREATE]|Request{e406f120-cb7a-11e1-91a1-000008b30e5e/e406f120-cb7a-11e1-91a1-000008b30e5e}(example.org/bpm_poc/pr/pm/TG_IDOC_Msg,AuditIDOC_Async_In,null,null),Event_0_Intermediate_Message_3_1ebda47703963200033e4403129010f0(Request{e406f120-cb7a-11e1-91a1-000008b30e5e/e406f120-cb7a-11e1-91a1-000008b30e5e}(example.org/bpm_poc/pr/pm/TG_IDOC_Msg,AuditIDOC_Async_In,null,null),PIJPRXS1,*f63667e2256707f7a91b5a8f68f734b9,true)>], null>
at com.sap.glx.core.kernel.trigger.node.PersistentJoinNode.process(PersistentJoinNode.java:190)
at com.sap.glx.core.kernel.trigger.core.BFSController.update(BFSController.java:228)
at  com.sap.glx.core.kernel.trigger.impl.TriggerNetworkManagerImpl$SequentialController.update(TriggerNetworkManagerImpl.java:578) 
at com.sap.glx.core.kernel.mmtx.AbstractTransaction.do_trigger(AbstractTransaction.java:227)
at com.sap.glx.core.kernel.mmtx.AbstractTransaction.do_prepare(AbstractTransaction.java:198)
... 84 more
Caused by: com.sap.glx.core.kernel.trigger.TriggerLockingException: Could not acquire exclusive row lock for key true, lock = com.sap.glx.core.util.UpgradeableReentrantReadWriteLock$WriteLock@5cd92e91[com.sap.glx.core.util.UpgradeableReentrantReadWriteLock.DebugUpgradeableReentrantSynchronizer@f3103b8[state = 1, readers = 0, writers = 1, owner = [MS Queue Worker [JPRRecv]
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196)

Also, I have searched the same error and found the below notes. But the below notes is not applicable for my release, infact I'm on the higher release compared to the applicable releases on the notes.(BPEM-CORE - 7.31 SP03)

Note 1550615 - NetWeaver BPM: Locking Issues for Intermediate Message Event

Caused by: com.sap.glx.core.kernel.api.TransitionException: com.sap.glx.process.exception.ProcessAuthorizationException: User 'SAP_BPM_Service' has no permission for calling this method with id 'f61d9a3ccb7911e19424000008b30e5e'.
at com.sap.glx.process.connector.impl.BPMNAdapterConnector.getProcessInstanceInfo(BPMNAdapterConnector.java:820)
at com.sap.glx.process.adapter.bpmn.impl.BPMNAdapter.getProcessInstance(BPMNAdapter.java:3593)
... 19 more
Caused by: com.sap.glx.process.exception.ProcessAuthorizationException: User 'SAP_BPM_Service' has no permission for calling this method with id 'f61d9a3ccb7911e19424000008b30e5e'.
at com.sap.glx.process.impl.ProcessManagerImpl.checkForProcessInstanceExistence(ProcessManagerImpl.java:1742)
at com.sap.glx.process.impl.ProcessManagerImpl.getProcessInstance(ProcessManagerImpl.java:1120)
at com.sap.glx.process.connector.impl.BPMNAdapterConnector.getProcessInstanceInfo(BPMNAdapterConnector.java:816)
... 20 more


I also noticed the above authorization error for the standard user SAP_BPM_Service. Not sure if this is related to it or not.

Regarding the correlation  - I'm running only one instance at a time. There is no problem with the correlation. If I run two instances then the messages are going to the correct processes. The only problem is no.of messages the process can accept.

Thanks,

Justin.

stefan_henke
Contributor
0 Kudos

Hi Justin,

the correlation feature was reworked and recently published. This might be also related to the error you are facing. Details are described in SAP Note 1615142. Unfortunately, the fix is not available for 7.31 SP3, but only SP4.

Best regards,

Stefan

junwu
Active Contributor
0 Kudos

good to see that, hopefully it is getting better.

we really suffered a lot when we started to use intermediate event.

we restart the server daily, sometime even worse.

peter_gottinger
Explorer
0 Kudos

Hi,

as Stefan already mentioned, the proposal is, to update to 7.31 SP4. There the reworked correlation feature is included. Existing process DCs have to be rebuild and redeployed to get the new functionality working.

Our tests showed, that the reworked correlation feature is much more reliable and also increases performance.

Best regards,

Peter

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi,

I have the same Problem, but we are on the latest release SAP NetWeaver 7.3 EHP 1 SPS05.

Does anyone have any idea what it could be?


Greetings

Uli

peter_gottinger
Explorer
0 Kudos

Dear Ulrike,

this is a typical error situation of the old correlation implementation. So it looks like you have still process instances on your system that were built with the old correlation implementation (build plugin < 7.31 SP4).

The old as well as the new correlation implementation are side-by-side on the system. The decision which implementation is choosen is done by the build plugin when you build a process DC.

The process instances built with the old implementation can unfortunately influence instances of the new implementation because they are participating in the same transaction when they are listening to the same webservice endpoint.

So the proposal is to use a new webservice endpoint for the newly compiled processes. This causes the new process instances to be independent from the old ones and so they can run without any influences.

For further information see SAP Note 1615142.

Best regards,

Peter

Former Member
0 Kudos

Dear Peter,

Thank you for your quick response.

I've tried everything:

create new webservice endpoint

create new service group

restart Server

changed model and new deployed

- but it comes trotztdem still the same error!

What can I do?

Greetings from Dresden

Uli

peter_gottinger
Explorer
0 Kudos

Hi Ulrike,

I would propose that you open an OSS ticket, so the development team can have a deeper look into your problem.

Best regards,

Peter

Former Member
0 Kudos

Hi Peter,

that's what I'll do.

Thanks anyway for your help.

Best regards,

Ulrike