From b98fbe1abd393fd3a57df11ccd543be87df15c1d Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 12 Jan 2016 13:27:00 +0000
Subject: [PATCH] OPENDJ-1019 modrate/searchrate should validate bind parameters before launching perf test
---
opendj-sdk/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/PerformanceRunner.java | 14 +++++++++++---
1 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/opendj-sdk/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/PerformanceRunner.java b/opendj-sdk/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/PerformanceRunner.java
index 6d7c17b..c857085 100644
--- a/opendj-sdk/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/PerformanceRunner.java
+++ b/opendj-sdk/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/PerformanceRunner.java
@@ -22,7 +22,7 @@
*
*
* Copyright 2010 Sun Microsystems, Inc.
- * Portions Copyright 2011-2015 ForgeRock AS.
+ * Portions Copyright 2011-2016 ForgeRock AS.
*/
package com.forgerock.opendj.ldap.tools;
@@ -882,12 +882,14 @@
final int run(final ConnectionFactory connectionFactory) {
final List<Connection> connections = new ArrayList<>();
- Connection connection = null;
try {
+ validateCanConnectToServer(connectionFactory);
+
isWarmingUp = warmUpDuration > 0;
for (int i = 0; i < numConnections; i++) {
+ Connection connection = null;
if (keepConnectionsOpen.isPresent() || noRebindArgument.isPresent()) {
- connection = connectionFactory.getConnectionAsync().getOrThrow();
+ connection = connectionFactory.getConnection();
connection.addConnectionEventListener(this);
connections.add(connection);
}
@@ -930,6 +932,12 @@
return 0;
}
+ private void validateCanConnectToServer(ConnectionFactory connectionFactory) throws LdapException {
+ try (Connection c = connectionFactory.getConnection()) {
+ // detects wrong bind parameters, server unreachable (server down, network problem?), etc.
+ }
+ }
+
void setBindRequest(final BindRequest request) {
this.bindRequest = request;
}
--
Gitblit v1.10.0