IBM Support

Assertion violation !(Key not unique for ProcessInstanceB) error ocurs for WebSphere Process Server (WPS) when a child BPEL process responds to the parent

Troubleshooting


Problem

When a child process responds to the parent, the fAssertion violation !(Key not unique for ProcessInstanceB) error occurs.

Symptom

The following errors usually occur when a process has multiple long-running child processes.:

com.ibm.bpe.util.ProcessAssertionError: Assertion violation !(Key not unique for ProcessInstanceB) in method >> com.ibm.bpe.database.ProcessInstanceB.selectDbByParentAIID(ProcessInstanceB.java:614) <<
at com.ibm.bpe.util.Assert.assertion(Assert.java:70)
at com.ibm.bpe.database.ProcessInstanceB.selectDbByParentAIID(ProcessInstanceB.java:614)
at com.ibm.bpe.database.Tom.getSubProcessInstanceB(Tom.java:10448)
at com.ibm.bpe.engine.BpelActivityKindInvoke.processAsynchronousResponse(BpelActivityKindInvoke.java:1256)
at com.ibm.bpe.engine.BpelActivityStateRunning.processAsynchronousResponse(BpelActivityStateRunning.java:93)
at com.ibm.bpe.engine.BpelEngineCore.processAsynchronousResponseMessage(BpelEngineCore.java:1230)
at com.ibm.bpe.engine.BpelAsynchronousResponseEngineMessage.execute(BpelAsynchronousResponseEngineMessage.java:86)
at com.ibm.bpe.engine.BpelEngine.onMessage(BpelEngine.java:1464)
at com.ibm.bpe.framework.sca.ProcessImplementationHandler.bpc_onMessage(ProcessImplementationHandler.java:595)

Resolving The Problem

This problem occurs when the transaction boundaries are not set properly in the Business Process Execution Language (BPEL) process. A limitation requires that when the process invokes another BPEL process, the corresponding invoke activity must not be part of the transaction that initiates the process. You can achieve this by setting the transaction behavior attribute in one of the following ways:

  • Set the attribute of the receive or receive choice activity to Commit after.
  • Set the attribute of the invoke activity to Commit before or Requires own.

[{"Product":{"code":"SSQH9M","label":"WebSphere Process Server"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Business Process Choreographer","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"},{"code":"PF035","label":"z\/OS"},{"code":"PF012","label":"IBM i"}],"Version":"6.2;6.1.2;6.1","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
23 June 2018

UID

swg21406201