SYNTHETIC TIME - Summary / Fix

(Last modified: 10Sep2003)

This document (10013670) is provided subject to the disclaimer at the end of this document.

goal

SYNTHETIC TIME - Summary / Fix

fact

Novell NetWare 4.11

Novell NetWare 5.0

Novell NetWare 5.1

Novell Directory Services

Formerly TID 2921231

Formerly TID 2909011

symptom

Error:  "Synthetic time is being issued. . ."

cause

Various causes

fix

What is synthetic time?
Synthetic time is NDS's way of protecting the objects in a Directory Services/eDirectory tree from receiving future time stamps.

What causes synthetic time?
Synthetic time is issued when objects in the tree that have been time stamped with a future date and time.  This most often occurs when the time on a NetWare tree has been set to the future and then back again to the correct time.  Any change to the NDS database while time is set to the future will cause a future time stamp to be added to the object changed.  Changes include user login, password change, object creation, etc.  Any changes which take place in NDS/eDirectory will not only update the time stamp of the attribute (e.g. last login time), but also will update the partition time stamp. Synthetic time is issued when the partition time stamp is in the future as compared to the server time.

What happens during Synthetic time?
When synthetic time occurs, the partition time is frozen, and the only thing that changes is the event count portion of the time stamp. Every change that occurs requires a unique time stamp, and the event count will increment from 0 to FFFF as it issues out time stamps. When the event count runs out, the next second is used and the process repeats.

What should I do?
Synthetic time will not hurt the NDS/eDirectory system if the future time stamp is not too far ahead. To determine the future time stamp, please refer to "What if I don't know how for off my time was set?" below.  If time was set ahead on the system for one hour and then set back to the current time, NDS/eDirectory will issue synthetic time for one hour and then it will go away.  It is not necessary to do anything in this case.  It is possible to fix the error with DS Repair.  Repairing time stamps should only be used if time has been set far into the future (months or years) and it is not reasonable to wait for the problem to correct itself.

How do I fix synthetic time with DS Repair?
This should only be done if time was set far into the future and it is not reasonable to wait for the problem to correct itself.   Following these steps will cause the Master replica of the partition that synthetic time is issued upon to change all time stamps to current system time and change all other replicas in the replica ring to a "New Replica" state.  The Master replica will then send out the new data (with the corrected time stamps) to all other replicas.  This will generate a large amount of traffic if the partition is large or if there are a large number of servers in the replica ring.  If the replica ring is large, remove some of the servers from the replica ring with Partition Manager before proceeding.  Since all servers in the replica ring will simultaneously be attempting to receive all objects and transition to ON states, it is a good idea to have the replica ring as small as possible  3-5 replicas maximum, not including subordinate references.  Once the tree is healthy and the replica ring is sufficiently small, follow these steps.

Before beginning, load dsrepair -rc on all servers holding a copy of the partition issuing synthetic time. This will create a backup of the DS database.  

1.  Verify that time is correct and in sync (DSREPAIR | Time Synchronization Report).
2.  Verify the replica in question is synchronizing.
        ("All processed = Yes" from DSTRACE on all servers in the ring)
2.  Load DSREPAIR -A from any server in the replica ring.
3.  Choose "Advanced options menu".
4.  Choose "Replica and partition operations".
5.  Highlight the Partition indicating a synthetic time error and press Enter.
6.  Choose "Repair time stamps and declare a new epoch".  (NOTE: This option will not show if -a switch not used)
7.  Login as Admin or Equivalent.

EXTREME CAUTION should be used in executing this option.  A large amount of traffic is associated with "Repair time stamps and declare a new epoch", and the servers that share in the replica should all be able to communicate with each other.  (NO DSTRACE ERRORS!!!!)  Depending upon the tree design, and number of replicas, the operation could take a long time.  If at all possible, it is best to reduce the replica ring to a minimum amount of servers. Then place replicas back out on servers after this operation is completed.  Consider performing this operation during non-production hours or during low traffic times.

IMPORTANT NOTE:  Do NOT execute "Repair time stamps and declare a new epoch" on multiple partitions at the same time.  If multiple partitions have a synthetic time problem that needs this operation to resolve, be very careful to verify that the operation has completed before starting the operation on another partition.


What if I don't know how for off my time was set?
1.  Load DS Repair from any server in the replica ring.
2.  Choose "Advanced options menu".
3.  Choose "Replica and partition operations".
4.  Highlight the Partition indicating a synthetic time error and press Enter.
5.  Choose "Display replica information".

This will generate a log file.  At the top of the log file is a section titled "Partition Information and Servers in the Replica Ring."  There are several properties listed:

Replica Name:
Replica id:
Replica rootEntryID:
Replica replicaType:
Replica state:
Replica flags:
Time stamp:

The time stamp listed here will reference the latest time stamp in the NDS/eDirectory database.

Alternatively, a local DSREPAIR will show how far each replica is in the future.

NOTE: There was an issue with NetWare 5 being installed east of GMT, please read TID #10011030 - Synthetic Time in NetWare 5 When Booting for more details. DO NOT DECLARE A NEW EPOCH IN THIS CASE! This issue was fixed in a Support Pack release..

document

Document Title: SYNTHETIC TIME - Summary / Fix
Document ID: 10013670
Solution ID: 4.0.14774022.2262591
Creation Date: 05Aug1999
Modified Date: 10Sep2003
Novell Product Class:NetWare
Novell eDirectory

disclaimer

The Origin of this information may be internal or external to Novell. Novell makes all reasonable efforts to verify this information. However, the information provided in this document is for your information only. Novell makes no explicit or implied claims to the validity of this information.
Any trademarks referenced in this document are the property of their respective owners. Consult your product manuals for complete trademark information.