Retrieving all user registry groups during server startup

Logging into the server can take longer than expected or even fail when some of the user registry groups cannot be retrieved during server startup. This problem can occur when some groups are marked as inactive during server startup and are not retrieved along with the other groups. However, you can use the configurable property mark-group-inactive-as-needed-in-start-up to prevent groups from being marked inactive.

About this task

IBM® BPM replicates group names from the configured user registry into the product database when the server starts. For this purpose, a wildcard query is used to retrieve all groups during server startup. Some user registries do not return all groups (or any groups) in response to this query; for example, some groups may not be returned if the threshold is exceeded for a configured maximum result size.

Groups that have been replicated into the IBM BPM database – but are not returned as part of the wildcard query when the server starts – are marked deleted in the IBM BPM database and are not added to the in-memory group cache. If these groups exist, this "marked as deleted" indicator in the database is incorrect. Moreover, if the groups are used for task assignment or they are observed as groups of a user when that user tries to log in, performance-intensive database queries occur that can lead to poor login performance or even lock congestion.

The mark-group-inactive-as-needed-in-start-up setting is used to disable or enable the mechanism for marking user registry groups as inactive. If false is specified, no user registry groups are marked as inactive during server startup. If true is specified (which is the default), user registry groups are marked as inactive as needed during server startup.

If you want to change the value for the setting, you can override the value by adding or updating the setting in your 100Custom.xml files. For example, to add the setting to a 100Custom.xml file, you would add the following elements under the <properties> element and modify the value as needed:
<common>
   <security>
      <mark-group-inactive-as-needed-in-start-up merge="replace">false</mark-group-inactive-as-needed-in-start-up>
   </security>
</common>

For information about the individual 100Custom.xml files that need to be updated and their locations, see the topic Location of 100Custom configuration files.

To consistently and reliably change the value of the setting in all of the 100Custom.xml files in your IBM BPM deployment environment, it is recommended that you use the updateBPMConfig command as described in the following procedure:

Procedure

  1. Stop the servers for Process Server and Process Center.
  2. Start the scripting client in disconnected mode as described in the topic updateBPMConfig command.
  3. Run the following commands to simultaneously update all affected servers:
    wsadmin> AdminTask.updateBPMConfig( [ '-create', '/common' ] )
    wsadmin> AdminTask.updateBPMConfig( [ '-create', '/common/security' ] )
    wsadmin> AdminTask.updateBPMConfig( [ '-create', '/common/security/mark-group-inactive-as-needed-in-start-up', '-xNodeValue', true_or_false ] )
    wsadmin> AdminConfig.save()

    Replace the true_or_false variable with either true or false.

  4. Restart the servers.

Results

The recommended way of updating the 100Custom.xml files is by running the updateBPMConfig command. However, if the updates are unsuccessful, you can manually update the files by following the steps in the topic Creating a 100Custom.xml configuration file.