From 2973e1ec450dcfd99e193176ddbe25eafc652e17 Mon Sep 17 00:00:00 2001
From: lutoff <lutoff@localhost>
Date: Wed, 05 Nov 2008 10:06:27 +0000
Subject: [PATCH] Fix for issue #3544 (upgrade fails during verification of replication)

---
 opends/src/server/org/opends/server/core/DirectoryServer.java |   23 +++++++++++++++++++----
 1 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/opends/src/server/org/opends/server/core/DirectoryServer.java b/opends/src/server/org/opends/server/core/DirectoryServer.java
index 5d5c9ff..6f5b117 100644
--- a/opends/src/server/org/opends/server/core/DirectoryServer.java
+++ b/opends/src/server/org/opends/server/core/DirectoryServer.java
@@ -26,6 +26,7 @@
  */
 package org.opends.server.core;
 
+import org.opends.server.admin.AdministrationDataSync;
 import org.opends.server.admin.ClassLoaderProvider;
 import org.opends.server.admin.server.ServerManagementContext;
 import org.opends.server.admin.std.meta.GlobalCfgDefn.WorkflowConfigurationMode;
@@ -1448,9 +1449,14 @@
 
 
       // Initialize any synchronization providers that may be defined.
-      synchronizationProviderConfigManager =
-           new SynchronizationProviderConfigManager();
-      synchronizationProviderConfigManager.initializeSynchronizationProviders();
+      if (!environmentConfig.disableSynchronization())
+      {
+        synchronizationProviderConfigManager =
+          new SynchronizationProviderConfigManager();
+        synchronizationProviderConfigManager
+            .initializeSynchronizationProviders();
+      }
+
 
 
       // Create and initialize the work queue.
@@ -1495,7 +1501,16 @@
       sendAlertNotification(this, ALERT_TYPE_SERVER_STARTED, message);
 
       // Force the root connection to be initialized.
-      InternalClientConnection.getRootConnection();
+      InternalClientConnection rootConnection =
+        InternalClientConnection.getRootConnection();
+
+      // Determine whether or not we should synchronized admin data.
+      if (! environmentConfig.disableAdminDataSynchronization())
+      {
+        AdministrationDataSync admDataSync = new AdministrationDataSync(
+            rootConnection);
+        admDataSync.synchronize();
+      }
 
       // If a server.starting file exists, then remove it.
       File serverStartingFile =

--
Gitblit v1.10.0