From 608f8007ed945f5fd9bcfa6cd31e56a871d0a096 Mon Sep 17 00:00:00 2001 From: Mark Payne Date: Fri, 6 Mar 2015 15:17:56 -0500 Subject: [PATCH] NIFI-302: Blacklist a partition if IOException is thrown on rollover --- .../main/java/org/wali/MinimalLockingWriteAheadLog.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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 19208d393a..5b20b93374 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 implements WriteAheadRepositor swapLocations = new HashSet<>(externalLocations); for (final Partition 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