From 2976893e1118cfd24814b0453194602071531053 Mon Sep 17 00:00:00 2001 From: chenson42 Date: Sat, 6 Apr 2013 00:40:55 +0000 Subject: [PATCH] 0001165: For an initial load on push, exit out of load loop if one of the batches failed --- .../symmetric/model/RemoteNodeStatus.java | 6 +++++- .../symmetric/service/impl/PushService.java | 16 +++++++--------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/model/RemoteNodeStatus.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/model/RemoteNodeStatus.java index f1225e8fcc..f5e3130d01 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/model/RemoteNodeStatus.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/model/RemoteNodeStatus.java @@ -105,7 +105,7 @@ public void updateOutgoingStatus(List outgoingBatches, List outgoingBatches, List 0) { + if (lastBatchCount > 0) { log.info( "Pushing to {} again because the last push contained reload batches", node); @@ -154,17 +154,15 @@ public void execute(NodeCommunication nodeCommunication, RemoteNodeStatus status reloadBatchesProcessed = status.getReloadBatchesProcessed(); log.debug("Push requested for {}", node); pushToNode(node, status); - if (status.getBatchesProcessed() > 0) { + if (status.getBatchesProcessed() > 0 && status.getBatchesProcessed() != lastBatchCount) { log.info( - "Pushed data to {}. {} data and {} batches were processed", + "Pushed data to {}. {} data and {} batches were processed{}", new Object[] { node, status.getDataProcessed(), - status.getBatchesProcessed() }); - } else if (status.failed()) { - log.warn("There was an error while pushing data to the server"); + status.getBatchesProcessed(), status.failed() ? ". There was at least one failure" : "" }); } log.debug("Push completed for {}", node); - pushCount++; - } while (status.getReloadBatchesProcessed() > reloadBatchesProcessed); + lastBatchCount = status.getBatchesProcessed(); + } while (status.getReloadBatchesProcessed() > reloadBatchesProcessed && !status.failed()); } finally { startTimesOfNodesBeingPushedTo.remove(node.getNodeId()); }