WANdisco
Download Call me Whitepaper
 
 

7 Troubleshooting

Here are common gotchas and their solutions:

  1. How do I know Replicator is replicating anything?

    Look for the following pattern in the logs/ProxyServer*.log.* to know if the replicator even got the write or commit changes:

    ...
    INFO:  [reader-2] Submitted after verification: cvs-proposal-2f195a4b-dea9-11d9-b140-00065b193ef5_4
    1118955513564 org.nirala.communication.transport.cvsproxy.CVSProposal output
    INFO:  [gsn-1] Executing cvs-proposal-2f195a4b-dea9-11d9-b140-00065b193ef5_4
    1118955513575 org.nirala.communication.transport.cvsproxy.CVSProposal onCommit
    INFO:  [reader-1] Committed CVS transaction cvs-proposal-2f195a4b-dea9-11d9-b140-00065b193ef5_4
    ...
    
    If you don't see a Submitted line in the log file, the CVS write operation never made it the the WANdisco CVS Replicator and hence can't be replicated. On completing a write or a commit operation, the WANdisco CVS Replicator will print a Committed line in the log file.

  2. I don't see any Submitted lines in the log file after doing commits

    Most common reason for this is incorrectly setup CVSROOT. For example if the CVSROOT environment variable is setup as /home/cvs then the CVS client will directly modify the repository using the local access protocol.

    The CVSROOT environment variable needs to be setup as:

    $ setenv CVSROOT :pserver:<cvs-user>@<replicator-host>:<replicator-port>/<cvsroot-directory>
    

    If the replicator is running on port 2401 then replicator-port setting can be skipped on non-localhost machines. If the replicator and CVS server are co-located, you need to specify the port when running on the CVS server host. See the Official CVS administration guide

  3. I messed up and directly committed to CVS, how do I re-sync?

    Reset: If you bypassed the replicator you can reset the replicator state by using the following sequence of steps:

    • Delete each replicator's journal:
      $ cvs-replicator/bin/reset
      
    • If this happened during initial setup/evaluation stage, delete old project in CVS and create a new one.
    • If this happened on a production repository, just re-sync all the repositories to the same state
    • Restart all the replicators Please ensure you take all precautions to avoid directly checking in/committing to the backend CVS repository.

  4. The dashboard reports one or more problem transactions at one or more sites

    When a CVS transaction repeatedly encounters a fatal error, the WANdisco CVS Replicator switches to read-only mode. This event triggers a protocol to determine whether the CVS transaction failed at all sites.

    If the CVS transaction failed at all sites, the WANdisco CVS Replicator will identify the transaction as bypassable. The administrator can confirm that all repositories are in sync (this check ensures that the repositories will not go out of sync even if a CVS bug causes the failed transaction to affect the state of the repository) and then allow the WANdisco CVS Replicator to bypass the transaction. The WANdisco CVS Replicator will then bypass the transaction at all nodes.

    To automatically bypass the transaction without the need for the administrator's approval, set the following preference in config/prefs.xml:

      <CVSProxy>
        <AutoBypassGlobalFailures>true</AutoBypassGlobalFailures>
      </CVSProxy>
    
    If you choose to do this, note the above caveat regarding the consequences of CVS bugs.

    However, if the CVS transaction failed at some sites but not at others, the WANdisco CVS Replicator can not bypass the transaction, since that would cause the repositories to be out of sync. These transactions are listed on the dashboard as problem transactions.

    The cause of the fatal error can be determined from the log files. After addressing the cause, (for example, if a disk-full error was encountered, add more disk) restart the WANdisco CVS Replicator. Finally, verify from the dashboard that there are no outstanding problem transactions.

  5. Replicator shutdown with an out of sync message and aborted an executing transaction

    If you are using the watchdog mode, WANdisco CVS Replicator will automatically restart and attempt to commit the aborted transaction. If the abort is because of repository going out of sync (some one accidentally committed directly to CVS bypassing the replicator) you may have to do a reset as outlined in previous answer.

  6. How do I find out the last committed transaction at each replicator?

    Using the web administration interface (http://replicator-host:dconeNet-port) click on the Global Sequence link.

  7. What information should I send when contacting WANdisco support?

    Before opening a ticket or submitting a new issue, always search the Knowledgebase on [http://support.wandisco.com]. When submitting an issue, please run the cvs-replicator/bin/talkback at each WANdisco CVS Replicator site and upload the generated tar ball.

    If you can not run the talkback tool, send us the current logs files in logs/Proxy*.log at each site and the configuration files (prefs.xml and /etc/prefs.conf). We may request you to gather more information using the WANdisco CVS Replicator web administration interface if needed.