System delay when modifying object types and fields (Db2)

If you are using IBM® Db2® and the reporting schema is enabled, you can encounter a significant system delay in OpenPages® if you make object model modifications. The delay is due to locking conflicts on the IBM Db2 platform.

The following object model modifications can cause a system delay:
  • Associating a field group to an object type
  • Adding a new field to a field group that is already associated to an object type
  • Converting a single valued enumerated field to a multi-valued enumerated field
  • Adding new object type associations
To reduce a system delay, follow this process:
  1. Choose a time when there is limited or no activity on the system.
  2. Enable System Administration Mode.
  3. Shut down IBM Cognos® Analytics.
  4. Disable global search.
  5. Complete the object model modifications.
  6. Start IBM Cognos Analytics.
  7. Enable global search.

Object model modifications cause implicit DDL operations to be performed against the reporting schema. On the IBM Db2 platform share locks are automatically acquired when a read operation is performed. A read operation can block the object model modification. If the read operation is long running, for example, a long running Cognos report, the object model modification can appear to hang. In reality, the object model modification is not hanging but blocked on the session that is performing the read operation. After the read operation completes, the session that is attempting the object modification can proceed. The read operation needs to complete and clear its locks before the implicit DDL operation can acquire the locks that it needs to implement the object model change. If you kill the object model modification operation, the system can be left in an inconsistent state. If this happens, you must recreate the reporting schema.

The following actions do not cause this issue:

  • Creating a new object type
  • Creating a new field group
  • Adding fields to a field group that is not yet associated to an object type
  • Changing object text values
  • Switching a field from not required to required or vice versa
  • Changing the order of enumerated strings in an enumerated field
  • Hiding an enumerated field value
  • Adding new values to an existing enumerated field
  • Modifying profile definitions
  • Creating new reporting periods
  • Enabling or disabling existing object type associations
  • Enabling or disabling of security rules
  • Enabling or disabling field level encryption