Sun Java System Directory Server Enterprise Edition 6.2 Troubleshooting Guide

Collecting Data About a Replication Halt or Replication Divergence

This section describes how to collect information to help you troubleshoot a replication halt or replication divergence.

Collecting 6.x Error and Change Logs

Collect errors logs from the consumer that is not getting the changes as well as the supplier of this consumer. By default, the errors logs are located in the following directory:


install-path/logs/errors

If the errors log is not in the default location, find the path to the log using the dsconf command as follows:


# dsconf get-log-prop -h host -p port ERROR path

The errors log must have the replication logging level enabled. You can use the DSCC to enable the replication logging level or enable it using the command line as follows:


# dsconf set-log-prop -h host -p port ERROR level:err-replication

You should also provide a listing of the supplier's change log , which is located in the same directory as the database. To find the path to your database, use the dsconf command as follows:


# dsconf get-suffix-prop -h host -p port suffix-dn db-path

Use the following command to provide a listing of the supplier's change log directory:


# ls -la /db-path/c15*

Collecting 5.x Errors and Change Logs

The errors log in 5.x and earlier versions of Directory Server are located in the following directory:


install-path/slapd-serverID/logs/errors

If the error log file is not in the default location, examine the Directory Server configuration file, install-path/slapd-serverID/config/dse.ldif, to find the path to the logs. The path is specified as the value of the nsslapd-errorlog attribute.

Provide a listing of the supplier's change log directory as follows:


# ls -la changelog-dir

If the change log file is not in the default location, examine the Directory Server configuration file, install-path/slapd-serverID/config/dse.ldif, to find the path to the logs. The path is specified as the value of the nsslapd-changelogdir attribute.

Collecting Data Using the insync and repldisc Commands

Use the output of the insync and repldisc commands to help troubleshoot your replication divergence.

The insync command indicates the state of synchronization between a master replica and one or more consumer replicas and can help you identify bottlenecks. If you are troubleshooting a problem with replication divergence, this data must be periodic. For more information, see Using the insync Command.

If you identify a bottleneck using the insync command, for example a bottleneck that results from an increasing delay as reported by the tool, it is helpful to start collecting nsds50ruv and ds6ruv attribute data. This data can help you identify when and where the potential halt is taking place. For more information about the nsds50ruv and ds6ruv attributes, see About Replica Update Vectors (RUVs).

The repldisc command displays the replication topology, building a graph of all known replicas, then showing the results as a matrix. For more information, see Using the repldisc Command.

Collecting Information About the Network and Disk Usage

Try to determine if the replication halt is network related using the netstat command on both the consumer and supplier as follows:


# netstat -an | grep port

A replication halt may be the result of the network if a consumer is not receiving information despite the fact that access logs show that the supplier is sending updates. Running the ping and traceroute commands can also help you determine if network latency is responsible for the problem.

Collect swap information to see if you are running out of memory. Memory may be your problem if the output of the swap command is small.

Solaris 

swap -l

HP-UX 

swapinfo

Linux 

free

Windows 

Already provided in C:\report.txt

Try to determine if the disk controllers are fully loaded and if input/output is the cause of your replication problems. To determine if your problem is disk related, use the iostat tool as follows:


# iostat -xnMCz -T d 10

The iostat command iteratively reports terminal, disk, and tape input/output activity and can be helpful in determining if a replication divergence event results from a saturated disk on the consumer side.