diff --git a/symmetric/src/main/java/org/jumpmind/symmetric/service/impl/DataLoaderService.java b/symmetric/src/main/java/org/jumpmind/symmetric/service/impl/DataLoaderService.java index 7a051ba4df..a8ec7aa63c 100644 --- a/symmetric/src/main/java/org/jumpmind/symmetric/service/impl/DataLoaderService.java +++ b/symmetric/src/main/java/org/jumpmind/symmetric/service/impl/DataLoaderService.java @@ -25,6 +25,7 @@ import java.io.InputStream; import java.io.OutputStream; import java.net.ConnectException; +import java.net.MalformedURLException; import java.net.UnknownHostException; import java.sql.SQLException; import java.util.ArrayList; @@ -105,6 +106,8 @@ public boolean loadData(Node remote, Node local) throws IOException { logger.warn("Registration was lost, attempting to re-register"); loadData(transportManager.getRegisterTransport(local)); wasWorkDone = true; + } catch (MalformedURLException e) { + logger.error("Could not connect to the " + remote + " node's transport because of a bad URL: " + e.getMessage()); } return wasWorkDone; } diff --git a/symmetric/src/main/java/org/jumpmind/symmetric/service/impl/PullService.java b/symmetric/src/main/java/org/jumpmind/symmetric/service/impl/PullService.java index 758a42d8a2..50369de54a 100644 --- a/symmetric/src/main/java/org/jumpmind/symmetric/service/impl/PullService.java +++ b/symmetric/src/main/java/org/jumpmind/symmetric/service/impl/PullService.java @@ -48,13 +48,14 @@ public void pullData() { List nodes = nodeService.findNodesToPull(); if (nodes != null && nodes.size() > 0) { for (Node node : nodes) { - String nodeName = " for " + node.getNodeGroupId() + "." + node.getNodeId(); + String nodeName = " for " + node; try { logger.info("Pull requested" + nodeName); if (dataLoaderService.loadData(node, nodeService.findIdentity())) { logger.info("Pull data received" + nodeName); - } - logger.info("Pull completed" + nodeName); + } else { + logger.info("Pull no data received for " + nodeName); + } } catch (ConnectException ex) { logger.warn(ErrorConstants.COULD_NOT_CONNECT_TO_TRANSPORT + " url=" + node.getSyncURL()); } catch (ConnectionRejectedException ex) { diff --git a/symmetric/src/main/java/org/jumpmind/symmetric/service/impl/PushService.java b/symmetric/src/main/java/org/jumpmind/symmetric/service/impl/PushService.java index 80a2fb59af..a80802d049 100644 --- a/symmetric/src/main/java/org/jumpmind/symmetric/service/impl/PushService.java +++ b/symmetric/src/main/java/org/jumpmind/symmetric/service/impl/PushService.java @@ -55,13 +55,13 @@ public class PushService implements IPushService { public void pushData() { List nodes = nodeService.findNodesToPushTo(); if (nodes != null && nodes.size() > 0) { - logger.info("Push requested"); - boolean success = false; for (Node node : nodes) { - success = pushToNode(node); - } - if (success) { - logger.info("Push completed"); + logger.info("Push requested for " + node); + if (pushToNode(node)) { + logger.info("Push completed for " + node); + } else { + logger.info("Push unsuccessful for " + node); + } } } } @@ -73,8 +73,7 @@ private boolean pushToNode(Node remote) { transport = transportManager.getPushTransport(remote, nodeService.findIdentity()); if (extractor.extract(remote, transport)) { - logger.info("Push data sent"); - + logger.info("Push data sent to " + remote); BufferedReader reader = transport.readResponse(); String ackString = reader.readLine(); String ackExtendedString = reader.readLine(); diff --git a/symmetric/src/main/java/org/jumpmind/symmetric/service/jmx/IncomingManagementService.java b/symmetric/src/main/java/org/jumpmind/symmetric/service/jmx/IncomingManagementService.java index f92b2b0ae9..bc02c4426f 100644 --- a/symmetric/src/main/java/org/jumpmind/symmetric/service/jmx/IncomingManagementService.java +++ b/symmetric/src/main/java/org/jumpmind/symmetric/service/jmx/IncomingManagementService.java @@ -31,8 +31,6 @@ public class IncomingManagementService { IStatisticManager statisticManager; - // INCOMING_TRANSPORT_ERROR_COUNT, - // INCOMING_TRANSPORT_CONNECT_ERROR_COUNT, // INCOMING_TRANSPORT_REJECTED_COUNT, // INCOMING_DATABASE_ERROR_COUNT, // INCOMING_OTHER_ERROR_COUNT, @@ -65,5 +63,17 @@ public BigDecimal getTransportErrorCountForServerLifetime() { return this.statisticManager.getStatistic(StatisticName.INCOMING_TRANSPORT_ERROR_COUNT) .getLifetimeTotal(); } + + @ManagedAttribute(description = "Get the number of errors that occurred while attempting to connect to transport since the last flush") + public BigDecimal getTransportConnectErrorCountSinceLastFlush() { + return this.statisticManager.getStatistic(StatisticName.INCOMING_TRANSPORT_CONNECT_ERROR_COUNT).getTotal(); + } + + @ManagedAttribute(description = "Get the number of errors that occurred while attempting to connect to transport for the lifetime of the server") + public BigDecimal getTransportConnectErrorCountForServerLifetime() { + return this.statisticManager.getStatistic(StatisticName.INCOMING_TRANSPORT_CONNECT_ERROR_COUNT) + .getLifetimeTotal(); + } + }