on 07-11-2012 6:34 AM
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.
what's the version of your BPM?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
User | Count |
---|---|
90 | |
10 | |
10 | |
10 | |
7 | |
7 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.