IBM Support

Controlling deferred loading of attachment list fields for ClearQuest

Question & Answer


Question

How can I control whether or not ClearQuest will defer loading of attachment list fields?

Cause

Performance can be improved by deferring the load of attachment list fields.

Answer

Loading of reference list fields can now be deferred until needed in order to improve performance.

There are several parts to this feature. One part is the capability to enable deferred loading of attachment list fields at the core level. The other parts are the List View Query feature for the Web UI (User Interface) (technote #1976572) and deferred loading of back reference list fields (technote #1976816).

Loading an attachment list field requires an additional SQL statement when a record is loaded. This SQL statement loads the information about the attachment, including its name, description, and size, but not the attachment itself. By skipping this additional SQL statement execution, the loading time for a record can be reduced.

However, this can result in the value of the attachment list field being inconsistent with the other content of the record. This can happen when one session has loaded the record, and then another session changes the attachment list field before the first session loads the field. The effect will be that the first session may see a new attachment that was not present when the record was first loaded. Or, an attachment may have been removed in another session and is no longer there. This situation can affect users viewing the record as well as hooks or scripts that work with attachments. For this reason, this feature is not automatically enabled.

If this potential inconsistency is not critical for either the schema behavior or for users viewing the record, then it may be worthwhile to enable this feature to get the performance benefit of deferred loading. The benefit of using this feature is dependent on how many attachment list fields are on a record type and the number of items in those attachment list fields.

Enabling deferred loading at the UI level, using the List View Query feature (technote #1976572), will achieve some of the same performance benefit, but will not have any issues with inconsistency with field values.

A master property must be set to enable deferred loading of attachment list fields in the core.

The master property is LAZY_LOAD_ATTACHMENT_LISTS. A value of "0" disables deferred loading. A value of "1" enables it. The setting applies to all user databases associated with a schema repository, and affects all attachment list fields on all record types of any schema used in those User Databases. There is no ability at this time to control applicability of this master property in a more granular manner.

To enable deferred loading of attachment list fields use this command:


installutil setmasterproperty <dbset_name> <cq_login> <cq_password> LAZY_LOAD_ATTACHMENT_LISTS "1"


To disable deferred loading of attachment list fields use this command:


installutil setmasterproperty <dbset_name> <cq_login> <cq_password> LAZY_LOAD_ATTACHMENT_LISTS "0"


Setting the value of the master property to an empty string, with "", will restore the default behavior, which is that deferred loading is disabled.

Note: The above LAZY_LOAD_ATTACHMENT_LISTS masterproperty settings will apply in future FixPacks, in the initial 9.0.0.0 eGA this property can be set only via schema properties. Technote #1632013 has a concrete example of setting schema properties using packageutil setproperty.

[{"Product":{"code":"SSSH5A","label":"Rational ClearQuest"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"General Information","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"9.0.0.0","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
02 July 2019

UID

swg21976841