IBM Support

JR57611: YOU SEE A "USERGROUP WITH ID USERGROUP.X NOT FOUND" ERROR WHEN USING THE PROCESSES DASHBOARD AFTER SNAPSHOTS WERE DELETED

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

  • After process instances are migrated to a new snapshot and the
    old snapshot is deleted, you see an error when you run the
    Processes dashboard in IBM Process Portal and you see an
    exception like the following example in the SystemOut.log file
    of the server:
    
    [3/10/17 16:39:50:121 CET] 0001fd84 wle           E
    CWLLG2229E: An exception occurred in an EJB call.  Error:
    UserGroup with ID UserGroup.3318 not found.
    
    com.lombardisoftware.core.TeamWorksException: UserGroup with ID
    UserGroup.3318 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:513)
     at com.lombardisoftware.server.ejb.persistence.DefaultHandler.
      findByPrimaryKey(DefaultHandler.java:119)
     at com.lombardisoftware.server.ejb.persistence.
      PersistenceServicesCore$3.call
      (PersistenceServicesCore.java:189)
     at com.lombardisoftware.server.ejb.persistence.
      PersistenceServicesCore$3.call
      (PersistenceServicesCore.java:187)
     at com.lombardisoftware.server.ejb.persistence.versioning.
      BranchManager.readAccess(BranchManager.java:173)
     at com.lombardisoftware.server.ejb.persistence.
      PersistenceServicesCore.findByPrimaryKey
      (PersistenceServicesCore.java:187)
     at sun.reflect.GeneratedMethodAccessor278.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:149)
     at com.lombardisoftware.utility.spring.
      TransactionInterceptor$2.call(TransactionInterceptor.java:67)
     at com.lombardisoftware.utility.spring.
      ProgrammaticTransactionSupport.executeWithNoTransaction
      (ProgrammaticTransactionSupport.java:633)
     at com.lombardisoftware.utility.spring.
      ProgrammaticTransactionSupport.execute
      (ProgrammaticTransactionSupport.java:334)
     at com.lombardisoftware.utility.spring.TransactionInterceptor.
      invoke(TransactionInterceptor.java:65)
     at org.springframework.aop.framework.
      ReflectiveMethodInvocation.proceed
      (ReflectiveMethodInvocation.java:171)
     at com.lombardisoftware.utility.spring.CoreEntryInterceptor.
      invoke(CoreEntryInterceptor.java:44)
     at com.lombardisoftware.utility.spring.PSCoreEntryInterceptor.
      invoke(PSCoreEntryInterceptor.java:14)
     at org.springframework.aop.framework.
      ReflectiveMethodInvocation.proceed
      (ReflectiveMethodInvocation.java:171)
     at org.springframework.aop.framework.JdkDynamicAopProxy.
      invoke(JdkDynamicAopProxy.java:204)
     at com.sun.proxy.$Proxy57.findByPrimaryKey(Unknown Source)
     at com.lombardisoftware.server.ejb.persistence.
      PersistenceServicesBean$5.execute
      (PersistenceServicesBean.java:110)
     at com.lombardisoftware.server.ejb.persistence.
      PersistenceServicesBean$5.execute
      (PersistenceServicesBean.java:108)
     at com.lombardisoftware.server.ejb.EjbServerUtils.
      handleEjbCall(EjbServerUtils.java:86)
     at com.lombardisoftware.server.ejb.persistence.
      PersistenceServicesBean.handleEjbCall
      (PersistenceServicesBean.java:50)
     at com.lombardisoftware.server.ejb.persistence.
      PersistenceServicesBean.findByPrimaryKey
      (PersistenceServicesBean.java:108)
     at com.lombardisoftware.server.ejb.persistence.
      EJSRemoteStatelessPersistenceServices_ccd74654.
      findByPrimaryKey(Unknown Source)
     at com.lombardisoftware.server.ejb.persistence.
      _PersistenceServices_Stub.findByPrimaryKey
      (_PersistenceServices_Stub.java:492)
     at com.lombardisoftware.client.delegate.
      PersistenceServicesDelegateDefault$5.run
      (PersistenceServicesDelegateDefault.java:330)
     at java.security.AccessController.doPrivileged
      (AccessController.java:327)
     at com.lombardisoftware.client.delegate.common.
      WebsphereDelegateHelper.doAsCurrentSubjectContextSensitive
      (WebsphereDelegateHelper.java:197)
     at com.lombardisoftware.client.delegate.
      PersistenceServicesDelegateDefault.findByPrimaryKey
      (PersistenceServicesDelegateDefault.java:316)
     at com.lombardisoftware.client.persistence.common.
      factorydelegate.UnversionedFactoryDelegate.findByPrimaryKey
      (UnversionedFactoryDelegate.java:40)
     at com.lombardisoftware.client.persistence.common.
      AbstractUnversionedPOFactory.findByPrimaryKey
      (AbstractUnversionedPOFactory.java:122)
     at com.ibm.bpm.dashboards.data.InstanceListItemHelper.
      getOwningTeamUserGroup(InstanceListItemHelper.java:182)
     at com.ibm.bpm.dashboards.data.InstanceListItemHelper.
      getInstanceListItemDetails(InstanceListItemHelper.java:164)
     at com.ibm.bpm.dashboards.data.InstanceListItemHelper.
      toTWObject(InstanceListItemHelper.java:150)
     at com.ibm.bpm.dashboards.data.InstanceListItemHelper.
      toTWObject(InstanceListItemHelper.java:127)
     at com.ibm.bpm.dashboards.data.InstanceListItemHelper.
      toTWObject(InstanceListItemHelper.java:102)
     at com.ibm.bpm.dashboards.data.InstanceListItemHelper.
      retrieveInstanceList(InstanceListItemHelper.java:92)
     at com.lombardisoftware.core.script.js.
      AbstractTWSystemScriptable.jsFunction_retrieveInstanceList
      (AbstractTWSystemScriptable.java:2164)
    
    The error can also happen when you run the
    tw.system.retrieveInstanceList() JavaScript API in one of your
    business process definitions (BPDs) or services (IBM BPM V8.5.5)
    or processes or service flows (IBM BPM V8.5.7).
    

Local fix

Problem summary

  • To retrieve the current list of process instances, the Processes
    dashboard in Process Portal runs the "Default Process Instance
    List Service" Ajax service, which runs the
    tw.system.retrieveInstanceList() JavaScript API. The API fails
    to build the result because at least one item in the result list
    refers to an owner group that does not exist anymore.
    
    This owner group was deleted when an older snapshot was deleted.
    The instances were previously started in this snapshot and
    migrated to a newer snapshot. During this instance migration,
    the owner group was not updated to point to the group for the
    new snapshot.
    
    
    PRODUCTS AFFECTED
    IBM Business Process Manager (BPM) Advanced
    IBM BPM Standard
    IBM BPM Express
    

Problem conclusion

  • A fix is available for IBM BPM V8.5.5 that will be included in
    IBM BPM V8.5.7 cumulative fix 2017.06 that extends the process
    instance migration to update the owner group to the group
    related to the target snapshot. The fix also adds a check before
    deleting a snapshot to prevent the deletion when instances in
    other snapshots use a owner group in the snapshot that is to be
    deleted.
    
    To fix existing instances that point to an owner group that does
    not exist anymore, perform one of the following actions:
    
    - Migrate the instance to a new snapshot. This can be a snapshot
     without any model changes. The instance migration will update
     the group information of the instance to point to groups in the
     new snapshot.
    
    - Run the following SQL statement:
    
      SELECT I.BPD_INSTANCE_ID, PG.GROUP_ID AS NEW_OWNER_GROUP_ID
        FROM LSW_BPD_INSTANCE I
        JOIN LSW_BPD BPD ON I.CACHED_BPD_VERSION_ID=BPD.VERSION_ID
        JOIN LSW_PO_REFERENCE POR ON
          BPD.OWNER_TEAM_PARTICIPANT_REF=POR.REFERENCE_ID
        JOIN LSW_PARTICIPANT_GROUP PG ON
          I.SNAPSHOT_ID=PG.SNAPSHOT_ID AND POR.TARGET_ID=
            PG.PARTICIPANT_ID
       WHERE I.TIP='F'
         AND I.OWNER_GROUP_ID IS NOT NULL
         AND I.OWNER_GROUP_ID NOT IN (
             SELECT GROUP_ID
               FROM LSW_USR_GRP_XREF
         )
    
    The result will contain the BPD_INSTANCE_ID and the
    NEW_OWNER_GROUP_ID in the correct snapshot. Use this information
    to update the OWNER_GROUP_ID in the LSW_BPD_INSTANCE table. For
    each BPD or process instance that you update, you must update
    the search index by using the processIndexUpdateInstance script:
    
    processIndexUpdateInstance.bat -user DeAdmin_user -password
      DeAdmin_user -host host_name -port SOAP_port BPD_INSTANCE_ID
    
    For more information, see "Updating the Process Portal index"
    (https://www.ibm.com/support/knowledgecenter/SSFTN5_8.5.5/com.ib
    m.wbpm.admin.doc/topics/cadm_task_index_updating.html).
    

Temporary fix

Comments

APAR Information

  • APAR number

    JR57611

  • 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

    2017-03-17

  • Closed date

    2017-05-18

  • Last modified date

    2017-05-18

  • 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

  • R855 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:
18 May 2017