[rhq] Branch 'release/jon3.1.x' - modules/enterprise
mazz
mazz at fedoraproject.org
Fri Aug 3 14:37:07 UTC 2012
modules/enterprise/agent/src/main/java/org/rhq/enterprise/agent/AgentMain.java | 32 +++++++---
modules/enterprise/agent/src/main/resources/agent-configuration.xml | 5 -
2 files changed, 27 insertions(+), 10 deletions(-)
New commits:
commit aa5577b053712ed037afcaceddbb67b9c597fb20
Author: John Mazzitelli <mazz at redhat.com>
Date: Mon Jun 4 15:46:23 2012 -0400
[BZ 810124] fix the failover list test so it doesn't wait too long for each port test to fail.
diff --git a/modules/enterprise/agent/src/main/java/org/rhq/enterprise/agent/AgentMain.java b/modules/enterprise/agent/src/main/java/org/rhq/enterprise/agent/AgentMain.java
index f471929..cc761e4 100644
--- a/modules/enterprise/agent/src/main/java/org/rhq/enterprise/agent/AgentMain.java
+++ b/modules/enterprise/agent/src/main/java/org/rhq/enterprise/agent/AgentMain.java
@@ -36,6 +36,7 @@ import java.io.StreamTokenizer;
import java.lang.management.ManagementFactory;
import java.lang.reflect.Method;
import java.net.InetAddress;
+import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.URL;
import java.net.UnknownHostException;
@@ -2691,17 +2692,33 @@ public class AgentMain {
for (int i = 0; i < failoverList.size(); i++) {
ServerEntry server = failoverList.get(i);
Socket socket = null;
+ boolean connectError = true; // assume a failure will occur
try {
LOG.debug(AgentI18NResourceKeys.TEST_FAILOVER_LIST_ENTRY, server.address, server.port);
- socket = new Socket(server.address, server.port);
+ InetAddress inetAddress = InetAddress.getByName(server.address);
+ InetSocketAddress socketAddress = new InetSocketAddress(inetAddress, server.port);
+ socket = new Socket();
+ socket.setSoTimeout(5000);
+ socket.connect(socketAddress, 5000);
+ connectError = false; // we successfully connected to the server
} catch (UnknownHostException e) {
LOG.error(AgentI18NResourceKeys.FAILOVER_LIST_UNKNOWN_HOST, server.address);
- } catch (IOException e) {
+ } catch (Exception e) {
+ if (socket != null) {
+ try {
+ socket.close(); // just clean up our last socket connect attempt
+ } catch (Exception ignore) {
+ }
+ }
try {
- socket = new Socket(server.address, server.securePort);
- } catch (UnknownHostException e1) {
- LOG.error(AgentI18NResourceKeys.FAILOVER_LIST_UNKNOWN_HOST, server.address);
- } catch (IOException e1) {
+ LOG.debug(AgentI18NResourceKeys.TEST_FAILOVER_LIST_ENTRY, server.address, server.securePort);
+ InetAddress inetAddress = InetAddress.getByName(server.address);
+ InetSocketAddress socketAddress = new InetSocketAddress(inetAddress, server.securePort);
+ socket = new Socket();
+ socket.setSoTimeout(5000);
+ socket.connect(socketAddress, 5000);
+ connectError = false; // we successfully connected to the server
+ } catch (Exception e1) {
String err = ThrowableUtil.getAllMessages(e1);
LOG.warn(AgentI18NResourceKeys.FAILOVER_LIST_UNREACHABLE_HOST, server.address, server.port,
server.securePort, err);
@@ -2712,7 +2729,8 @@ public class AgentMain {
socket.close();
} catch (Exception e) {
}
- } else {
+ }
+ if (connectError) {
failedServers.add(server.toString());
}
}
diff --git a/modules/enterprise/agent/src/main/resources/agent-configuration.xml b/modules/enterprise/agent/src/main/resources/agent-configuration.xml
index a5fe60d..6de61ac 100644
--- a/modules/enterprise/agent/src/main/resources/agent-configuration.xml
+++ b/modules/enterprise/agent/src/main/resources/agent-configuration.xml
@@ -192,10 +192,9 @@ commands named "config", "setconfig" and "setup" and the command line options
endpoints found in the agent's failover list. This helps
provide a mechanism to quickly detect problems with the
public endpoints configured for all RHQ Servers.
+ The default is false.
-->
- <!--
- <entry key="rhq.agent.test-failover-list-at-startup" value="false" />
- -->
+ <entry key="rhq.agent.test-failover-list-at-startup" value="true" />
<!--
_______________________________________________________________
More information about the rhq-commits
mailing list