Repository: ignite Updated Branches: refs/heads/master c219d9b1d -> 54a00fcf1
IGNITE-6484 writeComplete conditional wait is made uninterruptable Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/54a00fcf Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/54a00fcf Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/54a00fcf Branch: refs/heads/master Commit: 54a00fcf1c3544615a66f94b0bb80666e37acbb3 Parents: c219d9b Author: Alexei Scherbakov <alexey.scherbak...@gmail.com> Authored: Fri Sep 22 16:36:38 2017 +0300 Committer: Alexey Goncharuk <alexey.goncha...@gmail.com> Committed: Fri Sep 22 16:36:38 2017 +0300 ---------------------------------------------------------------------- .../cache/persistence/wal/FileWriteAheadLogManager.java | 4 ++-- .../java/org/apache/ignite/internal/util/IgniteUtils.java | 9 +++++++++ .../db/file/IgnitePdsThreadInterruptionTest.java | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/54a00fcf/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java index 87069d9..9b2d948 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java @@ -1828,7 +1828,7 @@ public class FileWriteAheadLogManager extends GridCacheSharedManagerAdapter impl try { while (written < expWritten && envFailed == null) - U.await(writeComplete); + U.awaitQuiet(writeComplete); } finally { lock.unlock(); @@ -2163,7 +2163,7 @@ public class FileWriteAheadLogManager extends GridCacheSharedManagerAdapter impl try { while (fileIO != null) - U.await(nextSegment); + U.awaitQuiet(nextSegment); } finally { lock.unlock(); http://git-wip-us.apache.org/repos/asf/ignite/blob/54a00fcf/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java index cbe2cfd..31b556d 100755 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java @@ -7398,6 +7398,15 @@ public abstract class IgniteUtils { } /** + * Awaits for condition ignoring interrupts. + * + * @param cond Condition to await for. + */ + public static void awaitQuiet(Condition cond) { + cond.awaitUninterruptibly(); + } + + /** * Awaits for condition. * * @param cond Condition to await for. http://git-wip-us.apache.org/repos/asf/ignite/blob/54a00fcf/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/file/IgnitePdsThreadInterruptionTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/file/IgnitePdsThreadInterruptionTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/file/IgnitePdsThreadInterruptionTest.java index aab569a..6f11d4d 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/file/IgnitePdsThreadInterruptionTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/file/IgnitePdsThreadInterruptionTest.java @@ -41,7 +41,7 @@ public class IgnitePdsThreadInterruptionTest extends GridCommonAbstractTest { private static final int PAGE_SIZE = 1 << 12; // 4096 /** */ - public static final int THREADS_CNT = 1; + public static final int THREADS_CNT = 10; /** * Cache name.