The master TSN is stored in the Log Area (LXX). When the Log Area is initialized, the TSN number is set either to zero or to a value specified by the user. A false wait condition can possibly occur when the Log Area is initialized with a lower TSN number than currently exists in the existing rows. To prevent this, assign a larger TSN number when initializing a Log Area. If TSN numbers are reused, the false wait condition occurs because a new transaction could possibly wait on another executing transaction that has the same number as an already committed transaction. This involves a short wait on the wrong transaction and is only a minor concern. It is not an integrity concern.
Resetting the TSN is desirable because the previously described error condition, involving the possibility of having duplicate TSNs, can produce a large overhead when running as part of a MUFplex. This only occurs and is a concern if the Log Area was initialized with a lower TSN than has been assigned. It is also possible if the TSN number ’wraps’ going from 4 billion less one to 1, a very rare occurrence.
Resetting the TSN requests that the MUF zero every row TSN in the specified database and area that is committed. This includes multi-block reads of every block in the area. Every block with a row is written with multi-block writes or single block writes.
One normal condition could occur where a reset of the TSN should be used for all areas. When you are running a MUFplex, if the TSN number wraps from four billion back to one, the code then continues to execute properly but in wrap mode. This continues for the next 16 million transactions, which is typically a very long time. Before that situation occurs, it is best to reset the TSN for all the areas.
In addition to resetting the TSN, this form of RETIX can report the highest URI in the data area and reset the high URI value as stored and reported in the CSS if the current value is too low. MUF execution is optimized in full MUFPLEX with two MUFs enabled and running together.
Example
The following show the report that is currently generated:
RETIX AREA=A01,DBID=0997,KEYNAME=*RTSN
* DBID 997 AREA A01 REQUEST COMPLETE ALL TSN'S RESET: YES
Values for ALL TSN's RESET are:
The report is not changed if the following conditions apply:
If the new solution is applied to both the MUF and DBUTLTY, there are two cases when the report is enhanced.
Normal Case
The area had no row with a URI higher than the area high URI. The highest row URI is printed with the area high URI and a message that the high URI is unchanged.
Note: The high row URI may be less than the high area URI if the highest row URI values are for rows that have been deleted and those deletes have had the space reclaimed for new/moved rows.
* DBID 997 AREA A01 REQUEST COMPLETE
ALL TSN'S RESET: NO HIGH ROW URI: X'000001F4' HIGH URI: X'000001F4' HIGH URI UNCHANGED
High URI
The second case is when the error exists that a row URI is higher than the area high URI and the area high URI is incremented to correct a defect. The following report shows that the new high URI as set.
Note: The new high URI as set is currently ‘rounded’ up (if needed) to a hexadecimal value ending with the last 10 bits set on.
* DBID 997 AREA A01 REQUEST COMPLETE
ALL TSN'S RESET: YES HIGH ROW URI: X'000001F4' HIGH URI: X'000000FF' HIGH URI SET X'000003FF'
|
Copyright © 2015 CA Technologies.
All rights reserved.
|
|