OpenTP1 Version 7 Operation

[Contents][Index][Back][Next]

3.13.4 Notes on changing the time

OpenTP1 stores date and time information in status files, journal files, and checkpoint dump files. OpenTP1 uses the information at restart. OpenTP1 also stores date and time information in work files such as trace files, and uses the information during various types of checking. Therefore, if the time information is changed while OpenTP1 is starting, stopping, or is online, problems occur.

In OpenTP1, when changing the time, we recommend that you do not make large time adjustments at one time. Rather, we recommend that you increase or decrease the time in a series of small increments (for example, by using the adjtime() system call).

Organization of this subsection
(1) Advancing the time
(2) Setting back the time

(1) Advancing the time

If the OpenTP1 daemons are inactive for a specified length of time, the internal checks performed by the OpenTP1 system will detect a timeout and the OpenTP1 system will go down. Therefore, if you advance the system time, OpenTP1 may incorrectly assume that a timeout has occurred and go down. Do not advance the time in units equal to or greater than seconds while OpenTP1 is starting, stopping, or is online. If you need to advance the time for some tests, stop OpenTP1 and then change the time.

You can advance the time while OpenTP1 is online if the increment is equal to or less than 100 milliseconds. However, in this case, statistics may be displayed incorrectly or the time display of trace information may become invalid.

(2) Setting back the time

When you set back the time, the operation is not guaranteed since restart may fail, transactions may be recovered incorrectly, or an invalid system wait may occur. Therefore, do not forcibly set back the time while OpenTP1 is starting, stopping, or online. If you slow the time, files with a more advanced time than the system time remain in the OpenTP1 system, causing the system to fail in switching trace files for wraparound operation. If you need to set the time back to perform a test of some kind, use the dcstop command to stop OpenTP1 temporarily.

After changing the time, wait until the system time is later than when you stopped OpenTP1 before you start it again. If you do not wish to wait, use the dcsetup command with the -d option specified to delete OpenTP1 from your system, and then rebuild the system including re-creating the OpenTP1 file system.