Zum Hauptinhalt springen
Version: 6.17

Performance improvements

The following performance improvements have been made.

Required downtime for updating large systems reduced (#665890)

When updating a large system to ConSol CM version 6.17.1.0 or higher, a longer downtime was required for updating database tables for Unique data fields (#661185). This downtime can be reduced by applying the following procedure.

System size

This procedure is only needed on large systems with many (> 100 million rows) entries in the cmas_cf_fields table. Smaller systems can update regularly.

Please contact the ConSol CM support or consulting team for obtaining the procedure to be executed on the database.

Precondition: ConSol CM version < 6.17.1

  1. In ConSol CM: Create the system property cmas-setup-hibernate:cmas_cf_field_value_unique_update_skip with the value true.
  2. In your database: Create a task which executes a procedure to update the search_path columns of the cmas_cf_fields table by adding a unique value. You can define batches (number of transactions and number of rows per transaction). The task can run during the regular operation of ConSol CM. It is recommended to schedule it at night to avoid performance degradation. It is possible to abort and restart the task, without loosing work of the already completed batches.
  3. Shut down ConSol CM.
  4. In your database: Execute the procedure once again to make sure no rows are left to update. Add the constraint to the table: ALTER TABLE cmas_cf_field ADD CONSTRAINT cmas_cf_field_value_unique UNIQUE (search_path, definition_name, group_name)
  5. Update ConSol CM to version 6.17.5.

Alternative procedure

Precondition: The unique fields feature is not used.

  1. In ConSol CM: Create the system property cmas-setup-hibernate:cmas_cf_field_value_unique_update_skip with the value true.
  2. Update ConSol CM to version 6.17.5.
  3. In your database: Create a task which executes a procedure to update the search_path columns of the cmas_cf_fields table by adding a unique value. You can define batches (number of transactions and number of rows per transaction). The task can run during the regular operation of ConSol CM. It is recommended to schedule it at night to avoid performance degradation. It is possible to abort and restart the task, without loosing work of the already completed batches.
  4. Shut down ConSol CM.
  5. In your database: Execute the procedure once again to make sure no rows are left to update. Add the constraint to the table: ALTER TABLE cmas_cf_field ADD CONSTRAINT cmas_cf_field_value_unique UNIQUE (search_path, definition_name, group_name)
  6. In ConSol CM: Remove the system property cmas-setup-hibernate:cmas_cf_field_value_unique_update_skip.