[21/50] [abbrv] ignite git commit: IGNITE-8469 Fix for non-heap memory leak for calling cluster activation multi times. - Fixes #3986.
IGNITE-8469 Fix for non-heap memory leak for calling cluster activation multi times. - Fixes #3986. Signed-off-by: dpavlovProject: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/9a4a145b Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/9a4a145b Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/9a4a145b Branch: refs/heads/ignite-5789-1 Commit: 9a4a145be514e650258715a7e682d427d5812d16 Parents: eb8038f Author: Maxim Muzafarov Authored: Mon May 21 17:28:22 2018 +0300 Committer: dpavlov Committed: Mon May 21 17:28:22 2018 +0300 -- .../mem/file/MappedFileMemoryProvider.java | 8 ++ .../mem/unsafe/UnsafeMemoryProvider.java| 8 ++ .../pagemem/impl/PageMemoryNoStoreImpl.java | 3 +- .../apache/ignite/internal/util/GridDebug.java | 56 + .../pagemem/PageMemoryNoStoreLeakTest.java | 82 .../ignite/testsuites/IgnitePdsTestSuite.java | 2 + 6 files changed, 144 insertions(+), 15 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/9a4a145b/modules/core/src/main/java/org/apache/ignite/internal/mem/file/MappedFileMemoryProvider.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/mem/file/MappedFileMemoryProvider.java b/modules/core/src/main/java/org/apache/ignite/internal/mem/file/MappedFileMemoryProvider.java index 7186b27..54b4af4 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/mem/file/MappedFileMemoryProvider.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/mem/file/MappedFileMemoryProvider.java @@ -55,6 +55,9 @@ public class MappedFileMemoryProvider implements DirectMemoryProvider { /** */ private List mappedFiles; +/** Flag shows if current memory provider have been already initialized. */ +private boolean isInit; + /** * @param allocationPath Allocation path. */ @@ -65,6 +68,9 @@ public class MappedFileMemoryProvider implements DirectMemoryProvider { /** {@inheritDoc} */ @Override public void initialize(long[] sizes) { +if (isInit) +throw new IgniteException("Second initialization does not allowed for current provider"); + this.sizes = sizes; mappedFiles = new ArrayList<>(sizes.length); @@ -90,6 +96,8 @@ public class MappedFileMemoryProvider implements DirectMemoryProvider { "opened by another process and current user has enough rights): " + file); } } + +isInit = true; } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/9a4a145b/modules/core/src/main/java/org/apache/ignite/internal/mem/unsafe/UnsafeMemoryProvider.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/mem/unsafe/UnsafeMemoryProvider.java b/modules/core/src/main/java/org/apache/ignite/internal/mem/unsafe/UnsafeMemoryProvider.java index 276e10e..7eb58cb 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/mem/unsafe/UnsafeMemoryProvider.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/mem/unsafe/UnsafeMemoryProvider.java @@ -41,6 +41,9 @@ public class UnsafeMemoryProvider implements DirectMemoryProvider { /** */ private IgniteLogger log; +/** Flag shows if current memory provider have been already initialized. */ +private boolean isInit; + /** * @param log Ignite logger to use. */ @@ -50,9 +53,14 @@ public class UnsafeMemoryProvider implements DirectMemoryProvider { /** {@inheritDoc} */ @Override public void initialize(long[] sizes) { +if (isInit) +throw new IgniteException("Second initialization does not allowed for current provider"); + this.sizes = sizes; regions = new ArrayList<>(); + +isInit = true; } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/9a4a145b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/impl/PageMemoryNoStoreImpl.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/impl/PageMemoryNoStoreImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/impl/PageMemoryNoStoreImpl.java index d4b22a6..54b647a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/impl/PageMemoryNoStoreImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/impl/PageMemoryNoStoreImpl.java @@ -231,7 +231,8 @@ public class PageMemoryNoStoreImpl implements
ignite git commit: IGNITE-8469 Fix for non-heap memory leak for calling cluster activation multi times. - Fixes #3986.
Repository: ignite Updated Branches: refs/heads/master eb8038f65 -> 9a4a145be IGNITE-8469 Fix for non-heap memory leak for calling cluster activation multi times. - Fixes #3986. Signed-off-by: dpavlovProject: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/9a4a145b Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/9a4a145b Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/9a4a145b Branch: refs/heads/master Commit: 9a4a145be514e650258715a7e682d427d5812d16 Parents: eb8038f Author: Maxim Muzafarov Authored: Mon May 21 17:28:22 2018 +0300 Committer: dpavlov Committed: Mon May 21 17:28:22 2018 +0300 -- .../mem/file/MappedFileMemoryProvider.java | 8 ++ .../mem/unsafe/UnsafeMemoryProvider.java| 8 ++ .../pagemem/impl/PageMemoryNoStoreImpl.java | 3 +- .../apache/ignite/internal/util/GridDebug.java | 56 + .../pagemem/PageMemoryNoStoreLeakTest.java | 82 .../ignite/testsuites/IgnitePdsTestSuite.java | 2 + 6 files changed, 144 insertions(+), 15 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/9a4a145b/modules/core/src/main/java/org/apache/ignite/internal/mem/file/MappedFileMemoryProvider.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/mem/file/MappedFileMemoryProvider.java b/modules/core/src/main/java/org/apache/ignite/internal/mem/file/MappedFileMemoryProvider.java index 7186b27..54b4af4 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/mem/file/MappedFileMemoryProvider.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/mem/file/MappedFileMemoryProvider.java @@ -55,6 +55,9 @@ public class MappedFileMemoryProvider implements DirectMemoryProvider { /** */ private List mappedFiles; +/** Flag shows if current memory provider have been already initialized. */ +private boolean isInit; + /** * @param allocationPath Allocation path. */ @@ -65,6 +68,9 @@ public class MappedFileMemoryProvider implements DirectMemoryProvider { /** {@inheritDoc} */ @Override public void initialize(long[] sizes) { +if (isInit) +throw new IgniteException("Second initialization does not allowed for current provider"); + this.sizes = sizes; mappedFiles = new ArrayList<>(sizes.length); @@ -90,6 +96,8 @@ public class MappedFileMemoryProvider implements DirectMemoryProvider { "opened by another process and current user has enough rights): " + file); } } + +isInit = true; } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/9a4a145b/modules/core/src/main/java/org/apache/ignite/internal/mem/unsafe/UnsafeMemoryProvider.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/mem/unsafe/UnsafeMemoryProvider.java b/modules/core/src/main/java/org/apache/ignite/internal/mem/unsafe/UnsafeMemoryProvider.java index 276e10e..7eb58cb 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/mem/unsafe/UnsafeMemoryProvider.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/mem/unsafe/UnsafeMemoryProvider.java @@ -41,6 +41,9 @@ public class UnsafeMemoryProvider implements DirectMemoryProvider { /** */ private IgniteLogger log; +/** Flag shows if current memory provider have been already initialized. */ +private boolean isInit; + /** * @param log Ignite logger to use. */ @@ -50,9 +53,14 @@ public class UnsafeMemoryProvider implements DirectMemoryProvider { /** {@inheritDoc} */ @Override public void initialize(long[] sizes) { +if (isInit) +throw new IgniteException("Second initialization does not allowed for current provider"); + this.sizes = sizes; regions = new ArrayList<>(); + +isInit = true; } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/9a4a145b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/impl/PageMemoryNoStoreImpl.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/impl/PageMemoryNoStoreImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/impl/PageMemoryNoStoreImpl.java index d4b22a6..54b647a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/impl/PageMemoryNoStoreImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/impl/PageMemoryNoStoreImpl.java