Updated Branches: refs/heads/trunk 74d087d54 -> a76beeb61
FLUME-1616: FileChannel will lose data in when rollback fails with IOException (Hari Shreedharan via Brock Noland) Project: http://git-wip-us.apache.org/repos/asf/flume/repo Commit: http://git-wip-us.apache.org/repos/asf/flume/commit/a76beeb6 Tree: http://git-wip-us.apache.org/repos/asf/flume/tree/a76beeb6 Diff: http://git-wip-us.apache.org/repos/asf/flume/diff/a76beeb6 Branch: refs/heads/trunk Commit: a76beeb61700f08bafeb625040379ebd56e000a6 Parents: 74d087d Author: Brock Noland <[email protected]> Authored: Thu Sep 27 17:14:29 2012 -0500 Committer: Brock Noland <[email protected]> Committed: Thu Sep 27 17:14:29 2012 -0500 ---------------------------------------------------------------------- .../org/apache/flume/channel/file/FileChannel.java | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flume/blob/a76beeb6/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FileChannel.java ---------------------------------------------------------------------- diff --git a/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FileChannel.java b/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FileChannel.java index bdc9f04..6680a2c 100644 --- a/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FileChannel.java +++ b/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FileChannel.java @@ -527,7 +527,6 @@ public class FileChannel extends BasicChannelSemantics { + "log. Try increasing the log write timeout value. " + channelNameDescriptor); } - log.rollback(transactionID); if(takes > 0) { Preconditions.checkState(puts == 0, "nonzero puts and takes " + channelNameDescriptor); @@ -543,6 +542,7 @@ public class FileChannel extends BasicChannelSemantics { takeList.clear(); queue.completeTransaction(transactionID); channelCounter.setChannelSize(queue.getSize()); + log.rollback(transactionID); } catch (IOException e) { throw new ChannelException("Commit failed due to IO error " + channelNameDescriptor, e);
