
One of the challenges for all High Availability products is what to do when a journalled objects goes out of sync. Not that it should happen too often but once it has you need to be able to re-sync the object between the systems as effectively as possible. When RAP first appeared we relied on manual intervention to allow the re-sync process to occur, this was because we needed to ensure the timing of the re-sync fell during a period with no user activity, plus a receiver change had to occur at the right time to ensure any entries pre-save were not applied after the restore of the new object occurred.
One of our customers found a way of carrying this out during low activity by forcing a lock of the object while he carried out the save and restore process and changing the receivers in the appropriate place. We took that a step further and by using a journal entry allowed the sync process to take place without consideration for the receiver changes, we still locked the object for the entire replication time but at least it could be automated (You could submit the request through a job schedule entry at any time of the day). This satisfied most customers as they could schedule the request overnight and come back in the morning to ensure the process had worked as required, but a couple of customers requested additional functionality, they want to be allowed to submit the request from the target system based on the status screens. This meant we had to add the ability to submit a job from the target back to the source plus they wanted to be able to control when the synchronization would occur. The solution while simple is pretty elegant, we created a process that used a specific job queue on the source system and used job schedule entries to hold and release the job queue at specific times of the day. Now the customer can select all of the objects in error and they are submitted to the job queue on the source. Those objects which could be processed during the times the job queue is in a released state will sync and correctly restore at the correct place in the journal apply process. If a request is running it will run to completion, so we had to ensure the time periods took this into account, but the chance of lock contention between the sync process and user applications which required locks on the objects was significantly reduced.
As usual this was not enough, one of our customers had a problem with the speed of the link between the source and target system, sync’ing a 16GB file over a 2 MB link would interfere with the application due to the time it took to pass the object between the systems, they needed something which would reduce the lock time while still ensuring the sync-point could be correctly managed by the apply process. The solution was to move the sync-point management from the sending process to the apply process, we needed to make sure the apply would not process a receiver with journal sync points until the required objects existed on the target system. This resulted in a new process that we have called the SYNCMGR, it handles all of the sync process between the systems while ensuring the data is in the right place at the right time to allow timely recovery. We only lock the object for the time it takes to make the save, after that the object is open and available for application updates and HA4i manages the sync point processing between the systems. New interfaces and commands are provided to access the functionality required to automate the release and hold of the sync process in the same manner as the old job queue process, only this time its a lot more effective.
HA4i continues to grow and we are adding new functionality all the time, a new PTF which we hope to release in the next few weeks will bring all of this and other new features to the product. The next big release is also on the cards with a new apply process that removes the APYJRNCHG process and replaces it with our own apply process. While we have been happy with the functionality of the APYJRNCHG command that are times when IBM’s reluctance to make changes can stifle progress. Adding our own apply process will allow the customer to decide on the best approach for their environment, either the APYJRNCHG process or our own. We think that will allow us to be more flexible than our competitors.
The product is proving itself in many challenging environments and we make changes quickly to resolve any perceived or real roadblocks to having a true High Availability solution for the clients. Our pricing structure and low overhead allows us to complete very effectively with our competitors and we are seeing a number of replacement opportunities cropping up. If you are fed up with paying to much or want to investigate what your options are give us a call and we will be happy to discuss the product and what it can offer your company.
Chris…




