You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@batchee.apache.org by rm...@apache.org on 2015/12/03 15:13:34 UTC
incubator-batchee git commit: BATCHEE-82 better flushing in
TransactionalWriter
Repository: incubator-batchee
Updated Branches:
refs/heads/master ca7e91eea -> 7aef3e541
BATCHEE-82 better flushing in TransactionalWriter
Project: http://git-wip-us.apache.org/repos/asf/incubator-batchee/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-batchee/commit/7aef3e54
Tree: http://git-wip-us.apache.org/repos/asf/incubator-batchee/tree/7aef3e54
Diff: http://git-wip-us.apache.org/repos/asf/incubator-batchee/diff/7aef3e54
Branch: refs/heads/master
Commit: 7aef3e541f8a10a84253eab27aa1f4a816949d60
Parents: ca7e91e
Author: Romain Manni-Bucau <rm...@gmail.com>
Authored: Thu Dec 3 15:13:32 2015 +0100
Committer: Romain Manni-Bucau <rm...@gmail.com>
Committed: Thu Dec 3 15:13:32 2015 +0100
----------------------------------------------------------------------
.../java/org/apache/batchee/csv/CommonsCsvWriter.java | 1 +
.../batchee/extras/transaction/TransactionalWriter.java | 11 ++++++++---
2 files changed, 9 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/7aef3e54/extensions/commons-csv/src/main/java/org/apache/batchee/csv/CommonsCsvWriter.java
----------------------------------------------------------------------
diff --git a/extensions/commons-csv/src/main/java/org/apache/batchee/csv/CommonsCsvWriter.java b/extensions/commons-csv/src/main/java/org/apache/batchee/csv/CommonsCsvWriter.java
index 3ab27d1..d2fe810 100644
--- a/extensions/commons-csv/src/main/java/org/apache/batchee/csv/CommonsCsvWriter.java
+++ b/extensions/commons-csv/src/main/java/org/apache/batchee/csv/CommonsCsvWriter.java
@@ -189,6 +189,7 @@ public class CommonsCsvWriter implements ItemWriter {
throw new IllegalStateException("No way to write " + o + ". Does it implement Iterable<String> or did you set up a mapper?");
}
}
+ writer.flush();
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/7aef3e54/extensions/extras/src/main/java/org/apache/batchee/extras/transaction/TransactionalWriter.java
----------------------------------------------------------------------
diff --git a/extensions/extras/src/main/java/org/apache/batchee/extras/transaction/TransactionalWriter.java b/extensions/extras/src/main/java/org/apache/batchee/extras/transaction/TransactionalWriter.java
index 76d1092..0b3b346 100644
--- a/extensions/extras/src/main/java/org/apache/batchee/extras/transaction/TransactionalWriter.java
+++ b/extensions/extras/src/main/java/org/apache/batchee/extras/transaction/TransactionalWriter.java
@@ -84,16 +84,21 @@ public class TransactionalWriter extends Writer {
@Override
public void flush() throws IOException {
if (!Synchronizations.hasTransaction()) {
- delegate.force(false);
- position = delegate.position();
+ fileFlush();
} else {
position = delegate.position() + buffer().length();
}
}
+ private void fileFlush() throws IOException {
+ delegate.force(false);
+ position = delegate.position();
+ }
+
@Override
public void close() throws IOException {
- if (!Synchronizations.hasTransaction() && delegate.isOpen()) {
+ if ((!Synchronizations.hasTransaction() || Synchronizations.get(bufferKey) == null) && delegate.isOpen()) {
+ fileFlush();
delegate.close();
} else {
closed = true;