From 48e7fa056f25f90a6c046ede3ad12aa804edb4d4 Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Thu, 14 Feb 2008 15:36:19 +0000
Subject: [PATCH] Fix for issue 2958 (The timeout in ServerController to establish connection is too short)

---
 opends/src/quicksetup/org/opends/quicksetup/util/ServerController.java          |    7 +++++--
 opends/src/ads/org/opends/admin/ads/TopologyCache.java                          |    2 +-
 opends/src/guitools/org/opends/guitools/replicationcli/ReplicationCliMain.java  |   13 +++++++++++++
 opends/src/guitools/org/opends/guitools/uninstaller/Uninstaller.java            |    1 +
 opends/src/quicksetup/org/opends/quicksetup/util/InProcessServerController.java |    2 +-
 5 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/opends/src/ads/org/opends/admin/ads/TopologyCache.java b/opends/src/ads/org/opends/admin/ads/TopologyCache.java
index 699df3a..8a9ef30 100644
--- a/opends/src/ads/org/opends/admin/ads/TopologyCache.java
+++ b/opends/src/ads/org/opends/admin/ads/TopologyCache.java
@@ -59,7 +59,7 @@
   private Set<SuffixDescriptor> suffixes = new HashSet<SuffixDescriptor>();
 
   private final boolean isMultiThreaded = true;
-  private final static int MULTITHREAD_TIMEOUT = 30000;
+  private final static int MULTITHREAD_TIMEOUT = 90 * 1000;
 
   private static final Logger LOG =
     Logger.getLogger(TopologyCache.class.getName());
diff --git a/opends/src/guitools/org/opends/guitools/replicationcli/ReplicationCliMain.java b/opends/src/guitools/org/opends/guitools/replicationcli/ReplicationCliMain.java
index 15675e6..fe04f20 100644
--- a/opends/src/guitools/org/opends/guitools/replicationcli/ReplicationCliMain.java
+++ b/opends/src/guitools/org/opends/guitools/replicationcli/ReplicationCliMain.java
@@ -335,6 +335,7 @@
       }
       if (returnValue == SUCCESSFUL_NOP)
       {
+        boolean subcommandLaunched = true;
         if (argParser.isEnableReplicationSubcommand())
         {
           returnValue = enableReplication();
@@ -368,6 +369,18 @@
           println(ERR_REPLICATION_VALID_SUBCOMMAND_NOT_FOUND.get());
           println(Message.raw(argParser.getUsage()));
           returnValue = ERROR_USER_DATA;
+          subcommandLaunched = false;
+        }
+
+        if (subcommandLaunched)
+        {
+          File logFile = QuickSetupLog.getLogFile();
+          if (logFile != null)
+          {
+            println();
+            println(INFO_GENERAL_SEE_FOR_DETAILS.get(logFile.getPath()));
+            println();
+          }
         }
       }
     }
diff --git a/opends/src/guitools/org/opends/guitools/uninstaller/Uninstaller.java b/opends/src/guitools/org/opends/guitools/uninstaller/Uninstaller.java
index 32a7789..c19a7a9 100644
--- a/opends/src/guitools/org/opends/guitools/uninstaller/Uninstaller.java
+++ b/opends/src/guitools/org/opends/guitools/uninstaller/Uninstaller.java
@@ -1383,6 +1383,7 @@
             ReturnCode.WINDOWS_SERVICE_ERROR,
                 errorMessage, null);
     }
+    notifyListeners(getLineBreak());
   }
 
   private UninstallUserData getUninstallUserData() {
diff --git a/opends/src/quicksetup/org/opends/quicksetup/util/InProcessServerController.java b/opends/src/quicksetup/org/opends/quicksetup/util/InProcessServerController.java
index 4c1ccfe..312e090 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/util/InProcessServerController.java
+++ b/opends/src/quicksetup/org/opends/quicksetup/util/InProcessServerController.java
@@ -355,7 +355,7 @@
       // seems necessary currenty for the case in which shutdown
       // is called immediately afterward as is done by the upgrader.
 
-      // Connection handlers are stopped and started asynchonously.
+      // Connection handlers are stopped and started asynchronously.
       // Give the connection handlers time to initialize before
       // continuing.
 
diff --git a/opends/src/quicksetup/org/opends/quicksetup/util/ServerController.java b/opends/src/quicksetup/org/opends/quicksetup/util/ServerController.java
index 8fa9188..d4cc645 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/util/ServerController.java
+++ b/opends/src/quicksetup/org/opends/quicksetup/util/ServerController.java
@@ -27,6 +27,7 @@
 
 package org.opends.quicksetup.util;
 
+import org.opends.admin.ads.util.ConnectionUtils;
 import org.opends.messages.Message;
 import org.opends.messages.MessageBuilder;
 import static org.opends.messages.QuickSetupMessages.*;
@@ -418,17 +419,19 @@
           }
 
           InitialLdapContext ctx = null;
-          for (int i=0; i<10 && !connected; i++)
+          for (int i=0; i<20 && !connected; i++)
           {
             try
             {
               ctx = Utils.createLdapContext(
                   ldapUrl,
-                  userDn, userPw, 3000, null);
+                  userDn, userPw, ConnectionUtils.getDefaultLDAPTimeout(),
+                  null);
               connected = true;
             }
             catch (NamingException ne)
             {
+              LOG.log(Level.WARNING, "Could not connect to server: "+ne, ne);
             }
             finally
             {

--
Gitblit v1.10.0