NIFI-302: Blacklist a partition if IOException is thrown on rollover
Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/608f8007 Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/608f8007 Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/608f8007 Branch: refs/heads/develop Commit: 608f8007ed945f5fd9bcfa6cd31e56a871d0a096 Parents: f9620cc Author: Mark Payne <marka...@hotmail.com> Authored: Fri Mar 6 15:17:56 2015 -0500 Committer: Mark Payne <marka...@hotmail.com> Committed: Fri Mar 6 15:17:56 2015 -0500 ---------------------------------------------------------------------- .../src/main/java/org/wali/MinimalLockingWriteAheadLog.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/608f8007/nifi/nifi-commons/nifi-write-ahead-log/src/main/java/org/wali/MinimalLockingWriteAheadLog.java ---------------------------------------------------------------------- diff --git a/nifi/nifi-commons/nifi-write-ahead-log/src/main/java/org/wali/MinimalLockingWriteAheadLog.java b/nifi/nifi-commons/nifi-write-ahead-log/src/main/java/org/wali/MinimalLockingWriteAheadLog.java index 19208d3..5b20b93 100644 --- a/nifi/nifi-commons/nifi-write-ahead-log/src/main/java/org/wali/MinimalLockingWriteAheadLog.java +++ b/nifi/nifi-commons/nifi-write-ahead-log/src/main/java/org/wali/MinimalLockingWriteAheadLog.java @@ -500,7 +500,12 @@ public final class MinimalLockingWriteAheadLog<T> implements WriteAheadRepositor swapLocations = new HashSet<>(externalLocations); for (final Partition<T> partition : partitions) { - partition.rollover(); + try { + partition.rollover(); + } catch (final IOException ioe) { + partition.blackList(); + throw ioe; + } } // notify global sync with the write lock held. We do this because we don't want the repository to get updated