Release latch in marshaller context in stop method.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/e17a2be1 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/e17a2be1 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/e17a2be1 Branch: refs/heads/ignite-classname Commit: e17a2be1b931ea6b4e56be653b73a7994fd59898 Parents: e158c90 Author: nikolay_tikhonov <ntikho...@gridgain.com> Authored: Fri Jun 12 17:13:06 2015 +0300 Committer: nikolay_tikhonov <ntikho...@gridgain.com> Committed: Fri Jun 12 17:13:06 2015 +0300 ---------------------------------------------------------------------- .../main/java/org/apache/ignite/internal/IgniteKernal.java | 2 ++ .../org/apache/ignite/internal/MarshallerContextImpl.java | 7 +++++++ 2 files changed, 9 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e17a2be1/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java index 9b2ae27..9da3346 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java @@ -1705,6 +1705,8 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable { List<GridComponent> comps = ctx.components(); + ctx.marshallerContext().onKernalStop(); + // Callback component in reverse order while kernal is still functional // if called in the same thread, at least. for (ListIterator<GridComponent> it = comps.listIterator(comps.size()); it.hasPrevious();) { http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e17a2be1/modules/core/src/main/java/org/apache/ignite/internal/MarshallerContextImpl.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/MarshallerContextImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/MarshallerContextImpl.java index 7940e95..48f24ac 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/MarshallerContextImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/MarshallerContextImpl.java @@ -83,6 +83,13 @@ public class MarshallerContextImpl extends MarshallerContextAdapter { latch.countDown(); } + /** + * Release marshaller context. + */ + public void onKernalStop() { + latch.countDown(); + } + /** {@inheritDoc} */ @Override protected boolean registerClassName(int id, String clsName) throws IgniteCheckedException { GridCacheAdapter<Integer, String> cache0 = cache;