From 03fe0954e42abf00746b8efa4c79ee74cf514427 Mon Sep 17 00:00:00 2001
From: ludovicp <ludovicp@localhost>
Date: Thu, 27 May 2010 15:10:50 +0000
Subject: [PATCH] Fix an issue with connection timeouts in CLI. The timeout is now configurable on CLI with the --connectTimeout option (expressed in milliseconds), the default is 30 000 milliseconds. This solves Issue 4196.
---
opends/src/server/org/opends/server/tools/LDAPCompare.java | 20 ++++++++++++++++++--
1 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/opends/src/server/org/opends/server/tools/LDAPCompare.java b/opends/src/server/org/opends/server/tools/LDAPCompare.java
index 414dc90..7fc1d41 100644
--- a/opends/src/server/org/opends/server/tools/LDAPCompare.java
+++ b/opends/src/server/org/opends/server/tools/LDAPCompare.java
@@ -22,9 +22,10 @@
* CDDL HEADER END
*
*
- * Copyright 2006-2009 Sun Microsystems, Inc.
+ * Copyright 2006-2010 Sun Microsystems, Inc.
*/
package org.opends.server.tools;
+import org.opends.admin.ads.util.ConnectionUtils;
import org.opends.messages.Message;
import java.io.BufferedReader;
@@ -63,6 +64,7 @@
import static org.opends.server.util.ServerConstants.*;
import static org.opends.server.util.StaticUtils.*;
import static org.opends.server.tools.ToolConstants.*;
+
import org.opends.server.controls.LDAPAssertionRequestControl;
@@ -380,6 +382,7 @@
StringArgument saslOptions = null;
StringArgument trustStorePath = null;
StringArgument trustStorePassword = null;
+ IntegerArgument connectTimeout = null;
BooleanArgument scriptFriendlyArgument = null;
StringArgument propertiesFileArgument = null;
BooleanArgument noPropertiesFileArgument = null;
@@ -593,6 +596,16 @@
version.setPropertyName(OPTION_LONG_PROTOCOL_VERSION);
argParser.addArgument(version);
+ int defaultTimeout = ConnectionUtils.getDefaultLDAPTimeout();
+ connectTimeout = new IntegerArgument(OPTION_LONG_CONNECT_TIMEOUT,
+ null, OPTION_LONG_CONNECT_TIMEOUT,
+ false, false, true, INFO_TIMEOUT_PLACEHOLDER.get(),
+ defaultTimeout, null,
+ true, 0, false, Integer.MAX_VALUE,
+ INFO_DESCRIPTION_CONNECTION_TIMEOUT.get());
+ connectTimeout.setPropertyName(OPTION_LONG_CONNECT_TIMEOUT);
+ argParser.addArgument(connectTimeout);
+
encodingStr = new StringArgument("encoding", 'i', "encoding",
false, false,
true, INFO_ENCODING_PLACEHOLDER.get(),
@@ -973,7 +986,10 @@
AtomicInteger nextMessageID = new AtomicInteger(1);
connection = new LDAPConnection(hostNameValue, portNumber,
connectionOptions, out, err);
- connection.connectToHost(bindDNValue, bindPasswordValue, nextMessageID);
+
+ int timeout = connectTimeout.getIntValue();
+ connection.connectToHost(bindDNValue, bindPasswordValue, nextMessageID,
+ timeout);
ldapCompare = new LDAPCompare(nextMessageID, out, err);
--
Gitblit v1.10.0