Using the association batch feature

The environment variable CQCC_ASSOC_BATCH_ENABLE reduces the number of Rational® ClearQuest® logins and queries performed for batches of files. The following values control the batch feature:

AUTOFLUSH
Causes batches to be processed for each file in a defined series instead of waiting for the end of the series.
FALSE
Disables the association batch feature. Performs each transaction by establishing a new connection to the Rational ClearQuest user database, completing processing the single transaction, and closing the connection.
TRUE
Enables the association batch feature and reduces the amount of overhead processing. Performs one Rational ClearQuest login, establishes a new connection to the Rational ClearQuest user database, processes multiple transactions in a series, and closes the connection at the end of the series.

This reduction is done by writing Rational ClearQuest transactions to a log file (.cqcc_assoc_batch) that is stored in the developer home directory (on Linux® and the UNIX® system) or in the application data directory (on the Windows® system). When the batch completes, the transaction log file is read back and all the necessary Rational ClearQuest changes are made at the same time. The association batch feature improves performance in many cases.

The log is automatically processed at the end of each single operation or at the end of a batch operation. A batch is defined either as a set of files used in one DevOps Code ClearCase® operation, for example, a multiple-checkout, or as you use the CQCC_ASSOC_BATCH_SERIES environment variable to define a batch.

If posting the log file fails, resolve the problem (for example, a login failure) and try again by either doing another DevOps Code ClearCase operation or forcing the log to be processed (see Handling an incomplete posting). The log file can be rerun without causing duplications and is automatically renamed and moved aside when the posting process succeeds.

If your site uses the CQCC_POSTCHECKIN_COMMIT configuration parameter, then any failed checkins are not written to the log for processing.

If you currently have the association batch feature enabled, you can gradually stop using batch processing by specifying AUTOFLUSH. Batches are processed for each file in a defined series instead of waiting for the end of the series. Although each file is processed individually to completion, the pending transaction is saved locally to a log file until the transaction successfully completes. If the transaction fails, it is retried with the next Rational ClearQuest operation based on the locally stored information. The performance benefit of batch processing is lost, but reliability is maintained. If you instead disable batch processing suddenly (specify FALSE for CQCC_ASSOC_BATCH_ENABLE) after using it as a standard practice, you could leave unposted transactions in a locally stored batch log.

Use the value TRUE to enable the reduction. For example:

set CQCC_ASSOC_BATCH_ENABLE=TRUE

Use the value AUTOFLUSH to cause each file to be processed individually. For example:

set CQCC_ASSOC_BATCH_ENABLE=AUTOFLUSH

Handling an incomplete posting

The association batch feature depends on the integration being called at the end of a batch to process the log, usually after the last checkout or checkin completes. If this last event is missed, for example, the last checkin failed because the file was identical, the log is not processed and the Rational ClearQuest operations are not posted. The data is not lost and is posted on the next successful DevOps Code ClearCase operation that can begin processing the log. But the log may stay in the stored location for some time before the processing starts.

Force the log to be processed by using the following command from a command shell in the original VOB context:

cqcc_launch -vob -op batch

The batch operation processes any transactions that are in the log.