Replication File Checker
As more and more customers are using U2 Replication, they have inquired about how to ensure that subscribers are synchronized with publishers and not missing any updates.
It is imperative for customers to have trust in the accuracy of the subscriber's database copy to rely on it
- in the event of a failover
- for business reporting continuity
Currently customers must use a combination of administrative tasks including.
- Checking the logs for any lost, missed, or cancelled updates.
- Using the exception action trigger slot.
- Using the support developed and maintained exception action scripts and monitor phantoms from the knowledge base.
- The Rocket MultiValue Performance Experience (MVX: Performance) as this does provide more information about Replication
Historically customers have relied on the traffic lights in the XAdmin tool to determine if the publisher and subscriber are in sync.
While this utility is powerful and simple to use, customers should also be using the exception action scripts and monitor phantoms from the Rocket Customer Portal knowledge base.
We have developed this tool to operate in a publishing and subscribing architecture utilizing U2 Replication. The tool relies on socket communications between the two servers to detect, report, and if necessary, address discrepancies it identifies between a published and subscribed file.
- The network traffic between the two systems is kept to a minimum as actual checking of each record in a file is done via a checksum that is calculated by both the publisher and subscriber to determine any differences.
- The utility works on all current GA versions of UniVerse and UniData. The utility should work on earlier versions of UniVerse and UniData that support U2 Replication, but we have not fully tested on older releases.
- The utility does not apply any READU or READL locks so will not introduce any unwanted record locking interactions with your application software.
- Multiple copies of the utility run simultaneously (using different socket ports) to speed up the checking time of multiple files.
- The subscribed files can be EDA mapped.
At a high-level, here is a breakdown of what the utility does:
- The utility performs an initial check to see if a ‘traditional’ one publisher to one subscriber is being used and will allow the auto setting of the publisher and subscriber relationships based upon that check.
- The publisher will attempt to connect to the subscriber, read each record in turn, and pass a checksum of the record to the subscriber. The subscriber then performs a checksum comparison; the utility will report any differences or errors to the screen and to the report stored on the subscriber.
- The publisher and subscriber will both report a summary of files and records checked along with any differences found at the end of their processing.
- The first phase of the checking compares the publisher to subscriber contents. When this is completed a second phase, using a phantom process on the subscriber, is spawned, to check for records that exist on the subscriber but not on the publisher. When this phase completes the report details on the subscriber are complete and the report will be annotated to that effect.
- The subscriber process will timeout after five minutes of no publisher connecting to it.
(Note: If the utility program is executed as a phantom to run it as a background or scheduled task, the phantom will be escalated to an iphantom and will consume a database license as it uses our socket interface).
The initial release version of the utility is 2.5. For more information, please log into the Rocket Community Portal (RCP) and visit https://my.rocketsoftware.com/RocketCommunity/s/article/U2-Replication-File-Checker. You’ll find the link to download the Replication File Checker utility on the same page as the knowledge base article; look on the right side of the page under the blue ‘Related files’ banner.