IBM Support

IV31680: "COMPENSATION ERROR WITH NESTED LOOPS AND SCOPES"

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Compensation error with nested loops and scopes
    .
    In some scenarios where a process model uses nested scopes
    in combination with loop constructs, it is possible that
    activities inside the loop - which were excuted multiple times
    - do not compensate correctly.
    

Local fix

Problem summary

  • Problem Description:
    In some situations, when it comes to compensation in a
    long-running business process an assertion violation
    exception occurs. The following information is found in system
    log or FFDC:
    
       com.ibm.bpe.util.Assert.assertion(Assert.java:64)
    -------------------------- Assertion Failure
    ----------------------------
       com.ibm.bpe.util.Assert.assertion(Assert.java:65)
       com.ibm.bpe.util.Assert.assertion(Assert.java:66) Assertion
    violation !(subProcess.getState() ==
    ProcessInstanceB.STATE_FINISHED) in method >>
    com.ibm.bpe.engine.BpelScopeState.compensateProcessWithOutCompen
    sation(BpelScopeState.java:2380) <<
       com.ibm.bpe.util.Assert.assertion(Assert.java:67)
       com.ibm.bpe.util.Assert.assertion(Assert.java:68)
    ----------------------------------------------------------------
    ---------
    
    The current navigation step is retried several times, finally
    the navigation message is put on the hold queue.
    
    Problem Summary:
    There has been a performance implementation implemented in the
    compensation logic for Process Server v7.0, for the
    case when a sub-process or a scope has no compensation defined.
    Now it turned out, that in some combinations where parts of a
    long-running process have compensation defined and
    others do not, it can happen that the compensation of an already
    compensated sub-process is called again. This is because
    the state of an internal database object is not updated. Calling
    the compensation again leads to an assertion.
    
    Problem Conclusion:
    This fix ensures that the database object is updated correctly,
    so the compensation of the sub-process is not called again.
    

Problem conclusion

  • Problem fixed
    iFix available on top of V700 FP5
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV31680

  • Reported component name

    BUS PRC CHOREOG

  • Reported component ID

    5655FLW11

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-11-09

  • Closed date

    2012-12-04

  • Last modified date

    2012-12-04

Fix information

  • Fixed component name

    BUS PRC CHOREOG

  • Fixed component ID

    5655FLW11

Applicable component levels

  • R700 PSY

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCBJCZ","label":"Business Process Choreographer"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
04 December 2012