IBM Support

JR57156: USERS REST API LEAVES CACHE ENTRIES BEHIND WHEN AN EXCEPTION OCCURS

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • If the users REST API is called,
    /rest/bpm/wle/v1/users
    all users visible to IBM Business Process Manager (BPM) are
    retrieved from user registry.
    Users not yet known to IBM BPM are inserted into the database
    and added to the cache one by one. If an exception occurs,
    perhaps because the transaction timed out, the users inserted
    into the database are rolled back and are, therefore, no longer
    in the database. However, exceptions might occur because the
    cache is not reset. For example, an exception occurs because the
     user is retrieved from the cache although he or she is not in
    the database.
    The stack trace of the exception is similar to the following
    example:
    [10/5/16 9:27:28:750 CDT] 00000150 wle           E   CWLLG2229E:
    An exception occurred in an EJB call.  Error: User with ID
    User.71586 not found.
    com.lombardisoftware.client.delegate.BusinessDelegateException:
    User with ID User.71586 not found.
    at
    com.lombardisoftware.client.delegate.BusinessDelegateException.a
    sBusinessDelegateException(BusinessDelegateException.java:46)
    at
    com.lombardisoftware.client.delegate.PersistenceServicesDelegate
    Default.findByPrimaryKey(PersistenceServicesDelegateDefault.java
    :278)
    at
    com.lombardisoftware.client.persistence.common.factorydelegate.U
    nversionedFactoryDelegate.findByPrimaryKey(UnversionedFactoryDel
    egate.java:40)
    at
    com.lombardisoftware.client.persistence.common.AbstractUnversion
    edPOFactory.findByPrimaryKey(AbstractUnversionedPOFactory.java:1
    45)
    at
    com.lombardisoftware.server.core.UserCore.getOrCreateUserInfoObj
    ect(UserCore.java:270)
    at
    com.lombardisoftware.server.ejb.security.SecurityCore.initialize
    NewLogin(SecurityCore.java:216)
    at sun.reflect.GeneratedMethodAccessor561.invoke(Unknown Source)
    ..
    Caused by: com.lombardisoftware.core.TeamWorksException: User
    with ID User.71586 not found.
    at
    com.lombardisoftware.server.ejb.persistence.CommonDAO.assertNotN
    ull(CommonDAO.java:65)
    at
    com.lombardisoftware.server.ejb.persistence.CommonDAO.assertMapN
    otNull(CommonDAO.java:45)
    at
    com.lombardisoftware.server.ejb.persistence.dao.UnversionedPODAO
    .findByPrimaryKey(UnversionedPODAO.java:614)
    at
    com.lombardisoftware.server.ejb.persistence.DefaultHandler.findB
    yPrimaryKey(DefaultHandler.java:119)
    at
    com.lombardisoftware.server.ejb.persistence.PersistenceServicesC
    ore$3.call(PersistenceServicesCore.java:196)
    at
    com.lombardisoftware.server.ejb.persistence.PersistenceServicesC
    ore$3.call(PersistenceServicesCore.java:194)
    at
    com.lombardisoftware.server.ejb.persistence.versioning.BranchMan
    ager.readAccess(BranchManager.java:189)
    at
    com.lombardisoftware.server.ejb.persistence.PersistenceServicesC
    ore.findByPrimaryKey(PersistenceServicesCore.java:194)
    at sun.reflect.GeneratedMethodAccessor249.invoke(Unknown Source)
    at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod
    AccessorImpl.java:37)
    at java.lang.reflect.Method.invoke(Method.java:611)
    at
    org.springframework.aop.support.AopUtils.invokeJoinpointUsingRef
    lection(AopUtils.java:310)
    at
    org.springframework.aop.framework.ReflectiveMethodInvocation.inv
    okeJoinpoint(ReflectiveMethodInvocation.java:182)
    [10/5/16 9:27:28:750 CDT] 00000150 wle           E   CWLLG2229E:
    An
    exception occurred in an EJB call.  Error: User with ID
    User.71586 not
    found.
    com.lombardisoftware.client.delegate.
    BusinessDelegateException: User with ID User.71586 not found.
            at com.lombardisoftware.client.delegate.
    BusinessDelegateException.asBusinessDelegateException
    (BusinessDelegateException.java:46)
            at com.lombardisoftware.client.delegate.
    PersistenceServicesDelegateDefault.findByPrimaryKey
    (PersistenceServicesDelegateDefault.java:278)
            at com.lombardisoftware.client.persistence.common.
    factorydelegate.UnversionedFactoryDelegate.findByPrimaryKey
    (UnversionedFactoryDelegate.java:40)
            at com.lombardisoftware.client.persistence.common.
    AbstractUnversionedPOFactory.findByPrimaryKey
    (AbstractUnversionedPOFactory.java:145)
            at com.lombardisoftware.server.core.UserCore.
    getOrCreateUserInfoObject(UserCore.java:270)
            at
    com.lombardisoftware.server.ejb.security.SecurityCore.
    initializeNewLogin(SecurityCore.java:216)
     Page 5 of 87
            at sun.reflect.GeneratedMethodAccessor561.invoke(Unknown
    Source)
    ..
    Caused by: com.lombardisoftware.core.TeamWorksException: User
    with ID
    User.71586 not found.
            at
    com.lombardisoftware.server.ejb.persistence.CommonDAO.
    assertNotNull(CommonDAO.java:65)
            at
    com.lombardisoftware.server.ejb.persistence.CommonDAO.
    assertMapNotNull(CommonDAO.java:45)
            at com.lombardisoftware.server.ejb.persistence.dao.
    UnversionedPODAO.findByPrimaryKey(UnversionedPODAO.java:614)
            at
    com.lombardisoftware.server.ejb.persistence.DefaultHandler.
    findByPrimaryKey(DefaultHandler.java:119)
            at com.lombardisoftware.server.ejb.persistence.
    PersistenceServicesCore$3.call(PersistenceServicesCore.java:196)
            at com.lombardisoftware.server.ejb.persistence.
    PersistenceServicesCore$3.call(PersistenceServicesCore.java:194)
     Page 6 of 87
            at
    com.lombardisoftware.server.ejb.persistence.versioning.
    BranchManager.readAccess(BranchManager.java:189)
            at com.lombardisoftware.server.ejb.persistence.
    PersistenceServicesCore.findByPrimaryKey(PersistenceServicesCore
    .java:
    194)
            at sun.reflect.GeneratedMethodAccessor249.invoke(Unknown
    Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke
    (DelegatingMethodAccessorImpl.java:37)
            at java.lang.reflect.Method.invoke(Method.java:611)
            at org.springframework.aop.support.AopUtils.
    invokeJoinpointUsingReflection(AopUtils.java:310)
            at
    org.springframework.aop.framework.ReflectiveMethodInvocation.
    invokeJoinpoint(ReflectiveMethodInvocation.java:182)
            at
    org.springframework.aop.framework.ReflectiveMethodInvocation.
    proceed(ReflectiveMethodInvocation.java:1
    

Local fix

Problem summary

  • No additional information is available.
    
    PRODUCTS AFFECTED
    IBM Business Process Manager (BPM) Advanced
    IBM BPM Standard
    IBM BPM Express
    

Problem conclusion

  • A fix will be incorporated into IBM BPM V8.5.7 cumulative fix
    2017.03 that ensures UserInfoCache is reset when an exception is
    thrown as a result of inserting the users into the database.
    In addition, when you try to retrieve all users (for example, by
    not specifying a filter parameter), the execution of the action
    changes to be subject to a long transaction timeout.
    The default value for the default-long-transaction-timeout
    parameter is 4 hours.
    

Temporary fix

Comments

APAR Information

  • APAR number

    JR57156

  • Reported component name

    BPM ADVANCED

  • Reported component ID

    5725C9400

  • Reported release

    855

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-12-13

  • Closed date

    2017-02-13

  • Last modified date

    2017-08-28

  • 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

  • R857 PSY

       UP

[{"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":"855","Edition":"","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
28 August 2017