You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2015/12/09 07:57:13 UTC
ignite git commit: ignite-10 Fix ignite instance [de]serialization
Repository: ignite
Updated Branches:
refs/heads/ignite-1.5 69047243b -> 0adee3ae0
ignite-10 Fix ignite instance [de]serialization
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/0adee3ae
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/0adee3ae
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/0adee3ae
Branch: refs/heads/ignite-1.5
Commit: 0adee3ae09a86334375b521871539b086215ba92
Parents: 6904724
Author: sboikov <sb...@gridgain.com>
Authored: Wed Dec 9 09:56:53 2015 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Wed Dec 9 09:56:53 2015 +0300
----------------------------------------------------------------------
.../messaging/MessagingPingPongExample.java | 4 --
.../examples/MessagingExamplesSelfTest.java | 2 -
.../main/java/org/apache/ignite/Ignition.java | 16 +++++++
.../store/jdbc/CacheAbstractJdbcStore.java | 5 +--
.../configuration/CacheConfiguration.java | 1 -
.../configuration/IgniteConfiguration.java | 2 -
.../apache/ignite/internal/IgniteKernal.java | 2 +-
.../org/apache/ignite/internal/IgnitionEx.java | 39 +++++++++++++----
.../ignite/internal/MarshallerContextImpl.java | 23 +++++-----
.../managers/communication/GridIoManager.java | 3 +-
.../internal/portable/BinaryFieldAccessor.java | 9 ++--
.../internal/portable/BinaryReaderExImpl.java | 19 ++++----
.../internal/portable/BinaryWriterExImpl.java | 19 ++++----
.../internal/portable/PortableContext.java | 12 ++---
.../CacheDefaultBinaryAffinityKeyMapper.java | 2 +-
.../processors/cache/GridCacheProcessor.java | 2 +-
.../dht/GridDhtAffinityAssignmentResponse.java | 2 +-
.../CacheObjectBinaryProcessorImpl.java | 41 +++++++++--------
.../cache/query/GridCacheQueryManager.java | 46 ++++++++++----------
.../util/nio/GridNioBackPressureControl.java | 14 +-----
.../org/apache/ignite/spi/IgniteSpiThread.java | 10 ++---
.../communication/tcp/TcpCommunicationSpi.java | 6 +--
.../org/apache/ignite/thread/IgniteThread.java | 43 ++++++++++--------
.../ignite/thread/IgniteThreadPoolExecutor.java | 37 ++--------------
.../portable/BinaryMarshallerSelfTest.java | 2 +-
...cheAbstractFullApiMultithreadedSelfTest.java | 2 +-
.../cache/GridCacheAbstractFullApiSelfTest.java | 4 +-
...eAbstractDataStructuresFailoverSelfTest.java | 2 -
.../marshaller/GridMarshallerAbstractTest.java | 32 +++++++++++++-
.../testframework/junits/GridAbstractTest.java | 9 ++--
.../junits/IgniteTestResources.java | 2 +-
.../ignite/testsuites/IgniteCacheTestSuite.java | 4 +-
.../IgnitePortableCacheTestSuite.java | 3 +-
...niteCacheP2pUnmarshallingQueryErrorTest.java | 5 +++
.../ignite/osgi/AbstractIgniteKarafTest.java | 2 -
.../ignite/internal/GridFactorySelfTest.java | 29 ++++++++++++
.../GridSpringBeanSerializationSelfTest.java | 2 +
37 files changed, 252 insertions(+), 205 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/examples/src/main/java/org/apache/ignite/examples/messaging/MessagingPingPongExample.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java/org/apache/ignite/examples/messaging/MessagingPingPongExample.java b/examples/src/main/java/org/apache/ignite/examples/messaging/MessagingPingPongExample.java
index a2ba227..8571f66 100644
--- a/examples/src/main/java/org/apache/ignite/examples/messaging/MessagingPingPongExample.java
+++ b/examples/src/main/java/org/apache/ignite/examples/messaging/MessagingPingPongExample.java
@@ -26,7 +26,6 @@ import org.apache.ignite.cluster.ClusterGroup;
import org.apache.ignite.examples.ExampleNodeStartup;
import org.apache.ignite.examples.ExamplesUtils;
import org.apache.ignite.lang.IgniteBiPredicate;
-import org.apache.ignite.resources.IgniteInstanceResource;
/**
* Demonstrates simple message exchange between local and remote nodes.
@@ -65,9 +64,6 @@ public class MessagingPingPongExample {
// Set up remote player.
ignite.message(nodeB).remoteListen(null, new IgniteBiPredicate<UUID, String>() {
- @IgniteInstanceResource
- private Ignite ignite;
-
@Override public boolean apply(UUID nodeId, String rcvMsg) {
System.out.println("Received message [msg=" + rcvMsg + ", sender=" + nodeId + ']');
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/examples/src/test/java8/org/apache/ignite/java8/examples/MessagingExamplesSelfTest.java
----------------------------------------------------------------------
diff --git a/examples/src/test/java8/org/apache/ignite/java8/examples/MessagingExamplesSelfTest.java b/examples/src/test/java8/org/apache/ignite/java8/examples/MessagingExamplesSelfTest.java
index c77e4b6..e15159d 100644
--- a/examples/src/test/java8/org/apache/ignite/java8/examples/MessagingExamplesSelfTest.java
+++ b/examples/src/test/java8/org/apache/ignite/java8/examples/MessagingExamplesSelfTest.java
@@ -41,8 +41,6 @@ public class MessagingExamplesSelfTest extends GridAbstractExamplesTest {
* @throws Exception If failed.
*/
public void testMessagingPingPongExample() throws Exception {
- fail("https://issues.apache.org/jira/browse/IGNITE-10");
-
MessagingPingPongExample.main(EMPTY_ARGS);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/core/src/main/java/org/apache/ignite/Ignition.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/Ignition.java b/modules/core/src/main/java/org/apache/ignite/Ignition.java
index 2c06881..4fdc849 100644
--- a/modules/core/src/main/java/org/apache/ignite/Ignition.java
+++ b/modules/core/src/main/java/org/apache/ignite/Ignition.java
@@ -26,6 +26,7 @@ import org.apache.ignite.internal.IgnitionEx;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.spi.discovery.DiscoverySpi;
import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
+import org.apache.ignite.thread.IgniteThread;
import org.jetbrains.annotations.Nullable;
/**
@@ -516,6 +517,21 @@ public class Ignition {
}
/**
+ * This method is used to address a local {@link Ignite} instance, principally from closure.
+ * <p>
+ * According to contract this method has to be called only under {@link IgniteThread}.
+ * An {@link IllegalArgumentException} will be thrown otherwise.
+ *
+ * @return A current {@link Ignite} instance to address from closure.
+ * @throws IgniteIllegalStateException Thrown if grid was not properly
+ * initialized or grid instance was stopped or was not started
+ * @throws IllegalArgumentException Thrown if current thread is not an {@link IgniteThread}.
+ */
+ public static Ignite localIgnite() throws IgniteIllegalStateException, IllegalArgumentException {
+ return IgnitionEx.localIgnite();
+ }
+
+ /**
* Adds a lsnr for grid life cycle events.
* <p>
* Note that unlike other listeners in Ignite this listener will be
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheAbstractJdbcStore.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheAbstractJdbcStore.java b/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheAbstractJdbcStore.java
index 366262c..060ab89 100644
--- a/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheAbstractJdbcStore.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheAbstractJdbcStore.java
@@ -62,6 +62,7 @@ import org.apache.ignite.cache.store.jdbc.dialect.MySQLDialect;
import org.apache.ignite.cache.store.jdbc.dialect.OracleDialect;
import org.apache.ignite.cache.store.jdbc.dialect.SQLServerDialect;
import org.apache.ignite.configuration.CacheConfiguration;
+import org.apache.ignite.internal.portable.BinaryMarshaller;
import org.apache.ignite.internal.util.tostring.GridToStringExclude;
import org.apache.ignite.internal.util.typedef.C1;
import org.apache.ignite.internal.util.typedef.F;
@@ -69,7 +70,6 @@ import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteBiInClosure;
import org.apache.ignite.lang.IgnitePredicate;
import org.apache.ignite.lifecycle.LifecycleAware;
-import org.apache.ignite.internal.portable.BinaryMarshaller;
import org.apache.ignite.resources.CacheStoreSessionResource;
import org.apache.ignite.resources.IgniteInstanceResource;
import org.apache.ignite.resources.LoggerResource;
@@ -78,10 +78,9 @@ import org.jetbrains.annotations.Nullable;
import static java.sql.Statement.EXECUTE_FAILED;
import static java.sql.Statement.SUCCESS_NO_INFO;
-
import static org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory.DFLT_BATCH_SIZE;
-import static org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory.DFLT_WRITE_ATTEMPTS;
import static org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory.DFLT_PARALLEL_LOAD_CACHE_MINIMUM_THRESHOLD;
+import static org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory.DFLT_WRITE_ATTEMPTS;
/**
* Implementation of {@link CacheStore} backed by JDBC.
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
index af3530a..67f7b2e 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
@@ -45,7 +45,6 @@ import org.apache.ignite.cache.CacheAtomicWriteOrderMode;
import org.apache.ignite.cache.CacheAtomicityMode;
import org.apache.ignite.cache.CacheEntryProcessor;
import org.apache.ignite.cache.CacheInterceptor;
-import org.apache.ignite.cache.CacheKeyConfiguration;
import org.apache.ignite.cache.CacheMemoryMode;
import org.apache.ignite.cache.CacheMode;
import org.apache.ignite.cache.CacheRebalanceMode;
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
index 07fb3a8..7d8f5be 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
@@ -46,8 +46,6 @@ import org.apache.ignite.lang.IgnitePredicate;
import org.apache.ignite.lifecycle.LifecycleBean;
import org.apache.ignite.lifecycle.LifecycleEventType;
import org.apache.ignite.marshaller.Marshaller;
-import org.apache.ignite.marshaller.jdk.JdkMarshaller;
-import org.apache.ignite.marshaller.optimized.OptimizedMarshaller;
import org.apache.ignite.plugin.PluginConfiguration;
import org.apache.ignite.plugin.PluginProvider;
import org.apache.ignite.plugin.segmentation.SegmentationPolicy;
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/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 ab62c13..d231ad3 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
@@ -3227,7 +3227,7 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable {
*/
protected Object readResolve() throws ObjectStreamException {
try {
- return IgnitionEx.gridx(gridName);
+ return IgnitionEx.localIgnite();
}
catch (IllegalStateException e) {
throw U.withCause(new InvalidObjectException(e.getMessage()), e);
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
index be06f85..a73fdeb 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
@@ -94,6 +94,7 @@ import org.apache.ignite.spi.indexing.noop.NoopIndexingSpi;
import org.apache.ignite.spi.loadbalancing.roundrobin.RoundRobinLoadBalancingSpi;
import org.apache.ignite.spi.swapspace.file.FileSwapSpaceSpi;
import org.apache.ignite.spi.swapspace.noop.NoopSwapSpaceSpi;
+import org.apache.ignite.thread.IgniteThread;
import org.apache.ignite.thread.IgniteThreadPoolExecutor;
import org.jetbrains.annotations.Nullable;
import org.jsr166.ConcurrentHashMap8;
@@ -1194,6 +1195,20 @@ public class IgnitionEx {
}
/**
+ * Gets a name of the grid, which is owner of current thread. An Exception is thrown if
+ * current thread is not an {@link IgniteThread}.
+ *
+ * @return Grid instance related to current thread
+ * @throws IllegalArgumentException Thrown to indicate, that current thread is not an {@link IgniteThread}.
+ */
+ public static IgniteKernal localIgnite() throws IllegalArgumentException {
+ if (Thread.currentThread() instanceof IgniteThread)
+ return gridx(((IgniteThread)Thread.currentThread()).getGridName());
+ else
+ throw new IllegalArgumentException("This method should be accessed under " + IgniteThread.class.getName());
+ }
+
+ /**
* Gets grid instance without waiting its initialization.
*
* @param name Grid name.
@@ -1528,7 +1543,8 @@ public class IgnitionEx {
}
execSvc = new IgniteThreadPoolExecutor(
- "pub-" + cfg.getGridName(),
+ "pub",
+ cfg.getGridName(),
cfg.getPublicThreadPoolSize(),
cfg.getPublicThreadPoolSize(),
DFLT_PUBLIC_KEEP_ALIVE_TIME,
@@ -1541,7 +1557,8 @@ public class IgnitionEx {
// Note that since we use 'LinkedBlockingQueue', number of
// maximum threads has no effect.
sysExecSvc = new IgniteThreadPoolExecutor(
- "sys-" + cfg.getGridName(),
+ "sys",
+ cfg.getGridName(),
cfg.getSystemThreadPoolSize(),
cfg.getSystemThreadPoolSize(),
DFLT_SYSTEM_KEEP_ALIVE_TIME,
@@ -1555,7 +1572,8 @@ public class IgnitionEx {
// Note, that we do not pre-start threads here as management pool may
// not be needed.
mgmtExecSvc = new IgniteThreadPoolExecutor(
- "mgmt-" + cfg.getGridName(),
+ "mgmt",
+ cfg.getGridName(),
cfg.getManagementThreadPoolSize(),
cfg.getManagementThreadPoolSize(),
0,
@@ -1566,7 +1584,8 @@ public class IgnitionEx {
// Note, that we do not pre-start threads here as class loading pool may
// not be needed.
p2pExecSvc = new IgniteThreadPoolExecutor(
- "p2p-" + cfg.getGridName(),
+ "p2p",
+ cfg.getGridName(),
cfg.getPeerClassLoadingThreadPoolSize(),
cfg.getPeerClassLoadingThreadPoolSize(),
0,
@@ -1574,7 +1593,8 @@ public class IgnitionEx {
// Note that we do not pre-start threads here as igfs pool may not be needed.
igfsExecSvc = new IgniteThreadPoolExecutor(
- "igfs-" + cfg.getGridName(),
+ "igfs",
+ cfg.getGridName(),
cfg.getIgfsThreadPoolSize(),
cfg.getIgfsThreadPoolSize(),
0,
@@ -1582,7 +1602,8 @@ public class IgnitionEx {
if (myCfg.getConnectorConfiguration() != null) {
restExecSvc = new IgniteThreadPoolExecutor(
- "rest-" + myCfg.getGridName(),
+ "rest",
+ myCfg.getGridName(),
myCfg.getConnectorConfiguration().getThreadPoolSize(),
myCfg.getConnectorConfiguration().getThreadPoolSize(),
ConnectorConfiguration.DFLT_KEEP_ALIVE_TIME,
@@ -1591,14 +1612,16 @@ public class IgnitionEx {
}
utilityCacheExecSvc = new IgniteThreadPoolExecutor(
- "utility-" + cfg.getGridName(),
+ "utility",
+ cfg.getGridName(),
myCfg.getUtilityCacheThreadPoolSize(),
DFLT_SYSTEM_MAX_THREAD_CNT,
myCfg.getUtilityCacheKeepAliveTime(),
new LinkedBlockingQueue<Runnable>(DFLT_SYSTEM_THREADPOOL_QUEUE_CAP));
marshCacheExecSvc = new IgniteThreadPoolExecutor(
- "marshaller-cache-" + cfg.getGridName(),
+ "marshaller-cache",
+ cfg.getGridName(),
myCfg.getMarshallerCacheThreadPoolSize(),
DFLT_SYSTEM_MAX_THREAD_CNT,
myCfg.getMarshallerCacheKeepAliveTime(),
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/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 276cdc3..c7fa902 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
@@ -17,18 +17,6 @@
package org.apache.ignite.internal;
-import org.apache.ignite.IgniteCheckedException;
-import org.apache.ignite.IgniteLogger;
-import org.apache.ignite.internal.processors.cache.CachePartialUpdateCheckedException;
-import org.apache.ignite.internal.processors.cache.GridCacheAdapter;
-import org.apache.ignite.internal.processors.cache.GridCacheTryPutFailedException;
-import org.apache.ignite.internal.util.typedef.F;
-import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.plugin.PluginProvider;
-
-import javax.cache.event.CacheEntryEvent;
-import javax.cache.event.CacheEntryListenerException;
-import javax.cache.event.CacheEntryUpdatedListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
@@ -37,6 +25,17 @@ import java.io.IOException;
import java.io.Writer;
import java.util.List;
import java.util.concurrent.CountDownLatch;
+import javax.cache.event.CacheEntryEvent;
+import javax.cache.event.CacheEntryListenerException;
+import javax.cache.event.CacheEntryUpdatedListener;
+import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.IgniteLogger;
+import org.apache.ignite.internal.processors.cache.CachePartialUpdateCheckedException;
+import org.apache.ignite.internal.processors.cache.GridCacheAdapter;
+import org.apache.ignite.internal.processors.cache.GridCacheTryPutFailedException;
+import org.apache.ignite.internal.util.typedef.F;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.plugin.PluginProvider;
/**
* Marshaller context implementation.
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
index a8557cc..bf7c7e4 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
@@ -242,7 +242,8 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
utilityCachePool = ctx.utilityCachePool();
marshCachePool = ctx.marshallerCachePool();
affPool = new IgniteThreadPoolExecutor(
- "aff-" + ctx.gridName(),
+ "aff",
+ ctx.gridName(),
1,
1,
0,
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryFieldAccessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryFieldAccessor.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryFieldAccessor.java
index eece245..2f6b73c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryFieldAccessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryFieldAccessor.java
@@ -17,11 +17,6 @@
package org.apache.ignite.internal.portable;
-import org.apache.ignite.binary.BinaryObjectException;
-import org.apache.ignite.internal.util.GridUnsafe;
-import org.apache.ignite.internal.util.typedef.internal.U;
-import sun.misc.Unsafe;
-
import java.lang.reflect.Field;
import java.math.BigDecimal;
import java.sql.Timestamp;
@@ -29,6 +24,10 @@ import java.util.Collection;
import java.util.Date;
import java.util.Map;
import java.util.UUID;
+import org.apache.ignite.binary.BinaryObjectException;
+import org.apache.ignite.internal.util.GridUnsafe;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import sun.misc.Unsafe;
/**
* Field accessor to speedup access.
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryReaderExImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryReaderExImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryReaderExImpl.java
index 91b67f6..a0aa2e5 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryReaderExImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryReaderExImpl.java
@@ -17,6 +17,15 @@
package org.apache.ignite.internal.portable;
+import java.io.EOFException;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.math.BigDecimal;
+import java.sql.Timestamp;
+import java.util.Collection;
+import java.util.Date;
+import java.util.Map;
+import java.util.UUID;
import org.apache.ignite.binary.BinaryIdMapper;
import org.apache.ignite.binary.BinaryInvalidTypeException;
import org.apache.ignite.binary.BinaryObject;
@@ -28,16 +37,6 @@ import org.apache.ignite.internal.util.typedef.internal.SB;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import java.io.EOFException;
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.math.BigDecimal;
-import java.sql.Timestamp;
-import java.util.Collection;
-import java.util.Date;
-import java.util.Map;
-import java.util.UUID;
-
import static org.apache.ignite.internal.portable.GridPortableMarshaller.BOOLEAN;
import static org.apache.ignite.internal.portable.GridPortableMarshaller.BOOLEAN_ARR;
import static org.apache.ignite.internal.portable.GridPortableMarshaller.BYTE;
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryWriterExImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryWriterExImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryWriterExImpl.java
index 59632f1..6bb493e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryWriterExImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryWriterExImpl.java
@@ -17,16 +17,6 @@
package org.apache.ignite.internal.portable;
-import org.apache.ignite.IgniteCheckedException;
-import org.apache.ignite.binary.BinaryIdMapper;
-import org.apache.ignite.binary.BinaryObjectException;
-import org.apache.ignite.binary.BinaryRawWriter;
-import org.apache.ignite.binary.BinaryWriter;
-import org.apache.ignite.internal.portable.streams.PortableHeapOutputStream;
-import org.apache.ignite.internal.portable.streams.PortableOutputStream;
-import org.apache.ignite.internal.util.typedef.internal.A;
-import org.jetbrains.annotations.Nullable;
-
import java.io.IOException;
import java.io.ObjectOutput;
import java.lang.reflect.InvocationTargetException;
@@ -37,6 +27,15 @@ import java.util.Collection;
import java.util.Date;
import java.util.Map;
import java.util.UUID;
+import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.binary.BinaryIdMapper;
+import org.apache.ignite.binary.BinaryObjectException;
+import org.apache.ignite.binary.BinaryRawWriter;
+import org.apache.ignite.binary.BinaryWriter;
+import org.apache.ignite.internal.portable.streams.PortableHeapOutputStream;
+import org.apache.ignite.internal.portable.streams.PortableOutputStream;
+import org.apache.ignite.internal.util.typedef.internal.A;
+import org.jetbrains.annotations.Nullable;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.apache.ignite.internal.portable.GridPortableMarshaller.BOOLEAN;
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java
index fd6c41d..8bad737 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java
@@ -53,16 +53,16 @@ import java.util.concurrent.ConcurrentSkipListSet;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.binary.BinaryIdMapper;
+import org.apache.ignite.binary.BinaryInvalidTypeException;
+import org.apache.ignite.binary.BinaryObjectException;
+import org.apache.ignite.binary.BinarySerializer;
+import org.apache.ignite.binary.BinaryType;
+import org.apache.ignite.binary.BinaryTypeConfiguration;
import org.apache.ignite.cache.CacheKeyConfiguration;
import org.apache.ignite.cache.affinity.AffinityKeyMapped;
import org.apache.ignite.configuration.BinaryConfiguration;
import org.apache.ignite.configuration.IgniteConfiguration;
-import org.apache.ignite.binary.BinaryTypeConfiguration;
-import org.apache.ignite.binary.BinaryObjectException;
-import org.apache.ignite.binary.BinaryIdMapper;
-import org.apache.ignite.binary.BinaryInvalidTypeException;
-import org.apache.ignite.binary.BinaryType;
-import org.apache.ignite.binary.BinarySerializer;
import org.apache.ignite.internal.IgniteKernal;
import org.apache.ignite.internal.IgnitionEx;
import org.apache.ignite.internal.processors.cache.portable.CacheObjectBinaryProcessorImpl;
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheDefaultBinaryAffinityKeyMapper.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheDefaultBinaryAffinityKeyMapper.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheDefaultBinaryAffinityKeyMapper.java
index d244a16..828e2ff 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheDefaultBinaryAffinityKeyMapper.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheDefaultBinaryAffinityKeyMapper.java
@@ -19,10 +19,10 @@ package org.apache.ignite.internal.processors.cache;
import org.apache.ignite.Ignite;
import org.apache.ignite.IgniteException;
+import org.apache.ignite.binary.BinaryObject;
import org.apache.ignite.internal.IgniteKernal;
import org.apache.ignite.internal.processors.cache.portable.CacheObjectBinaryProcessorImpl;
import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.binary.BinaryObject;
/**
*
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
index 02e6403..3bd9466 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
@@ -70,6 +70,7 @@ import org.apache.ignite.internal.IgniteInternalFuture;
import org.apache.ignite.internal.IgniteNodeAttributes;
import org.apache.ignite.internal.IgniteTransactionsEx;
import org.apache.ignite.internal.managers.discovery.CustomEventListener;
+import org.apache.ignite.internal.portable.BinaryMarshaller;
import org.apache.ignite.internal.processors.GridProcessorAdapter;
import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
import org.apache.ignite.internal.processors.cache.datastructures.CacheDataStructuresManager;
@@ -113,7 +114,6 @@ import org.apache.ignite.lang.IgniteUuid;
import org.apache.ignite.lifecycle.LifecycleAware;
import org.apache.ignite.marshaller.Marshaller;
import org.apache.ignite.marshaller.jdk.JdkMarshaller;
-import org.apache.ignite.internal.portable.BinaryMarshaller;
import org.apache.ignite.spi.IgniteNodeValidationResult;
import org.jetbrains.annotations.Nullable;
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentResponse.java
index 42358d9..e731406 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentResponse.java
@@ -116,7 +116,7 @@ public class GridDhtAffinityAssignmentResponse extends GridCacheMessage {
if (affAssignmentBytes != null) {
affAssignment = ctx.marshaller().unmarshal(affAssignmentBytes, ldr);
- // TODO IGNITE-10: setting 'local' for nodes not needed when IGNITE-10 is implemented.
+ // TODO IGNITE-2110: setting 'local' for nodes not needed when IGNITE-2110 is implemented.
int assignments = affAssignment.size();
for (int n = 0; n < assignments; n++) {
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectBinaryProcessorImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectBinaryProcessorImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectBinaryProcessorImpl.java
index d172bca..cd65681 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectBinaryProcessorImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectBinaryProcessorImpl.java
@@ -17,6 +17,25 @@
package org.apache.ignite.internal.processors.cache.portable;
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Map;
+import java.util.Set;
+import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.CountDownLatch;
+import javax.cache.Cache;
+import javax.cache.CacheException;
+import javax.cache.event.CacheEntryEvent;
+import javax.cache.event.CacheEntryListenerException;
+import javax.cache.event.CacheEntryUpdatedListener;
+import javax.cache.event.EventType;
+import javax.cache.processor.EntryProcessor;
+import javax.cache.processor.MutableEntry;
import org.apache.ignite.IgniteBinary;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteException;
@@ -31,6 +50,7 @@ import org.apache.ignite.configuration.CacheConfiguration;
import org.apache.ignite.internal.GridKernalContext;
import org.apache.ignite.internal.cluster.ClusterTopologyCheckedException;
import org.apache.ignite.internal.portable.BinaryEnumObjectImpl;
+import org.apache.ignite.internal.portable.BinaryMarshaller;
import org.apache.ignite.internal.portable.BinaryMetadata;
import org.apache.ignite.internal.portable.BinaryMetadataHandler;
import org.apache.ignite.internal.portable.BinaryObjectEx;
@@ -73,31 +93,10 @@ import org.apache.ignite.lang.IgniteBiPredicate;
import org.apache.ignite.lang.IgniteBiTuple;
import org.apache.ignite.lang.IgniteClosure;
import org.apache.ignite.marshaller.Marshaller;
-import org.apache.ignite.internal.portable.BinaryMarshaller;
import org.jetbrains.annotations.Nullable;
import org.jsr166.ConcurrentHashMap8;
import sun.misc.Unsafe;
-import javax.cache.Cache;
-import javax.cache.CacheException;
-import javax.cache.event.CacheEntryEvent;
-import javax.cache.event.CacheEntryListenerException;
-import javax.cache.event.CacheEntryUpdatedListener;
-import javax.cache.event.EventType;
-import javax.cache.processor.EntryProcessor;
-import javax.cache.processor.MutableEntry;
-import java.io.Externalizable;
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.CountDownLatch;
-
/**
* Portable processor implementation.
*/
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
index bb5d230..4681e47 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
@@ -17,6 +17,28 @@
package org.apache.ignite.internal.processors.cache.query;
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.sql.SQLException;
+import java.util.ArrayDeque;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.NoSuchElementException;
+import java.util.Queue;
+import java.util.UUID;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentMap;
+import javax.cache.expiry.ExpiryPolicy;
import org.apache.ignite.Ignite;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteException;
@@ -91,30 +113,6 @@ import org.apache.ignite.spi.indexing.IndexingSpi;
import org.jetbrains.annotations.Nullable;
import org.jsr166.ConcurrentHashMap8;
-import javax.cache.Cache;
-import javax.cache.expiry.ExpiryPolicy;
-import java.io.Externalizable;
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import java.sql.SQLException;
-import java.util.ArrayDeque;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.NoSuchElementException;
-import java.util.Queue;
-import java.util.UUID;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ConcurrentMap;
-
import static org.apache.ignite.cache.CacheMode.LOCAL;
import static org.apache.ignite.events.EventType.EVT_CACHE_QUERY_EXECUTED;
import static org.apache.ignite.events.EventType.EVT_CACHE_QUERY_OBJECT_READ;
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioBackPressureControl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioBackPressureControl.java b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioBackPressureControl.java
index b15e4a6..96a1ab3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioBackPressureControl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioBackPressureControl.java
@@ -17,8 +17,6 @@
package org.apache.ignite.internal.util.nio;
-import org.apache.ignite.thread.IgniteThread;
-
/**
* Utility class that allows to ignore back-pressure control for threads that are processing messages.
*/
@@ -34,11 +32,6 @@ public class GridNioBackPressureControl {
* @return Flag indicating whether current thread is processing message.
*/
public static boolean threadProcessingMessage() {
- Thread th = Thread.currentThread();
-
- if (th instanceof IgniteThread)
- return ((IgniteThread)th).processingMessage();
-
return threadProcMsg.get();
}
@@ -46,11 +39,6 @@ public class GridNioBackPressureControl {
* @param processing Flag indicating whether current thread is processing message.
*/
public static void threadProcessingMessage(boolean processing) {
- Thread th = Thread.currentThread();
-
- if (th instanceof IgniteThread)
- ((IgniteThread)th).processingMessage(processing);
- else
- threadProcMsg.set(processing);
+ threadProcMsg.set(processing);
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiThread.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiThread.java b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiThread.java
index 25b81e7..1667891 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiThread.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiThread.java
@@ -21,16 +21,16 @@ import java.util.concurrent.atomic.AtomicLong;
import org.apache.ignite.IgniteLogger;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.thread.IgniteThread;
/**
* This class provides convenient adapter for threads used by SPIs.
- * This class adds necessary plumbing on top of the {@link Thread} class:
+ * This class adds necessary plumbing on top of the {@link IgniteThread} class:
* <ul>
- * <li>Consistent naming of threads</li>
- * <li>Dedicated parent thread group</li>
+ * <li>Proper exception handling in {@link #body()}</li>
* </ul>
*/
-public abstract class IgniteSpiThread extends Thread {
+public abstract class IgniteSpiThread extends IgniteThread {
/** Default thread's group. */
public static final ThreadGroup DFLT_GRP = new ThreadGroup("ignite-spi");
@@ -48,7 +48,7 @@ public abstract class IgniteSpiThread extends Thread {
* @param log Grid logger to use.
*/
protected IgniteSpiThread(String gridName, String name, IgniteLogger log) {
- super(DFLT_GRP, name + "-#" + cntr.incrementAndGet() + '%' + gridName);
+ super(gridName, DFLT_GRP, createName(cntr.incrementAndGet(), name, gridName));
assert log != null;
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
index 09e4877..bf6e869 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
@@ -1510,7 +1510,7 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
nioSrvr.start();
- commWorker = new CommunicationWorker();
+ commWorker = new CommunicationWorker(gridName);
commWorker.start();
@@ -3024,9 +3024,9 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
private final BlockingQueue<GridNioRecoveryDescriptor> q = new LinkedBlockingQueue<>();
/**
- *
+ * @param gridName Grid name.
*/
- private CommunicationWorker() {
+ private CommunicationWorker(String gridName) {
super(gridName, "tcp-comm-worker", log);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/core/src/main/java/org/apache/ignite/thread/IgniteThread.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/thread/IgniteThread.java b/modules/core/src/main/java/org/apache/ignite/thread/IgniteThread.java
index 6ea77ae..974fa94 100644
--- a/modules/core/src/main/java/org/apache/ignite/thread/IgniteThread.java
+++ b/modules/core/src/main/java/org/apache/ignite/thread/IgniteThread.java
@@ -28,6 +28,7 @@ import org.apache.ignite.internal.util.worker.GridWorker;
* <li>Consistent naming of threads</li>
* <li>Dedicated parent thread group</li>
* <li>Backing interrupted flag</li>
+ * <li>Name of the grid this thread belongs to</li>
* </ul>
* <b>Note</b>: this class is intended for internal use only.
*/
@@ -36,10 +37,10 @@ public class IgniteThread extends Thread {
private static final ThreadGroup DFLT_GRP = new ThreadGroup("ignite");
/** Number of all grid threads in the system. */
- private static final AtomicLong threadCntr = new AtomicLong(0);
+ private static final AtomicLong cntr = new AtomicLong();
- /** Boolean flag indicating of this thread is currently processing message. */
- private boolean procMsg;
+ /** The name of the grid this thread belongs to. */
+ protected final String gridName;
/**
* Creates thread with given worker.
@@ -71,7 +72,25 @@ public class IgniteThread extends Thread {
* @param r Runnable to execute.
*/
public IgniteThread(ThreadGroup grp, String gridName, String threadName, Runnable r) {
- super(grp, r, createName(threadCntr.incrementAndGet(), threadName, gridName));
+ super(grp, r, createName(cntr.incrementAndGet(), threadName, gridName));
+
+ this.gridName = gridName;
+ }
+
+ /**
+ * @param gridName Name of grid this thread is created for.
+ * @param threadGrp Thread group.
+ * @param threadName Name of thread.
+ */
+ protected IgniteThread(String gridName, ThreadGroup threadGrp, String threadName) {
+ super(threadGrp, threadName);
+
+ this.gridName = gridName;
+ }
+
+ /** {@inheritDoc} */
+ public String getGridName() {
+ return gridName;
}
/**
@@ -82,24 +101,10 @@ public class IgniteThread extends Thread {
* @param gridName Grid name.
* @return New thread name.
*/
- private static String createName(long num, String threadName, String gridName) {
+ protected static String createName(long num, String threadName, String gridName) {
return threadName + "-#" + num + '%' + gridName + '%';
}
- /**
- * @param procMsg Flag indicating whether thread is currently processing message.
- */
- public void processingMessage(boolean procMsg) {
- this.procMsg = procMsg;
- }
-
- /**
- * @return Flag indicating whether thread is currently processing message.
- */
- public boolean processingMessage() {
- return procMsg;
- }
-
/** {@inheritDoc} */
@Override public String toString() {
return S.toString(IgniteThread.class, this, "name", getName());
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/core/src/main/java/org/apache/ignite/thread/IgniteThreadPoolExecutor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/thread/IgniteThreadPoolExecutor.java b/modules/core/src/main/java/org/apache/ignite/thread/IgniteThreadPoolExecutor.java
index 0af422f..940e1a3 100644
--- a/modules/core/src/main/java/org/apache/ignite/thread/IgniteThreadPoolExecutor.java
+++ b/modules/core/src/main/java/org/apache/ignite/thread/IgniteThreadPoolExecutor.java
@@ -166,7 +166,8 @@ public class IgniteThreadPoolExecutor extends ThreadPoolExecutor {
/**
* Creates a new service with the given initial parameters.
*
- * @param gridName Name of the grid
+ * @param threadNamePrefix Will be added at the beginning of all created threads.
+ * @param gridName Must be the name of the grid.
* @param corePoolSize The number of threads to keep in the pool, even if they are idle.
* @param maxPoolSize The maximum number of threads to allow in the pool.
* @param keepAliveTime When the number of threads is greater than the core, this is the maximum time
@@ -175,6 +176,7 @@ public class IgniteThreadPoolExecutor extends ThreadPoolExecutor {
* runnable tasks submitted by the {@link #execute(Runnable)} method.
*/
public IgniteThreadPoolExecutor(
+ String threadNamePrefix,
String gridName,
int corePoolSize,
int maxPoolSize,
@@ -186,38 +188,7 @@ public class IgniteThreadPoolExecutor extends ThreadPoolExecutor {
keepAliveTime,
TimeUnit.MILLISECONDS,
workQ,
- new IgniteThreadFactory(gridName)
- );
- }
-
- /**
- * Creates a new service with the given initial parameters.
- *
- * @param gridName Name of the grid.
- * @param corePoolSize The number of threads to keep in the pool, even if they are idle.
- * @param maxPoolSize The maximum number of threads to allow in the pool.
- * @param keepAliveTime When the number of threads is greater than the core, this is the maximum time
- * that excess idle threads will wait for new tasks before terminating.
- * @param workQ The queue to use for holding tasks before they are executed. This queue will hold only the
- * runnable tasks submitted by the {@link #execute(Runnable)} method.
- * @param hnd Optional handler to use when execution is blocked because the thread bounds and queue
- * capacities are reached. If {@code null} then {@code AbortPolicy}
- * handler is used by default.
- */
- public IgniteThreadPoolExecutor(
- String gridName,
- int corePoolSize,
- int maxPoolSize,
- long keepAliveTime,
- BlockingQueue<Runnable> workQ,
- RejectedExecutionHandler hnd) {
- this(
- corePoolSize,
- maxPoolSize,
- keepAliveTime,
- workQ,
- new IgniteThreadFactory(gridName),
- hnd
+ new IgniteThreadFactory(gridName, threadNamePrefix)
);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryMarshallerSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryMarshallerSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryMarshallerSelfTest.java
index 49be8dd..a06e6c3 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryMarshallerSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/portable/BinaryMarshallerSelfTest.java
@@ -3874,4 +3874,4 @@ public class BinaryMarshallerSelfTest extends GridCommonAbstractTest {
rawValArr = rawReader.readDecimalArray();
}
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiMultithreadedSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiMultithreadedSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiMultithreadedSelfTest.java
index 5e43b2a..95ca9b5 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiMultithreadedSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiMultithreadedSelfTest.java
@@ -19,10 +19,10 @@ package org.apache.ignite.internal.processors.cache;
import com.google.common.collect.ImmutableSet;
import java.util.Collection;
+import java.util.HashSet;
import java.util.Map;
import java.util.Random;
import java.util.Set;
-import java.util.HashSet;
import java.util.TreeSet;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
index 5af90e9..41e9016 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
@@ -17,6 +17,8 @@
package org.apache.ignite.internal.processors.cache;
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Sets;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
@@ -44,8 +46,6 @@ import javax.cache.processor.EntryProcessor;
import javax.cache.processor.EntryProcessorException;
import javax.cache.processor.EntryProcessorResult;
import javax.cache.processor.MutableEntry;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Sets;
import junit.framework.AssertionFailedError;
import org.apache.ignite.Ignite;
import org.apache.ignite.IgniteCache;
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheAbstractDataStructuresFailoverSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheAbstractDataStructuresFailoverSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheAbstractDataStructuresFailoverSelfTest.java
index ef96d9f..cb16aeb 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheAbstractDataStructuresFailoverSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheAbstractDataStructuresFailoverSelfTest.java
@@ -43,12 +43,10 @@ import org.apache.ignite.configuration.AtomicConfiguration;
import org.apache.ignite.configuration.CacheConfiguration;
import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.IgniteInternalFuture;
-import org.apache.ignite.internal.cluster.ClusterTopologyServerNotFoundException;
import org.apache.ignite.internal.util.GridLeanSet;
import org.apache.ignite.internal.util.typedef.CA;
import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.G;
-import org.apache.ignite.internal.util.typedef.X;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteBiTuple;
import org.apache.ignite.lang.IgniteCallable;
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/core/src/test/java/org/apache/ignite/marshaller/GridMarshallerAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/marshaller/GridMarshallerAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/marshaller/GridMarshallerAbstractTest.java
index 2408176..0e858ed 100644
--- a/modules/core/src/test/java/org/apache/ignite/marshaller/GridMarshallerAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/marshaller/GridMarshallerAbstractTest.java
@@ -24,8 +24,11 @@ import java.io.ObjectOutput;
import java.io.Serializable;
import java.util.Arrays;
import java.util.Collections;
+import java.util.concurrent.Callable;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.ExecutorService;
+import java.util.concurrent.FutureTask;
+import java.util.concurrent.RunnableFuture;
import org.apache.ignite.Ignite;
import org.apache.ignite.IgniteCache;
import org.apache.ignite.IgniteCheckedException;
@@ -69,6 +72,7 @@ import org.apache.ignite.p2p.GridP2PTestJob;
import org.apache.ignite.p2p.GridP2PTestTask;
import org.apache.ignite.testframework.GridTestClassLoader;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
+import org.apache.ignite.thread.IgniteThread;
import org.jetbrains.annotations.Nullable;
import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL;
@@ -84,6 +88,9 @@ public abstract class GridMarshallerAbstractTest extends GridCommonAbstractTest
/** */
private static Marshaller marsh;
+ /** */
+ private static String gridName;
+
/** Closure job. */
protected IgniteInClosure<String> c1 = new IgniteInClosure<String>() {
@Override public void apply(String s) {
@@ -144,6 +151,7 @@ public abstract class GridMarshallerAbstractTest extends GridCommonAbstractTest
/** {@inheritDoc} */
@Override protected void beforeTest() throws Exception {
marsh = grid().configuration().getMarshaller();
+ gridName = grid().configuration().getGridName();
}
/**
@@ -831,8 +839,28 @@ public abstract class GridMarshallerAbstractTest extends GridCommonAbstractTest
* @throws IgniteCheckedException Thrown if any exception occurs while unmarshalling.
*/
@SuppressWarnings({"RedundantTypeArguments"})
- protected static <T> T unmarshal(byte[] buf) throws IgniteCheckedException {
- return marsh.<T>unmarshal(buf, Thread.currentThread().getContextClassLoader());
+ protected static <T> T unmarshal(final byte[] buf) throws IgniteCheckedException {
+ RunnableFuture<T> f = new FutureTask<>(new Callable<T>() {
+ @Override public T call() throws IgniteCheckedException {
+ return marsh.<T>unmarshal(buf, Thread.currentThread().getContextClassLoader());
+ }
+ });
+
+ // Any deserialization has to be executed under a thread, that contains the grid name.
+ new IgniteThread(gridName, "unmarshal-thread", f).start();
+
+ try {
+ return f.get();
+ }
+ catch (Exception e) {
+ if (e.getCause() instanceof IgniteCheckedException) {
+ throw (IgniteCheckedException)e.getCause();
+ }
+
+ fail(e.getCause().getMessage());
+ }
+
+ return null;
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
index eaf63d7..2d91895 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
@@ -60,10 +60,10 @@ import org.apache.ignite.internal.IgniteEx;
import org.apache.ignite.internal.IgniteInternalFuture;
import org.apache.ignite.internal.IgniteKernal;
import org.apache.ignite.internal.IgnitionEx;
+import org.apache.ignite.internal.portable.BinaryEnumCache;
import org.apache.ignite.internal.portable.BinaryMarshaller;
import org.apache.ignite.internal.processors.resource.GridSpringResourceContext;
import org.apache.ignite.internal.util.GridClassLoaderCache;
-import org.apache.ignite.internal.portable.BinaryEnumCache;
import org.apache.ignite.internal.util.GridTestClockTimer;
import org.apache.ignite.internal.util.GridUnsafe;
import org.apache.ignite.internal.util.typedef.F;
@@ -89,6 +89,7 @@ import org.apache.ignite.testframework.junits.logger.GridTestLog4jLogger;
import org.apache.ignite.testframework.junits.multijvm.IgniteCacheProcessProxy;
import org.apache.ignite.testframework.junits.multijvm.IgniteNodeRunner;
import org.apache.ignite.testframework.junits.multijvm.IgniteProcessProxy;
+import org.apache.ignite.thread.IgniteThread;
import org.apache.log4j.ConsoleAppender;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
@@ -150,7 +151,7 @@ public abstract class GridAbstractTest extends TestCase {
private static long ts = System.currentTimeMillis();
/** Starting grid name. */
- protected static ThreadLocal<String> startingGrid = new ThreadLocal<>();
+ protected final static ThreadLocal<String> startingGrid = new ThreadLocal<>();
/**
*
@@ -1628,7 +1629,7 @@ public abstract class GridAbstractTest extends TestCase {
@Override protected void runTest() throws Throwable {
final AtomicReference<Throwable> ex = new AtomicReference<>();
- Thread runner = new Thread("test-runner") {
+ Thread runner = new IgniteThread(getTestGridName(), "test-runner", new Runnable() {
@Override public void run() {
try {
runTestInternal();
@@ -1639,7 +1640,7 @@ public abstract class GridAbstractTest extends TestCase {
ex.set(hnd != null ? hnd.apply(e) : e);
}
}
- };
+ });
runner.start();
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteTestResources.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteTestResources.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteTestResources.java
index 970002d..097c75f 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteTestResources.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteTestResources.java
@@ -153,7 +153,7 @@ public class IgniteTestResources {
* @param prestart Prestart flag.
*/
public void startThreads(boolean prestart) {
- execSvc = new IgniteThreadPoolExecutor(nodeId.toString(), 40, 40, Long.MAX_VALUE,
+ execSvc = new IgniteThreadPoolExecutor(nodeId.toString(), null, 40, 40, Long.MAX_VALUE,
new LinkedBlockingQueue<Runnable>());
// Improve concurrency for testing.
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
index 7e45470..88d0834 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
@@ -29,17 +29,17 @@ import org.apache.ignite.cache.affinity.fair.FairAffinityFunctionSelfTest;
import org.apache.ignite.cache.store.GridCacheBalancingStoreSelfTest;
import org.apache.ignite.cache.store.GridCacheLoadOnlyStoreAdapterSelfTest;
import org.apache.ignite.cache.store.StoreResourceInjectionSelfTest;
+import org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreBinaryMarshallerSelfTest;
import org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreMultitreadedSelfTest;
import org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreOptimizedMarshallerSelfTest;
import org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreTest;
-import org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreBinaryMarshallerSelfTest;
import org.apache.ignite.cache.store.jdbc.GridCacheJdbcBlobStoreMultithreadedSelfTest;
import org.apache.ignite.cache.store.jdbc.GridCacheJdbcBlobStoreSelfTest;
import org.apache.ignite.internal.processors.cache.CacheAffinityCallSelfTest;
import org.apache.ignite.internal.processors.cache.CacheDeferredDeleteSanitySelfTest;
import org.apache.ignite.internal.processors.cache.CacheFutureExceptionSelfTest;
-import org.apache.ignite.internal.processors.cache.CachePutEventListenerErrorSelfTest;
import org.apache.ignite.internal.processors.cache.CacheNamesSelfTest;
+import org.apache.ignite.internal.processors.cache.CachePutEventListenerErrorSelfTest;
import org.apache.ignite.internal.processors.cache.GridCacheAffinityApiSelfTest;
import org.apache.ignite.internal.processors.cache.GridCacheAffinityMapperSelfTest;
import org.apache.ignite.internal.processors.cache.GridCacheAffinityRoutingSelfTest;
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/core/src/test/java/org/apache/ignite/testsuites/IgnitePortableCacheTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgnitePortableCacheTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgnitePortableCacheTestSuite.java
index 574ddeb..efe4d2a 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgnitePortableCacheTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgnitePortableCacheTestSuite.java
@@ -19,6 +19,7 @@ package org.apache.ignite.testsuites;
import java.util.HashSet;
import junit.framework.TestSuite;
+import org.apache.ignite.internal.portable.BinaryMarshaller;
import org.apache.ignite.internal.processors.cache.GridCacheAffinityRoutingSelfTest;
import org.apache.ignite.internal.processors.cache.GridCacheEntryMemorySizeSelfTest;
import org.apache.ignite.internal.processors.cache.GridCacheMvccSelfTest;
@@ -27,7 +28,6 @@ import org.apache.ignite.internal.processors.cache.GridCacheOffHeapTieredEvictio
import org.apache.ignite.internal.processors.cache.GridCacheOffHeapTieredEvictionSelfTest;
import org.apache.ignite.internal.processors.cache.GridCacheOffHeapTieredSelfTest;
import org.apache.ignite.internal.processors.cache.expiry.IgniteCacheAtomicLocalExpiryPolicyTest;
-import org.apache.ignite.internal.processors.cache.expiry.IgniteCacheExpiryPolicyTestSuite;
import org.apache.ignite.internal.processors.cache.portable.GridPortableCacheEntryMemorySizeSelfTest;
import org.apache.ignite.internal.processors.cache.portable.datastreaming.DataStreamProcessorPortableSelfTest;
import org.apache.ignite.internal.processors.cache.portable.datastreaming.GridDataStreamerImplSelfTest;
@@ -44,7 +44,6 @@ import org.apache.ignite.internal.processors.cache.portable.distributed.dht.Grid
import org.apache.ignite.internal.processors.cache.portable.distributed.dht.GridCachePortablesNearPartitionedByteArrayValuesSelfTest;
import org.apache.ignite.internal.processors.cache.portable.distributed.dht.GridCachePortablesPartitionedOnlyByteArrayValuesSelfTest;
import org.apache.ignite.internal.processors.datastreamer.DataStreamProcessorSelfTest;
-import org.apache.ignite.internal.portable.BinaryMarshaller;
import org.apache.ignite.testframework.config.GridTestProperties;
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheP2pUnmarshallingQueryErrorTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheP2pUnmarshallingQueryErrorTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheP2pUnmarshallingQueryErrorTest.java
index 411e363..6f8ca2d 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheP2pUnmarshallingQueryErrorTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheP2pUnmarshallingQueryErrorTest.java
@@ -19,6 +19,7 @@ package org.apache.ignite.internal.processors.cache;
import java.io.IOException;
import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
import javax.cache.CacheException;
import org.apache.ignite.cache.query.ScanQuery;
import org.apache.ignite.cache.query.SqlQuery;
@@ -75,6 +76,10 @@ public class IgniteCacheP2pUnmarshallingQueryErrorTest extends IgniteCacheP2pUnm
private void readObject(ObjectInputStream is) throws IOException {
throw new IOException();
}
+
+ private void writeObject(ObjectOutputStream os) throws IOException {
+ throw new IOException();
+ }
})).getAll();
assertTrue("Request unmarshalling failed, but error response was not sent.", portableMarshaller());
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/osgi/src/test/java/org/apache/ignite/osgi/AbstractIgniteKarafTest.java
----------------------------------------------------------------------
diff --git a/modules/osgi/src/test/java/org/apache/ignite/osgi/AbstractIgniteKarafTest.java b/modules/osgi/src/test/java/org/apache/ignite/osgi/AbstractIgniteKarafTest.java
index 786b543..394de68 100644
--- a/modules/osgi/src/test/java/org/apache/ignite/osgi/AbstractIgniteKarafTest.java
+++ b/modules/osgi/src/test/java/org/apache/ignite/osgi/AbstractIgniteKarafTest.java
@@ -23,9 +23,7 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
import javax.inject.Inject;
-
import org.apache.karaf.features.FeaturesService;
-
import org.junit.runner.RunWith;
import org.ops4j.pax.exam.Option;
import org.ops4j.pax.exam.junit.PaxExam;
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/spring/src/test/java/org/apache/ignite/internal/GridFactorySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/spring/src/test/java/org/apache/ignite/internal/GridFactorySelfTest.java b/modules/spring/src/test/java/org/apache/ignite/internal/GridFactorySelfTest.java
index 8a073fd..bc7dc4b 100644
--- a/modules/spring/src/test/java/org/apache/ignite/internal/GridFactorySelfTest.java
+++ b/modules/spring/src/test/java/org/apache/ignite/internal/GridFactorySelfTest.java
@@ -44,6 +44,7 @@ import org.apache.ignite.internal.util.lang.GridTuple;
import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.G;
import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.lang.IgniteRunnable;
import org.apache.ignite.lifecycle.LifecycleBean;
import org.apache.ignite.lifecycle.LifecycleEventType;
import org.apache.ignite.resources.IgniteInstanceResource;
@@ -857,6 +858,34 @@ public class GridFactorySelfTest extends GridCommonAbstractTest {
}
/**
+ * @throws Exception If failed.
+ */
+ public void testCurrentIgnite() throws Exception {
+ final String LEFT = "LEFT";
+ final String RIGHT = "RIGHT";
+ try {
+ Ignite iLEFT = startGrid(LEFT);
+ Ignite iRIGHT = startGrid(RIGHT);
+ waitForDiscovery(iLEFT, iRIGHT);
+
+ iLEFT.compute(iLEFT.cluster().forRemotes()).run(new IgniteRunnable() {
+ @Override public void run() {
+ assert Ignition.localIgnite().name().equals(RIGHT);
+ }
+ });
+
+ iRIGHT.compute(iRIGHT.cluster().forRemotes()).run(new IgniteRunnable() {
+ @Override public void run() {
+ assert Ignition.localIgnite().name().equals(LEFT);
+ }
+ });
+ }
+ finally {
+ stopAllGrids();
+ }
+ }
+
+ /**
* Test task.
*/
private static class TestTask extends ComputeTaskSplitAdapter<Void, Void> {
http://git-wip-us.apache.org/repos/asf/ignite/blob/0adee3ae/modules/spring/src/test/java/org/apache/ignite/internal/GridSpringBeanSerializationSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/spring/src/test/java/org/apache/ignite/internal/GridSpringBeanSerializationSelfTest.java b/modules/spring/src/test/java/org/apache/ignite/internal/GridSpringBeanSerializationSelfTest.java
index 5c82242..cbe35bd 100644
--- a/modules/spring/src/test/java/org/apache/ignite/internal/GridSpringBeanSerializationSelfTest.java
+++ b/modules/spring/src/test/java/org/apache/ignite/internal/GridSpringBeanSerializationSelfTest.java
@@ -71,6 +71,8 @@ public class GridSpringBeanSerializationSelfTest extends GridCommonAbstractTest
cfg.setConnectorConfiguration(null);
+ cfg.setGridName(getTestGridName());
+
return cfg;
}