IBM Support

JR57775: REPEATING UCA CAUSES DEADLOCK WHEN SCHEDULED FOR THE END OF THE BLACKOUT PERIOD

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • A database deadlock might occur and be reported in the
    SystemOut.log file when a repeating undercover agent (UCA) is
    scheduled for the end of a blackout period.
    
    A typical log entry contains the following information:
    
    [28.04.17 14:55:08:819 CEST] 00000058 wle_scheduler E
    CWLLG0824E: An exception occurred while trying to replay event
    manager task 7958. Error: DB2 SQL Error: SQLCODE=-911,
    SQLSTATE=40001, SQLERRMC=2, DRIVER=4.11.69
    
    com.lombardisoftware.core.TeamWorksException: DB2 SQL Error:
    SQLCODE=-911, SQLSTATE=40001, SQLERRMC=2, DRIVER=4.11.69
     at
    com.lombardisoftware.core.TeamWorksException.asTeamWorksExceptio
    n(TeamWorksException.java:136)
     at
    com.lombardisoftware.utility.db.DbUtils$1.doInTransaction(DbUtil
    s.java:77)
     at
    com.lombardisoftware.server.core.TXCommand$3.call(TXCommand.java
    :96)
     at
    com.lombardisoftware.utility.spring.ProgrammaticTransactionSuppo
    rt.executeInExistingTransaction(ProgrammaticTransactionSupport.j
    ava:582)
     at
    com.lombardisoftware.utility.spring.ProgrammaticTransactionSuppo
    rt.execute(ProgrammaticTransactionSupport.java:296)
     at
    com.lombardisoftware.server.core.TXCommand.executeInDeadlockRetr
    yLoop(TXCommand.java:94)
     at
    com.lombardisoftware.utility.db.DbUtils.executeInTransaction(DbU
    tils.java:72)
     at
    com.lombardisoftware.server.scheduler.ReplayOnHoldTaskHelper.loa
    dFullTask(ReplayOnHoldTaskHelper.java:350)
     at
    com.lombardisoftware.server.scheduler.ReplayOnHoldTaskHelper.get
    AdminTaskId(ReplayOnHoldTaskHelper.java:745)
     at
    com.lombardisoftware.server.scheduler.TaskManager.cancelTasks(Ta
    skManager.java:138)
     at
    com.lombardisoftware.server.scheduler.Engine.scheduleNextExecuti
    on(Engine.java:1279)
     at
    com.lombardisoftware.server.scheduler.Engine.scheduleNextExecuti
    on(Engine.java:1232)
     at
    com.lombardisoftware.server.scheduler.Engine.access$2300(Engine.
    java:101)
     at
    com.lombardisoftware.server.scheduler.Engine$8.execute(Engine.ja
    va:1188)
     at
    com.lombardisoftware.server.scheduler.Engine$8.execute(Engine.ja
    va:1184)
     at
    com.lombardisoftware.utility.db.DbUtils.executeWithConnection(Db
    Utils.java:36)
     at
    com.lombardisoftware.utility.db.DbUtils$1.doInTransaction(DbUtil
    s.java:75)
     at
    com.lombardisoftware.server.core.TXCommand$3.call(TXCommand.java
    :96)
     at
    com.lombardisoftware.utility.spring.ProgrammaticTransactionSuppo
    rt$1.doInTransaction(ProgrammaticTransactionSupport.java:409)
     at
    org.springframework.transaction.jta.WebSphereUowTransactionManag
    er$UOWActionAdapter.run(WebSphereUowTransactionManager.java:306)
     at
    com.ibm.ws.uow.EmbeddableUOWManagerImpl.runUnderNewUOW(Embeddabl
    eUOWManagerImpl.java:787)
     at
    com.ibm.ws.uow.EmbeddableUOWManagerImpl.runUnderUOW(EmbeddableUO
    WManagerImpl.java:366)
     at
    org.springframework.transaction.jta.WebSphereUowTransactionManag
    er.execute(WebSphereUowTransactionManager.java:252)
     at
    com.lombardisoftware.utility.spring.ProgrammaticTransactionSuppo
    rt.executeInNewTransaction(ProgrammaticTransactionSupport.java:4
    04)
     at
    com.lombardisoftware.utility.spring.ProgrammaticTransactionSuppo
    rt.execute(ProgrammaticTransactionSupport.java:267)
     at
    com.lombardisoftware.server.core.TXCommand.executeInDeadlockRetr
    yLoop(TXCommand.java:94)
     at
    com.lombardisoftware.utility.db.DbUtils.executeInTransaction(DbU
    tils.java:72)
     at
    com.lombardisoftware.server.scheduler.Engine.blackOutAndSchedule
    Next(Engine.java:1184)
     at
    com.lombardisoftware.server.scheduler.Engine.checkBlackoutHandle
    RecurringAndExecuteSingleTask(Engine.java:611)
     at
    com.lombardisoftware.server.scheduler.Engine.executeTasks(Engine
    .java:601)
     at
    com.lombardisoftware.server.scheduler.Timer.executeTasks(Timer.j
    ava:150)
     at
    com.lombardisoftware.server.scheduler.Timer.access$400(Timer.jav
    a:42)
     at
    com.lombardisoftware.server.scheduler.Timer$TimerRunnable.run(Ti
    mer.java:129)
     at
    com.lombardisoftware.client.delegate.common.WebsphereDelegateHel
    per$3$1.run(WebsphereDelegateHelper.java:100)
     at
    java.security.AccessController.doPrivileged(AccessController.jav
    a:362)
     at javax.security.auth.Subject.doAs(Subject.java:573)
     at
    com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:19
    5)
     at
    com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:15
    2)
     at
    com.lombardisoftware.client.delegate.common.WebsphereDelegateHel
    per.doAs(WebsphereDelegateHelper.java:172)
     at
    com.lombardisoftware.client.delegate.common.WebsphereDelegateHel
    per$3.run(WebsphereDelegateHelper.java:96)
     at java.lang.Thread.run(Thread.java:784)
    Caused by: com.ibm.db2.jcc.am.SqlTransactionRollbackException:
    DB2 SQL Error: SQLCODE=-911, SQLSTATE=40001, SQLERRMC=2,
    DRIVER=4.11.69
     at com.ibm.db2.jcc.am.gd.a(gd.java:663)
     at com.ibm.db2.jcc.am.gd.a(gd.java:60)
     at com.ibm.db2.jcc.am.gd.a(gd.java:127)
     at com.ibm.db2.jcc.am.ym.b(ym.java:3915)
     at com.ibm.db2.jcc.t4.db.h(db.java:286)
     at com.ibm.db2.jcc.t4.db.a(db.java:244)
     at com.ibm.db2.jcc.t4.db.c(db.java:31)
     at com.ibm.db2.jcc.t4.r.a(r.java:32)
     at com.ibm.db2.jcc.t4.j.Zb(j.java:263)
     at com.ibm.db2.jcc.am.ym.X(ym.java:3687)
     at com.ibm.db2.jcc.t4.d.f(d.java:1893)
     at com.ibm.db2.jcc.am.jc.a(jc.java:203)
     at com.ibm.db2.jcc.t4.d.a(d.java:109)
     at com.ibm.db2.jcc.am.ym.c(ym.java:382)
     at com.ibm.db2.jcc.am.ym.next(ym.java:309)
     at
    com.ibm.ws.rsadapter.jdbc.WSJdbcResultSet.next(WSJdbcResultSet.j
    ava:3120)
     at
    com.lombardisoftware.server.scheduler.ReplayOnHoldTaskHelper$8.e
    xecute(ReplayOnHoldTaskHelper.java:362)
     at
    com.lombardisoftware.server.scheduler.ReplayOnHoldTaskHelper$8.e
    xecute(ReplayOnHoldTaskHelper.java:350)
     at
    com.lombardisoftware.utility.db.DbUtils.executeWithConnection(Db
    Utils.java:36)
     at
    com.lombardisoftware.utility.db.DbUtils$1.doInTransaction(DbUtil
    s.java:75)
     ... 39 more
    
    As a consequence, the Event Manager task might stay in the
    EXECUTING state although the Event Manager task ran
    successfully. IBM Business Process Manager (BPM) ignores the
    event manager task, until the IBM BPM server restarts. Then, the
    Event Manager task runs again.
    
    
    PRODUCT AFFECTED
    IBM Business Process Manager(BPM) Advanced
    IBM BPM Standard
    IBM BPM Express
    

Local fix

Problem summary

  • This issue might occur because of either of the following
    scenarios:
    -Rescheduling of the Event Manager task might cause a deadlock
    when the reschedule occurs at the end of a blackout period.
    
    -If the Event Manager task runs successfully, it must be
    deleted. If this deletion occurs at the end of a blackout
    period, a deadlock might occur, but this deadlock is not handled
    properly.
    

Problem conclusion

  • A fix is available for IBM BPM V8.0.1.3, V8.5.0.2, V8.5.5.0 and
    is included in CumFix CF2017.06, that prevents the deadlock or
    handles the deadlock properly.
    

Temporary fix

Comments

APAR Information

  • APAR number

    JR57775

  • Reported component name

    BPM ADVANCED

  • Reported component ID

    5725C9400

  • Reported release

    801

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-04-27

  • Closed date

    2017-06-13

  • Last modified date

    2017-06-13

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    BPM STANDARD

  • Fixed component ID

    5725C9500

Applicable component levels

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSFTDH","label":"IBM Business Process Manager Standard"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.0.1","Edition":"","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
13 June 2017