ESDSRBAVALIDATE
The ESDSRBAVALIDATE configuration parameter enables you to control how Data Replication for VSAM validates the RBA of a new record that is being written (inserted) to a target ESDS file.
Description
VSAM Replication validates RBAs when replicating an inserted record to limit the possibility that the target ESDS record receives a different RBA value from the source version of the same record. The RBA value of an ESDS record represents its key, and a mismatch might mean that the source and target ESDS need to be resynchronized. The goal of ESDS RBA validation is to avoid RBA corruption in the target ESDS file by enabling Data Replication for VSAM to detect a problem before performing the physical write because ESDS files do not allow deletes. This process is referred to as the "pre-write check" in ESDS considerations.
There is one validation option for each target server and it impacts ESDS inserts done through that target server. If multiple behaviors are needed then multiple target servers must be deployed.
Under the default behavior (ESDSRBAVALIDATE=1), writers use the target file to verify the first insert that is processed for each ESDS (that is, STARTBR, READPREV with high-values, ENDBR). From that point forward, ESDS inserts (that is, record 2 through n) for the file are applied without checking the target ESDS high-RBA if the source log record matches what Data Replication for VSAM is tracking in memory as the next target file RBA. The next target file RBA is the RBA that is returned from the last insert (write) plus the last insert (write) record length. An allowance is made for when the next RBA moves to the beginning of the next CI. In case of a discrepancy, the target file's high-RBA value is checked again and the insert is allowed if the target RBA matches the source log record. The primary goal of this behavior is to reduce the file control activity that is necessary to validate ESDS RBA values. However, there is more risk that an insert might be replicated that could receive an incorrect RBA. This situation is detected, but would require resynchronization of the source and target ESDS.
The alternate behavior (ESDSRBAVALIDATE=0) causes each CICS writer task that processes a replicated insert to determine the last record that is currently in the target ESDS file. This process involves browsing the last record of the file to obtain its RBA and length. This information is used to calculate the next RBA; if that RBA matches the source RBA, the write is allowed to proceed. Otherwise, under standard apply processing, replication fails rather than writing the record with an incorrect RBA value.
You must stop replication for each subscription and restart replication to activate a change in this value. You can also restart the target server address space after making a change.
Specifications
Use: Configuration parameter for the apply service
Service class: APLY
Task name: CECAPLY
Data type: INT
Default: 1
Valid values:
- 0
- Obtain and use the target file's high-RBA for each insert to validate the RBA.
- 1
- Validate the first insert against the target file's high-RBA and then use in-memory tracking.