diff --git a/symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/reader/ProtocolDataReader.java b/symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/reader/ProtocolDataReader.java index 86d645bfa6..7f643abdab 100644 --- a/symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/reader/ProtocolDataReader.java +++ b/symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/reader/ProtocolDataReader.java @@ -199,7 +199,8 @@ public Object readNext() { } else if (tokens[0].equals(CsvConstants.BATCH) || tokens[0].equals(CsvConstants.RETRY)) { Batch batch = new Batch(batchType, Long.parseLong(tokens[1]), channelId, binaryEncoding, sourceNodeId, targetNodeId, false); - statistics.put(batch, new DataReaderStatistics()); + stats = stats != null ? stats : new DataReaderStatistics(); + statistics.put(batch, stats); tokens = null; return batch; } else if (tokens[0].equals(CsvConstants.NO_BINARY_OLD_DATA)) { @@ -281,6 +282,7 @@ public Object readNext() { statsColumns = CollectionUtils.copyOfRange(tokens, 1, tokens.length); } else if (tokens[0].equals(CsvConstants.STATS)) { statsValues = CollectionUtils.copyOfRange(tokens, 1, tokens.length); + stats = stats != null ? stats : new DataReaderStatistics(); putStats(stats, statsColumns, statsValues); } else { log.info("Unable to handle unknown csv values: " + Arrays.toString(tokens));