GG-12170 - Added assertions for tag value, skip failed-to-write-lock-pages on checkpoint begin
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/643e6d49 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/643e6d49 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/643e6d49 Branch: refs/heads/ignite-5398 Commit: 643e6d49d0e0fb1d66b18dcfe74b570c15924036 Parents: 925370c Author: Alexey Goncharuk <[email protected]> Authored: Wed May 10 12:14:42 2017 +0300 Committer: Alexey Goncharuk <[email protected]> Committed: Wed May 10 12:15:06 2017 +0300 ---------------------------------------------------------------------- .../org/apache/ignite/internal/util/OffheapReadWriteLock.java | 4 ++++ 1 file changed, 4 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/643e6d49/modules/core/src/main/java/org/apache/ignite/internal/util/OffheapReadWriteLock.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/OffheapReadWriteLock.java b/modules/core/src/main/java/org/apache/ignite/internal/util/OffheapReadWriteLock.java index 83765ce..ee6a04d 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/OffheapReadWriteLock.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/OffheapReadWriteLock.java @@ -197,6 +197,8 @@ public class OffheapReadWriteLock { * @param lock Lock address. */ public boolean writeLock(long lock, int tag) { + assert tag != 0; + for (int i = 0; i < SPIN_CNT; i++) { long state = GridUnsafe.getLongVolatile(null, lock); @@ -252,6 +254,8 @@ public class OffheapReadWriteLock { public void writeUnlock(long lock, int tag) { long updated; + assert tag != 0; + while (true) { long state = GridUnsafe.getLongVolatile(null, lock);
