From 86589b0fafaa0918ce2192080e68941c47b39c40 Mon Sep 17 00:00:00 2001 From: Noah Levitt Date: Mon, 14 Dec 2015 10:38:49 -0800 Subject: [PATCH] flush output etc before tallying stats to fix sizeOnDisk calculation --- src/main/java/org/archive/io/warc/WARCWriter.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/archive/io/warc/WARCWriter.java b/src/main/java/org/archive/io/warc/WARCWriter.java index e2d28ee9..7e22e08b 100644 --- a/src/main/java/org/archive/io/warc/WARCWriter.java +++ b/src/main/java/org/archive/io/warc/WARCWriter.java @@ -236,8 +236,8 @@ public void writeRecord(WARCRecordInfo recordInfo) long totalBytes = 0; long startPosition; - try { - startPosition = getPosition(); + startPosition = getPosition(); + try { preWriteRecordTasks(); // TODO: Revisit encoding of header. @@ -261,13 +261,12 @@ public void writeRecord(WARCRecordInfo recordInfo) write(CRLF_BYTES); totalBytes += 2 * CRLF_BYTES.length; - tally(recordInfo.getType(), contentBytes, totalBytes, getPosition() - startPosition); - recordInfo.setWARCFilename(getFilenameWithoutOccupiedSuffix()); recordInfo.setWARCFileOffset(startPosition); tmpRecordLog.add(recordInfo); } finally { postWriteRecordTasks(); + tally(recordInfo.getType(), contentBytes, totalBytes, getPosition() - startPosition); } }