Environments that use commitment control may find that, in some conditions, a request to run the #MBRRCDCNT audit or the Compare Record Count (CMPRCDCNT) command can be extremely long-running. This is possible in environments that use commitment control with long-running commit transactions that include large numbers (tens of thousands) of record operations within one transaction. In such an environment, the compare request can be long running when the number of members to be compared is very large and there are uncommitted changes present at the time of the request.
The Set MIMIX Policies (SETMMXPCY) command includes the policy CMPRCDCNT commit threshold policy (CMPRCDCMT parameter) that provides the ability to specify a threshold at which requests to compare record counts will no longer perform the comparison due to commit cycle activity on the source system.
The shipped default values for this policy (CMPRCDCMT parameter) permit record count comparison requests without regard to commit cycle activity on the source system. These policy default values are suitable for environments that do not have the commitment control environment indicated, or that can tolerate a long-running comparison.
If your environment cannot tolerate a long-running request, you can specify a numeric value for the CMPRCDCMT parameter for either the MIMIX installation or for a specific data group. This will change the behavior of MIMIX by affecting what is compared, and can improve performance of #MBRRCDCNT and CMPRCDCNT requests.
A numeric value for the CMPRCDCMT parameter defines the maximum number of uncommitted record operations that can exist for files waiting to be applied in an apply session at the time a compare record count request is invoked. The number specified must be representative of the number of uncommitted record operations.
When a numeric value is specified, MIMIX recognizes whether the number of uncommitted record operations for an apply session exceeds the threshold at the time a compare request is invoked. If an apply session has not reached the threshold, the comparison is performed. If the threshold is exceeded, MIMIX will not attempt to compare members from that apply session. Instead, the results will display the *CMT value for the difference indicator, indicating that commit cycle activity on the source system prevented active processing from comparing counts of current records and deleted records in the selected member.
Each database apply session is evaluated against the threshold independently. As a result, it is possible for record counts to be compared for files in one apply session but not be compared in another apply session, as illustrated in the following example.
Example: This example shows the result of setting the policy for a data group to a value of 10,000.Table 47 shows the files replicated by each of the apply sessions used by the data group and the result of comparison. Because of the number of uncommitted record operations present at the time of the request, files processed by apply sessions A and C are not compared.
Apply Session |
Files |
Uncommitted Record Operation |
Result |
|
---|---|---|---|---|
Per File | Apply Session Total | |||
A |
A01 A02 |
11,000 0 |
> 10,000 |
Not compared, *CMT Not compared, *CMT |
B |
B01 B02 |
5,000 0 |
< 10,000 |
Compared Compared |
C |
C01 C02 |
7,000 6,000 |
> 10,000 |
Not compared, *CMT Not compared, *CMT |
D |
D01 D02 |
50 500 |
< 10,000 |
Compared Compared |