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/10/02 15:13:37 UTC
ignite git commit: ignite-1526 IBM JDK is not fully supported by the
platfrom
Repository: ignite
Updated Branches:
refs/heads/ignite-1526 [created] e7a0b931c
ignite-1526 IBM JDK is not fully supported by the platfrom
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/e7a0b931
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/e7a0b931
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/e7a0b931
Branch: refs/heads/ignite-1526
Commit: e7a0b931c795a0436a45d7dffdd65f6400b0f13b
Parents: fd091c8
Author: agura <ag...@gridgain.com>
Authored: Tue Sep 29 17:45:06 2015 +0300
Committer: agura <ag...@gridgain.com>
Committed: Thu Oct 1 18:15:40 2015 +0300
----------------------------------------------------------------------
.../internal/portable/PortableContext.java | 7 +
.../portable/api/PortableMarshaller.java | 16 +-
.../ignite/internal/util/GridJavaProcess.java | 15 +-
.../ignite/internal/util/lang/GridFunc.java | 12 ++
.../apache/ignite/marshaller/Marshaller.java | 2 +-
.../optimized/OptimizedClassDescriptor.java | 6 +-
.../optimized/OptimizedMarshallerUtils.java | 13 +-
.../CacheNoValueClassOnServerNodeTest.java | 2 +-
.../testframework/junits/GridAbstractTest.java | 42 ++++-
.../junits/IgniteTestResources.java | 8 +-
.../junits/common/GridCommonAbstractTest.java | 5 +-
.../multijvm/IgniteCacheProcessProxy.java | 173 ++++++++++---------
.../junits/multijvm/IgniteNodeRunner.java | 39 ++---
.../junits/multijvm/IgniteProcessProxy.java | 13 +-
.../cache/CacheConfigurationP2PTest.java | 3 +
.../ignite/tools/classgen/ClassesGenerator.java | 21 ++-
16 files changed, 221 insertions(+), 156 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e7a0b931/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 2ee96b7..1ad42ab 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
@@ -967,6 +967,9 @@ public class PortableContext implements Externalizable {
}
}
+ /**
+ * Basic class ID mapper.
+ */
private static class BasicClassIdMapper implements PortableIdMapper {
/** {@inheritDoc} */
@Override public int typeId(String clsName) {
@@ -1121,6 +1124,10 @@ public class PortableContext implements Externalizable {
/** Whether the following type is registered in a cache or not */
private final boolean registered;
+ /**
+ * @param id Id.
+ * @param registered Registered.
+ */
public Type(int id, boolean registered) {
this.id = id;
this.registered = registered;
http://git-wip-us.apache.org/repos/asf/ignite/blob/e7a0b931/modules/core/src/main/java/org/apache/ignite/internal/portable/api/PortableMarshaller.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/api/PortableMarshaller.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/api/PortableMarshaller.java
index de0df8d..eebcf5a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/api/PortableMarshaller.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/api/PortableMarshaller.java
@@ -29,12 +29,6 @@ import org.apache.ignite.internal.portable.GridPortableMarshaller;
import org.apache.ignite.internal.portable.PortableContext;
import org.apache.ignite.marshaller.AbstractMarshaller;
import org.apache.ignite.marshaller.MarshallerContext;
-import org.apache.ignite.internal.portable.api.PortableException;
-import org.apache.ignite.internal.portable.api.PortableIdMapper;
-import org.apache.ignite.internal.portable.api.PortableObject;
-import org.apache.ignite.internal.portable.api.PortableProtocolVersion;
-import org.apache.ignite.internal.portable.api.PortableSerializer;
-import org.apache.ignite.internal.portable.api.PortableTypeConfiguration;
import org.jetbrains.annotations.Nullable;
/**
@@ -96,7 +90,7 @@ public class PortableMarshaller extends AbstractMarshaller {
private boolean useTs = true;
/** Whether to convert string to bytes using UTF-8 encoding. */
- private boolean convertString = true;
+ private boolean convertStr = true;
/** Meta data enabled flag. */
private boolean metaDataEnabled = true;
@@ -211,7 +205,7 @@ public class PortableMarshaller extends AbstractMarshaller {
* @return Flag indicating whether string must be converted to byte array using UTF-8 encoding.
*/
public boolean isConvertStringToBytes() {
- return convertString;
+ return convertStr;
}
/**
@@ -219,10 +213,10 @@ public class PortableMarshaller extends AbstractMarshaller {
* <p>
* Default value is {@code true}.
*
- * @param convertString Flag indicating whether string must be converted to byte array using UTF-8 encoding.
+ * @param convertStr Flag indicating whether string must be converted to byte array using UTF-8 encoding.
*/
- public void setConvertStringToBytes(boolean convertString) {
- this.convertString = convertString;
+ public void setConvertStringToBytes(boolean convertStr) {
+ this.convertStr = convertStr;
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/e7a0b931/modules/core/src/main/java/org/apache/ignite/internal/util/GridJavaProcess.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/GridJavaProcess.java b/modules/core/src/main/java/org/apache/ignite/internal/util/GridJavaProcess.java
index 92c20fe..b5215c6 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/GridJavaProcess.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/GridJavaProcess.java
@@ -89,7 +89,7 @@ public final class GridJavaProcess {
*/
public static GridJavaProcess exec(Class cls, String params, @Nullable IgniteLogger log,
@Nullable IgniteInClosure<String> printC, @Nullable GridAbsClosure procKilledC) throws Exception {
- return exec(cls.getCanonicalName(), params, log, printC, procKilledC, null, null);
+ return exec(cls.getCanonicalName(), params, log, printC, procKilledC, null, null, null);
}
/**
@@ -108,7 +108,7 @@ public final class GridJavaProcess {
public static GridJavaProcess exec(Class cls, String params, @Nullable IgniteLogger log,
@Nullable IgniteInClosure<String> printC, @Nullable GridAbsClosure procKilledC,
@Nullable Collection<String> jvmArgs, @Nullable String cp) throws Exception {
- return exec(cls.getCanonicalName(), params, log, printC, procKilledC, jvmArgs, cp);
+ return exec(cls.getCanonicalName(), params, log, printC, procKilledC, null, jvmArgs, cp);
}
/**
@@ -116,17 +116,17 @@ public final class GridJavaProcess {
*
* @param clsName Class with main() method to be run.
* @param params main() method parameters.
+ * @param log Log to use.
* @param printC Optional closure to be called each time wrapped process prints line to system.out or system.err.
* @param procKilledC Optional closure to be called when process termination is detected.
- * @param log Log to use.
+ * @param javaHome Java home location. The process will be started under given JVM.
* @param jvmArgs JVM arguments to use.
- * @param cp Additional classpath.
- * @return Wrapper around {@link Process}
+ * @param cp Additional classpath. @return Wrapper around {@link Process}
* @throws Exception If any problem occurred.
*/
public static GridJavaProcess exec(String clsName, String params, @Nullable IgniteLogger log,
@Nullable IgniteInClosure<String> printC, @Nullable GridAbsClosure procKilledC,
- @Nullable Collection<String> jvmArgs, @Nullable String cp) throws Exception {
+ @Nullable String javaHome, @Nullable Collection<String> jvmArgs, @Nullable String cp) throws Exception {
if (!(U.isLinux() || U.isMacOs() || U.isWindows()))
throw new Exception("Your OS is not supported.");
@@ -140,7 +140,8 @@ public final class GridJavaProcess {
List<String> procCommands = new ArrayList<>();
- String javaBin = System.getProperty("java.home") + File.separator + "bin" + File.separator + "java";
+ String javaBin = (javaHome == null ? System.getProperty("java.home") : javaHome) +
+ File.separator + "bin" + File.separator + "java";
procCommands.add(javaBin);
procCommands.addAll(jvmArgs == null ? U.jvmArgs() : jvmArgs);
http://git-wip-us.apache.org/repos/asf/ignite/blob/e7a0b931/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridFunc.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridFunc.java b/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridFunc.java
index ffeeca0..43bc5f3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridFunc.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridFunc.java
@@ -103,6 +103,9 @@ public class GridFunc {
/** */
private static final IgniteClosure IDENTITY = new C1() {
+ /** */
+ private static final long serialVersionUID = -6338573080046225172L;
+
@Override public Object apply(Object o) {
return o;
}
@@ -1196,6 +1199,9 @@ public class GridFunc {
A.notNull(nodeId, "nodeId");
return new P1<T>() {
+ /** */
+ private static final long serialVersionUID = -7082730222779476623L;
+
@Override public boolean apply(ClusterNode e) {
return e.id().equals(nodeId);
}
@@ -1705,6 +1711,9 @@ public class GridFunc {
assert c != null;
return new GridSerializableList<T2>() {
+ /** */
+ private static final long serialVersionUID = 3126625219739967068L;
+
@Override public T2 get(int idx) {
return trans.apply(c.get(idx));
}
@@ -1766,6 +1775,9 @@ public class GridFunc {
assert m != null;
return isEmpty(p) || isAlwaysTrue(p) ? m : new GridSerializableMap<K, V>() {
+ /** */
+ private static final long serialVersionUID = 5531745605372387948L;
+
/** Entry predicate. */
private IgnitePredicate<Entry<K, V>> ep = new P1<Map.Entry<K, V>>() {
@Override public boolean apply(Entry<K, V> e) {
http://git-wip-us.apache.org/repos/asf/ignite/blob/e7a0b931/modules/core/src/main/java/org/apache/ignite/marshaller/Marshaller.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/marshaller/Marshaller.java b/modules/core/src/main/java/org/apache/ignite/marshaller/Marshaller.java
index 3e815fd..a76daa8 100644
--- a/modules/core/src/main/java/org/apache/ignite/marshaller/Marshaller.java
+++ b/modules/core/src/main/java/org/apache/ignite/marshaller/Marshaller.java
@@ -92,7 +92,7 @@ public interface Marshaller {
public byte[] marshal(@Nullable Object obj) throws IgniteCheckedException;
/**
- * Unmarshals object from the output stream using given class loader.
+ * Unmarshals object from the input stream using given class loader.
* This method should not close given input stream.
*
* @param <T> Type of unmarshalled object.
http://git-wip-us.apache.org/repos/asf/ignite/blob/e7a0b931/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedClassDescriptor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedClassDescriptor.java b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedClassDescriptor.java
index a4f4cdc..2ba0c01 100644
--- a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedClassDescriptor.java
+++ b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedClassDescriptor.java
@@ -820,10 +820,14 @@ class OptimizedClassDescriptor {
* @throws IOException In case of error.
*/
private void verifyChecksum(short checksum) throws ClassNotFoundException, IOException {
- if (checksum != this.checksum)
+ if (checksum != this.checksum) {
+
+ System.out.println("CHECK: " + this.cls.getName() + " " + this.checksum + " " + checksum);
+
throw new ClassNotFoundException("Optimized stream class checksum mismatch " +
"(is same version of marshalled class present on all nodes?) " +
"[expected=" + this.checksum + ", actual=" + checksum + ", cls=" + cls + ']');
+ }
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/e7a0b931/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshallerUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshallerUtils.java b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshallerUtils.java
index 4abbd04..82c7517 100644
--- a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshallerUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshallerUtils.java
@@ -42,6 +42,10 @@ class OptimizedMarshallerUtils {
/** */
private static final Unsafe UNSAFE = GridUnsafe.unsafe();
+ /** Use default {@code serialVersionUid} for {@link Serializable} classes. */
+ private static final boolean USE_DFLT_SUID =
+ Boolean.valueOf(System.getProperty("ignite.marsh.optimized.useDefaultSUID", Boolean.FALSE.toString()));
+
/** */
static final long HASH_SET_MAP_OFF;
@@ -283,8 +287,13 @@ class OptimizedMarshallerUtils {
*/
@SuppressWarnings("ForLoopReplaceableByForEach")
static short computeSerialVersionUid(Class cls, List<Field> fields) throws IOException {
- if (Serializable.class.isAssignableFrom(cls) && !Enum.class.isAssignableFrom(cls))
- return (short)ObjectStreamClass.lookup(cls).getSerialVersionUID();
+ if (USE_DFLT_SUID && Serializable.class.isAssignableFrom(cls) && !Enum.class.isAssignableFrom(cls)) {
+ short uid = (short)ObjectStreamClass.lookup(cls).getSerialVersionUID();
+
+ System.out.println("SUID: " + cls.getName() + " " + uid);
+
+ return uid;
+ }
MessageDigest md;
http://git-wip-us.apache.org/repos/asf/ignite/blob/e7a0b931/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheNoValueClassOnServerNodeTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheNoValueClassOnServerNodeTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheNoValueClassOnServerNodeTest.java
index da694b5..225ab29 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheNoValueClassOnServerNodeTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheNoValueClassOnServerNodeTest.java
@@ -111,7 +111,7 @@ public class CacheNoValueClassOnServerNodeTest extends GridCommonAbstractTest {
}
},
null,
- jvmArgs,
+ null, jvmArgs,
cp
);
http://git-wip-us.apache.org/repos/asf/ignite/blob/e7a0b931/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 f54fe06..10af3b9 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
@@ -1546,15 +1546,7 @@ public abstract class GridAbstractTest extends TestCase {
* @param job Job.
*/
public static <R> R executeRemotely(IgniteProcessProxy proxy, final TestIgniteCallable<R> job) {
- final UUID id = proxy.getId();
-
- return proxy.remoteCompute().call(new IgniteCallable<R>() {
- @Override public R call() throws Exception {
- Ignite ignite = Ignition.ignite(id);
-
- return job.call(ignite);
- }
- });
+ return proxy.remoteCompute().call(new TestRemoteTask<>(proxy.getId(), job));
}
/**
@@ -1571,6 +1563,8 @@ public abstract class GridAbstractTest extends TestCase {
final String cacheName = cache.getName();
return proxy.remoteCompute().call(new IgniteCallable<R>() {
+ private static final long serialVersionUID = -3868429485920845137L;
+
@Override public R call() throws Exception {
Ignite ignite = Ignition.ignite(id);
IgniteCache<K,V> cache = ignite.cache(cacheName);
@@ -1781,6 +1775,36 @@ public abstract class GridAbstractTest extends TestCase {
}
/**
+ * Remote computation task.
+ */
+ private static class TestRemoteTask<R> implements IgniteCallable<R> {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Node ID. */
+ private final UUID id;
+
+ /** Job. */
+ private final TestIgniteCallable<R> job;
+
+ /**
+ * @param id Id.
+ * @param job Job.
+ */
+ public TestRemoteTask(UUID id, TestIgniteCallable<R> job) {
+ this.id = id;
+ this.job = job;
+ }
+
+ /** {@inheritDoc} */
+ @Override public R call() throws Exception {
+ Ignite ignite = Ignition.ignite(id);
+
+ return job.call(ignite);
+ }
+ }
+
+ /**
* Test counters.
*/
protected class TestCounters {
http://git-wip-us.apache.org/repos/asf/ignite/blob/e7a0b931/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 eb72252..406318f 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
@@ -42,6 +42,9 @@ import org.jetbrains.annotations.Nullable;
* Test resources for injection.
*/
public class IgniteTestResources {
+ /** Marshaller class name. */
+ public static final String MARSH_CLASS_NAME = "test.marshaller.class";
+
/** */
private static final IgniteLogger rootLog = new GridTestLog4jLogger(false);
@@ -230,8 +233,9 @@ public class IgniteTestResources {
* @throws IgniteCheckedException If failed.
*/
@SuppressWarnings("unchecked")
- public synchronized Marshaller getMarshaller() throws IgniteCheckedException {
- String marshallerName = GridTestProperties.getProperty(GridTestProperties.MARSH_CLASS_NAME);
+ public static synchronized Marshaller getMarshaller() throws IgniteCheckedException {
+ String marshallerName =
+ System.getProperty(MARSH_CLASS_NAME, GridTestProperties.getProperty(GridTestProperties.MARSH_CLASS_NAME));
Marshaller marsh;
http://git-wip-us.apache.org/repos/asf/ignite/blob/e7a0b931/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java
index 4bcf51e..c86fea1 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java
@@ -285,10 +285,13 @@ public abstract class GridCommonAbstractTest extends GridAbstractTest {
* @throws Exception If failed.
*/
@SuppressWarnings("unchecked")
- protected static <K> void loadAll(Cache<K, ?> cache, final Set<K> keys, final boolean replaceExistingValues) throws Exception {
+ protected static <K> void loadAll(Cache<K, ?> cache, final Set<K> keys, final boolean replaceExistingValues)
+ throws Exception {
IgniteCache<K, Object> cacheCp = (IgniteCache<K, Object>)cache;
GridAbstractTest.executeOnLocalOrRemoteJvm(cacheCp, new TestCacheRunnable<K, Object>() {
+ private static final long serialVersionUID = -3030833765012500545L;
+
@Override public void run(Ignite ignite, IgniteCache<K, Object> cache) throws Exception {
final AtomicReference<Exception> ex = new AtomicReference<>();
http://git-wip-us.apache.org/repos/asf/ignite/blob/e7a0b931/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteCacheProcessProxy.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteCacheProcessProxy.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteCacheProcessProxy.java
index ac8c5af..e330f4e 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteCacheProcessProxy.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteCacheProcessProxy.java
@@ -82,7 +82,7 @@ public class IgniteCacheProcessProxy<K, V> implements IgniteCache<K, V> {
/**
* @param name Name.
- * @param async
+ * @param async Async flag.
* @param proxy Ignite Process Proxy.
*/
public IgniteCacheProcessProxy(String name, boolean async, IgniteProcessProxy proxy) {
@@ -98,8 +98,8 @@ public class IgniteCacheProcessProxy<K, V> implements IgniteCache<K, V> {
*
* @return Cache.
*/
- private IgniteCache<Object, Object> cache() {
- IgniteCache cache = Ignition.ignite(gridId).cache(cacheName);
+ private IgniteCache<K, V> cache() {
+ IgniteCache<K, V> cache = Ignition.ignite(gridId).cache(cacheName);
if (isAsync)
cache = cache.withAsync();
@@ -125,11 +125,9 @@ public class IgniteCacheProcessProxy<K, V> implements IgniteCache<K, V> {
/** {@inheritDoc} */
@Override public <C extends Configuration<K, V>> C getConfiguration(final Class<C> clazz) {
- final Class cl = clazz;
-
- return (C)compute.call(new IgniteCallable<Object>() {
- @Override public Object call() throws Exception {
- return cache().getConfiguration(cl);
+ return compute.call(new IgniteCallable<C>() {
+ @Override public C call() throws Exception {
+ return cache().getConfiguration(clazz);
}
});
}
@@ -149,6 +147,7 @@ public class IgniteCacheProcessProxy<K, V> implements IgniteCache<K, V> {
throw new UnsupportedOperationException("Method should be supported.");
}
+ /** {@inheritDoc} */
@Override public IgniteCache<K, V> withNoRetries() {
throw new UnsupportedOperationException("Method should be supported.");
}
@@ -159,20 +158,19 @@ public class IgniteCacheProcessProxy<K, V> implements IgniteCache<K, V> {
}
/** {@inheritDoc} */
- @Override public void localLoadCache(@Nullable final IgniteBiPredicate<K, V> p, @Nullable final Object... args) throws CacheException {
- final IgniteBiPredicate pCopy = p;
-
+ @Override public void localLoadCache(@Nullable final IgniteBiPredicate<K, V> p, @Nullable final Object... args)
+ throws CacheException {
compute.run(new IgniteRunnable() {
@Override public void run() {
- cache().localLoadCache(pCopy, args);
+ cache().localLoadCache(p, args);
}
});
}
/** {@inheritDoc} */
@Override public V getAndPutIfAbsent(final K key, final V val) throws CacheException {
- return (V)compute.call(new IgniteCallable<Object>() {
- @Override public Object call() throws Exception {
+ return compute.call(new IgniteCallable<V>() {
+ @Override public V call() throws Exception {
return cache().getAndPutIfAbsent(key, val);
}
});
@@ -203,14 +201,13 @@ public class IgniteCacheProcessProxy<K, V> implements IgniteCache<K, V> {
}
/** {@inheritDoc} */
- @SuppressWarnings("unchecked")
@Override public Iterable<Entry<K, V>> localEntries(final CachePeekMode... peekModes) throws CacheException {
- return (Iterable<Entry<K, V>>)compute.call(new IgniteCallable<Object>() {
- @Override public Object call() throws Exception {
- Collection<Entry> res = new ArrayList<>();
+ return compute.call(new IgniteCallable<Iterable<Entry<K, V>>>() {
+ @Override public Iterable<Entry<K, V>> call() throws Exception {
+ Collection<Entry<K, V>> res = new ArrayList<>();
- for (Entry e : cache().localEntries(peekModes))
- res.add(new CacheEntryImpl(e.getKey(), e.getValue()));
+ for (Entry<K, V> e : cache().localEntries(peekModes))
+ res.add(new CacheEntryImpl<>(e.getKey(), e.getValue()));
return res;
}
@@ -233,8 +230,8 @@ public class IgniteCacheProcessProxy<K, V> implements IgniteCache<K, V> {
/** {@inheritDoc} */
@Override public V localPeek(final K key, final CachePeekMode... peekModes) {
- return (V)compute.call(new IgniteCallable<Object>() {
- @Override public Object call() throws Exception {
+ return compute.call(new IgniteCallable<V>() {
+ @Override public V call() throws Exception {
return cache().localPeek(key, peekModes);
}
});
@@ -247,8 +244,8 @@ public class IgniteCacheProcessProxy<K, V> implements IgniteCache<K, V> {
/** {@inheritDoc} */
@Override public int size(final CachePeekMode... peekModes) throws CacheException {
- return (int)compute.call(new IgniteCallable<Object>() {
- @Override public Object call() throws Exception {
+ return compute.call(new IgniteCallable<Integer>() {
+ @Override public Integer call() throws Exception {
return cache().size(peekModes);
}
});
@@ -256,23 +253,25 @@ public class IgniteCacheProcessProxy<K, V> implements IgniteCache<K, V> {
/** {@inheritDoc} */
@Override public int localSize(final CachePeekMode... peekModes) {
- return (int)compute.call(new IgniteCallable<Object>() {
- @Override public Object call() throws Exception {
+ return compute.call(new IgniteCallable<Integer>() {
+ @Override public Integer call() throws Exception {
return cache().localSize(peekModes);
}
});
}
/** {@inheritDoc} */
- @Override public <T> Map<K, EntryProcessorResult<T>> invokeAll(Map<? extends K, ? extends EntryProcessor<K, V, T>> map,
- Object... args) {
+ @Override public <T> Map<K, EntryProcessorResult<T>> invokeAll(
+ Map<? extends K, ? extends EntryProcessor<K, V, T>> map,
+ Object... args)
+ {
throw new UnsupportedOperationException("Method should be supported.");
}
/** {@inheritDoc} */
@Override public V get(final K key) {
- return (V)compute.call(new IgniteCallable<Object>() {
- @Override public Object call() throws Exception {
+ return compute.call(new IgniteCallable<V>() {
+ @Override public V call() throws Exception {
return cache().get(key);
}
});
@@ -280,16 +279,17 @@ public class IgniteCacheProcessProxy<K, V> implements IgniteCache<K, V> {
/** {@inheritDoc} */
@Override public Map<K, V> getAll(final Set<? extends K> keys) {
- return (Map<K, V>)compute.call(new IgniteCallable<Object>() {
- @Override public Object call() throws Exception {
+ return compute.call(new IgniteCallable<Map<K, V>>() {
+ @Override public Map<K, V> call() throws Exception {
return cache().getAll(keys);
}
});
}
+ /** {@inheritDoc} */
@Override public Map<K, V> getAllOutTx(final Set<? extends K> keys) {
- return (Map<K, V>)compute.call(new IgniteCallable<Object>() {
- @Override public Object call() throws Exception {
+ return compute.call(new IgniteCallable<Map<K, V>>() {
+ @Override public Map<K, V> call() throws Exception {
return cache().getAllOutTx(keys);
}
});
@@ -297,29 +297,29 @@ public class IgniteCacheProcessProxy<K, V> implements IgniteCache<K, V> {
/** {@inheritDoc} */
@Override public boolean containsKey(final K key) {
- return (boolean)compute.call(new IgniteCallable<Object>() {
- @Override public Object call() throws Exception {
+ return compute.call(new IgniteCallable<Boolean>() {
+ @Override public Boolean call() throws Exception {
return cache().containsKey(key);
}
});
}
/** {@inheritDoc} */
- @Override public void loadAll(Set<? extends K> keys, boolean replaceExistingValues, CompletionListener completionLsnr) {
+ @Override public void loadAll(Set<? extends K> keys, boolean replaceExistVals, CompletionListener completionLsnr) {
throw new UnsupportedOperationException("Oparetion can't be supported automatically.");
}
/** {@inheritDoc} */
@Override public boolean containsKeys(final Set<? extends K> keys) {
- return (boolean)compute.call(new IgniteCallable<Object>() {
- @Override public Object call() throws Exception {
+ return compute.call(new IgniteCallable<Boolean>() {
+ @Override public Boolean call() throws Exception {
return cache().containsKeys(keys);
}
});
}
/** {@inheritDoc} */
- @Override public void put(final K key, final V val) {;
+ @Override public void put(final K key, final V val) {
compute.run(new IgniteRunnable() {
@Override public void run() {
cache().put(key, val);
@@ -329,8 +329,8 @@ public class IgniteCacheProcessProxy<K, V> implements IgniteCache<K, V> {
/** {@inheritDoc} */
@Override public V getAndPut(final K key, final V val) {
- return (V)compute.call(new IgniteCallable<Object>() {
- @Override public Object call() throws Exception {
+ return compute.call(new IgniteCallable<V>() {
+ @Override public V call() throws Exception {
return cache().getAndPut(key, val);
}
});
@@ -339,6 +339,8 @@ public class IgniteCacheProcessProxy<K, V> implements IgniteCache<K, V> {
/** {@inheritDoc} */
@Override public void putAll(final Map<? extends K, ? extends V> map) {
compute.run(new IgniteRunnable() {
+ private static final long serialVersionUID = 0L;
+
@Override public void run() {
cache().putAll(map);
}
@@ -347,8 +349,8 @@ public class IgniteCacheProcessProxy<K, V> implements IgniteCache<K, V> {
/** {@inheritDoc} */
@Override public boolean putIfAbsent(final K key, final V val) {
- return (boolean)compute.call(new IgniteCallable<Object>() {
- @Override public Object call() throws Exception {
+ return compute.call(new IgniteCallable<Boolean>() {
+ @Override public Boolean call() throws Exception {
return cache().putIfAbsent(key, val);
}
});
@@ -356,8 +358,8 @@ public class IgniteCacheProcessProxy<K, V> implements IgniteCache<K, V> {
/** {@inheritDoc} */
@Override public boolean remove(final K key) {
- return (boolean)compute.call(new IgniteCallable<Object>() {
- @Override public Object call() throws Exception {
+ return compute.call(new IgniteCallable<Boolean>() {
+ @Override public Boolean call() throws Exception {
return cache().remove(key);
}
});
@@ -365,8 +367,8 @@ public class IgniteCacheProcessProxy<K, V> implements IgniteCache<K, V> {
/** {@inheritDoc} */
@Override public boolean remove(final K key, final V oldVal) {
- return (boolean)compute.call(new IgniteCallable<Object>() {
- @Override public Object call() throws Exception {
+ return compute.call(new IgniteCallable<Boolean>() {
+ @Override public Boolean call() throws Exception {
return cache().remove(key, oldVal);
}
});
@@ -374,8 +376,8 @@ public class IgniteCacheProcessProxy<K, V> implements IgniteCache<K, V> {
/** {@inheritDoc} */
@Override public V getAndRemove(final K key) {
- return (V)compute.call(new IgniteCallable<Object>() {
- @Override public Object call() throws Exception {
+ return compute.call(new IgniteCallable<V>() {
+ @Override public V call() throws Exception {
return cache().getAndRemove(key);
}
});
@@ -383,8 +385,8 @@ public class IgniteCacheProcessProxy<K, V> implements IgniteCache<K, V> {
/** {@inheritDoc} */
@Override public boolean replace(final K key, final V oldVal, final V newVal) {
- return (boolean)compute.call(new IgniteCallable<Object>() {
- @Override public Object call() throws Exception {
+ return compute.call(new IgniteCallable<Boolean>() {
+ @Override public Boolean call() throws Exception {
return cache().replace(key, oldVal, newVal);
}
});
@@ -392,8 +394,8 @@ public class IgniteCacheProcessProxy<K, V> implements IgniteCache<K, V> {
/** {@inheritDoc} */
@Override public boolean replace(final K key, final V val) {
- return (boolean)compute.call(new IgniteCallable<Object>() {
- @Override public Object call() throws Exception {
+ return compute.call(new IgniteCallable<Boolean>() {
+ @Override public Boolean call() throws Exception {
return cache().replace(key, val);
}
});
@@ -401,8 +403,8 @@ public class IgniteCacheProcessProxy<K, V> implements IgniteCache<K, V> {
/** {@inheritDoc} */
@Override public V getAndReplace(final K key, final V val) {
- return (V)compute.call(new IgniteCallable<Object>() {
- @Override public Object call() throws Exception {
+ return compute.call(new IgniteCallable<V>() {
+ @Override public V call() throws Exception {
return cache().getAndReplace(key, val);
}
});
@@ -421,7 +423,7 @@ public class IgniteCacheProcessProxy<K, V> implements IgniteCache<K, V> {
@Override public void removeAll() {
compute.run(new IgniteRunnable() {
@Override public void run() {
- IgniteCache<Object, Object> cache = cache();
+ IgniteCache<K, V> cache = cache();
cache.removeAll();
@@ -477,40 +479,40 @@ public class IgniteCacheProcessProxy<K, V> implements IgniteCache<K, V> {
}
/** {@inheritDoc} */
- @Override public <T> T invoke(final K key, final EntryProcessor<K, V, T> entryProcessor, final Object... arguments) {
- return (T)compute.call(new IgniteCallable<Object>() {
- @Override public Object call() throws Exception {
- return cache().invoke(key,
- (EntryProcessor<Object, Object, Object>)entryProcessor, arguments);
+ @Override public <T> T invoke(final K key, final EntryProcessor<K, V, T> processor, final Object... args) {
+ return compute.call(new IgniteCallable<T>() {
+ @Override public T call() throws Exception {
+ return cache().invoke(key, processor, args);
}
});
}
/** {@inheritDoc} */
- @Override public <T> T invoke(final K key, final CacheEntryProcessor<K, V, T> entryProcessor, final Object... arguments) {
- return (T)compute.call(new IgniteCallable<Object>() {
- @Override public Object call() throws Exception {
- return cache().invoke(key,
- (CacheEntryProcessor<Object, Object, Object>)entryProcessor, arguments);
+ @Override public <T> T invoke(final K key, final CacheEntryProcessor<K, V, T> processor, final Object... args) {
+ return compute.call(new IgniteCallable<T>() {
+ @Override public T call() throws Exception {
+ return cache().invoke(key, processor, args);
}
});
}
/** {@inheritDoc} */
- @Override public <T> Map<K, EntryProcessorResult<T>> invokeAll(final Set<? extends K> keys, final EntryProcessor<K, V, T> entryProcessor,
- final Object... args) {
- return (Map<K, EntryProcessorResult<T>>)compute.call(new IgniteCallable<Object>() {
- @Override public Object call() throws Exception {
- return cache().invokeAll(keys,
- (EntryProcessor<Object, Object, Object>)entryProcessor, args);
+ @Override public <T> Map<K, EntryProcessorResult<T>> invokeAll(
+ final Set<? extends K> keys,
+ final EntryProcessor<K, V, T> processor,
+ final Object... args)
+ {
+ return compute.call(new IgniteCallable<Map<K, EntryProcessorResult<T>>>() {
+ @Override public Map<K, EntryProcessorResult<T>> call() throws Exception {
+ return cache().invokeAll(keys, processor, args);
}
});
}
/** {@inheritDoc} */
@Override public String getName() {
- return (String)compute.call(new IgniteCallable<Object>() {
- @Override public Object call() throws Exception {
+ return compute.call(new IgniteCallable<String>() {
+ @Override public String call() throws Exception {
return cache().getName();
}
});
@@ -541,21 +543,22 @@ public class IgniteCacheProcessProxy<K, V> implements IgniteCache<K, V> {
/** {@inheritDoc} */
@Override public boolean isClosed() {
- return (boolean)compute.call(new IgniteCallable<Object>() {
- @Override public Object call() throws Exception {
+ return compute.call(new IgniteCallable<Boolean>() {
+ @Override public Boolean call() throws Exception {
return cache().isClosed();
}
});
}
/** {@inheritDoc} */
+ @SuppressWarnings("unchecked")
@Override public <T> T unwrap(final Class<T> clazz) {
if (Ignite.class.equals(clazz))
return (T)igniteProxy;
try {
- return (T)compute.call(new IgniteCallable<Object>() {
- @Override public Object call() throws Exception {
+ return compute.call(new IgniteCallable<T>() {
+ @Override public T call() throws Exception {
return cache().unwrap(clazz);
}
});
@@ -566,22 +569,22 @@ public class IgniteCacheProcessProxy<K, V> implements IgniteCache<K, V> {
}
/** {@inheritDoc} */
- @Override public void registerCacheEntryListener(CacheEntryListenerConfiguration<K, V> cacheEntryListenerConfiguration) {
+ @Override public void registerCacheEntryListener(CacheEntryListenerConfiguration<K, V> cacheEntryLsnrConfiguration) {
throw new UnsupportedOperationException("Method should be supported.");
}
/** {@inheritDoc} */
- @Override public void deregisterCacheEntryListener(CacheEntryListenerConfiguration<K, V> cacheEntryListenerConfiguration) {
+ @Override public void deregisterCacheEntryListener(CacheEntryListenerConfiguration<K, V> cacheEntryLsnrConfiguration) {
throw new UnsupportedOperationException("Method should be supported.");
}
/** {@inheritDoc} */
@Override public Iterator<Entry<K, V>> iterator() {
- final Collection<Entry<K, V>> col = (Collection<Entry<K, V>>)compute.call(new IgniteCallable<Object>() {
- @Override public Object call() throws Exception {
- Collection res = new ArrayList();
+ final Collection<Entry<K, V>> col = compute.call(new IgniteCallable<Collection<Entry<K, V>>>() {
+ @Override public Collection<Entry<K, V>> call() throws Exception {
+ Collection<Entry<K, V>> res = new ArrayList<>();
- for (Object o : cache())
+ for (Entry<K, V> o : cache())
res.add(o);
return res;
http://git-wip-us.apache.org/repos/asf/ignite/blob/e7a0b931/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteNodeRunner.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteNodeRunner.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteNodeRunner.java
index f46e8e9..0597eda 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteNodeRunner.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteNodeRunner.java
@@ -25,13 +25,12 @@ import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStream;
-import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Set;
import org.apache.ignite.Ignite;
-import org.apache.ignite.IgniteException;
+import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.Ignition;
import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.IgniteEx;
@@ -39,8 +38,9 @@ import org.apache.ignite.internal.processors.cache.GridCacheAbstractFullApiSelfT
import org.apache.ignite.internal.util.GridJavaProcess;
import org.apache.ignite.internal.util.typedef.X;
import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.marshaller.optimized.OptimizedMarshaller;
+import org.apache.ignite.marshaller.Marshaller;
import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
+import org.apache.ignite.testframework.junits.IgniteTestResources;
import sun.jvmstat.monitor.HostIdentifier;
import sun.jvmstat.monitor.MonitoredHost;
import sun.jvmstat.monitor.MonitoredVm;
@@ -99,30 +99,6 @@ public class IgniteNodeRunner {
public static String storeToFile(IgniteConfiguration cfg) throws IOException {
String fileName = IGNITE_CONFIGURATION_FILE + cfg.getNodeId();
- // Check marshaller configuration, because read configuration method expect specific marshaller.
- if (cfg.getMarshaller() instanceof OptimizedMarshaller){
- OptimizedMarshaller marsh = (OptimizedMarshaller)cfg.getMarshaller();
-
- try {
- Field isRequireFiled = marsh.getClass().getDeclaredField("requireSer");
-
- isRequireFiled.setAccessible(true);
-
- boolean isRequireSer = isRequireFiled.getBoolean(marsh);
-
- if (isRequireSer)
- throw new UnsupportedOperationException("Unsupported marshaller configuration. " +
- "readCfgFromFileAndDeleteFile method expect " + OptimizedMarshaller.class.getSimpleName() +
- "with requireSerializeble flag in 'false'.");
- }
- catch (NoSuchFieldException|IllegalAccessException e) {
- throw new IgniteException("Failed to check filed of " + OptimizedMarshaller.class.getSimpleName(), e);
- }
- }
- else
- throw new UnsupportedOperationException("Unsupported marshaller. " +
- "readCfgFromFileAndDeleteFile method expect " + OptimizedMarshaller.class.getSimpleName());
-
try(OutputStream out = new BufferedOutputStream(new FileOutputStream(fileName))) {
cfg.setMBeanServer(null);
cfg.setMarshaller(null);
@@ -143,11 +119,16 @@ public class IgniteNodeRunner {
* @throws IOException If failed.
* @see #storeToFile(IgniteConfiguration)
*/
- private static IgniteConfiguration readCfgFromFileAndDeleteFile(String fileName) throws IOException {
+ private static IgniteConfiguration readCfgFromFileAndDeleteFile(String fileName)
+ throws IOException, IgniteCheckedException {
try(BufferedReader cfgReader = new BufferedReader(new FileReader(fileName))) {
IgniteConfiguration cfg = (IgniteConfiguration)new XStream().fromXML(cfgReader);
- cfg.setMarshaller(new OptimizedMarshaller(false));
+ Marshaller marsh = IgniteTestResources.getMarshaller();
+
+ cfg.setMarshaller(marsh);
+
+ X.println("Configured marshaller class: " + marsh.getClass().getName());
TcpDiscoverySpi disco = new TcpDiscoverySpi();
disco.setIpFinder(GridCacheAbstractFullApiSelfTest.LOCAL_IP_FINDER);
http://git-wip-us.apache.org/repos/asf/ignite/blob/e7a0b931/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteProcessProxy.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteProcessProxy.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteProcessProxy.java
index ec7dab7..a84c3654 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteProcessProxy.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteProcessProxy.java
@@ -41,7 +41,6 @@ import org.apache.ignite.IgniteFileSystem;
import org.apache.ignite.IgniteIllegalStateException;
import org.apache.ignite.IgniteLogger;
import org.apache.ignite.IgniteMessaging;
-import org.apache.ignite.internal.portable.api.IgnitePortables;
import org.apache.ignite.IgniteQueue;
import org.apache.ignite.IgniteScheduler;
import org.apache.ignite.IgniteServices;
@@ -62,6 +61,7 @@ import org.apache.ignite.internal.GridKernalContext;
import org.apache.ignite.internal.IgniteEx;
import org.apache.ignite.internal.IgniteInterruptedCheckedException;
import org.apache.ignite.internal.cluster.IgniteClusterEx;
+import org.apache.ignite.internal.portable.api.IgnitePortables;
import org.apache.ignite.internal.processors.cache.GridCacheUtilityKey;
import org.apache.ignite.internal.processors.cache.IgniteInternalCache;
import org.apache.ignite.internal.processors.hadoop.Hadoop;
@@ -78,6 +78,7 @@ import org.apache.ignite.lang.IgniteProductVersion;
import org.apache.ignite.lang.IgniteRunnable;
import org.apache.ignite.plugin.IgnitePlugin;
import org.apache.ignite.plugin.PluginNotFoundException;
+import org.apache.ignite.testframework.junits.IgniteTestResources;
import org.jetbrains.annotations.Nullable;
/**
@@ -88,6 +89,9 @@ public class IgniteProcessProxy implements IgniteEx {
/** Grid proxies. */
private static final transient ConcurrentMap<String, IgniteProcessProxy> gridProxies = new ConcurrentHashMap<>();
+ /** Property that specify alternative {@code JAVA_HOME}. */
+ private static final String TEST_MULTIJVM_JAVA_HOME = "test.multijvm.java.home";
+
/** Jvm process with ignite instance. */
private final transient GridJavaProcess proc;
@@ -121,7 +125,9 @@ public class IgniteProcessProxy implements IgniteEx {
Collection<String> filteredJvmArgs = new ArrayList<>();
for (String arg : jvmArgs) {
- if(!arg.toLowerCase().startsWith("-agentlib"))
+ if(arg.startsWith("-Xmx") || arg.startsWith("-Xms") ||
+ arg.startsWith("-cp") || arg.startsWith("-classpath") ||
+ arg.startsWith("-D" + IgniteTestResources.MARSH_CLASS_NAME))
filteredJvmArgs.add(arg);
}
@@ -130,7 +136,7 @@ public class IgniteProcessProxy implements IgniteEx {
locJvmGrid.events().localListen(new NodeStartedListener(id, rmtNodeStartedLatch), EventType.EVT_NODE_JOINED);
proc = GridJavaProcess.exec(
- IgniteNodeRunner.class,
+ IgniteNodeRunner.class.getCanonicalName(),
cfgFileName, // Params.
this.log,
// Optional closure to be called each time wrapped process prints line to system.out or system.err.
@@ -140,6 +146,7 @@ public class IgniteProcessProxy implements IgniteEx {
}
},
null,
+ System.getProperty(TEST_MULTIJVM_JAVA_HOME),
filteredJvmArgs, // JVM Args.
System.getProperty("surefire.test.class.path")
);
http://git-wip-us.apache.org/repos/asf/ignite/blob/e7a0b931/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/CacheConfigurationP2PTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/CacheConfigurationP2PTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/CacheConfigurationP2PTest.java
index 5298dd4..3777154 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/CacheConfigurationP2PTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/CacheConfigurationP2PTest.java
@@ -103,6 +103,7 @@ public class CacheConfigurationP2PTest extends GridCommonAbstractTest {
}
},
null,
+ null,
jvmArgs,
null
);
@@ -119,6 +120,7 @@ public class CacheConfigurationP2PTest extends GridCommonAbstractTest {
}
},
null,
+ null,
jvmArgs,
null
);
@@ -139,6 +141,7 @@ public class CacheConfigurationP2PTest extends GridCommonAbstractTest {
}
},
null,
+ null,
jvmArgs,
cp
);
http://git-wip-us.apache.org/repos/asf/ignite/blob/e7a0b931/modules/tools/src/main/java/org/apache/ignite/tools/classgen/ClassesGenerator.java
----------------------------------------------------------------------
diff --git a/modules/tools/src/main/java/org/apache/ignite/tools/classgen/ClassesGenerator.java b/modules/tools/src/main/java/org/apache/ignite/tools/classgen/ClassesGenerator.java
index 0b10a75..7f0bd78 100644
--- a/modules/tools/src/main/java/org/apache/ignite/tools/classgen/ClassesGenerator.java
+++ b/modules/tools/src/main/java/org/apache/ignite/tools/classgen/ClassesGenerator.java
@@ -83,6 +83,9 @@ public class ClassesGenerator {
private final Collection<String> errs = new ArrayList<>();
/** */
+ private final Collection<String> warns = new ArrayList<>();
+
+ /** */
private final String basePath;
/** */
@@ -125,6 +128,15 @@ public class ClassesGenerator {
throw new Exception(sb.toString().trim());
}
+ if (!warns.isEmpty()) {
+ StringBuilder sb = new StringBuilder("Failed to generate classnames.properties due to errors:\n");
+
+ for (String err : warns)
+ sb.append("SUID ").append(err).append('\n');
+
+ System.out.println(sb);
+ }
+
PrintStream out = new PrintStream(new File(basePath,
(fileName == null || fileName.isEmpty()) ? DEFAULT_FILE_PATH : META_INF + fileName));
@@ -209,8 +221,7 @@ public class ClassesGenerator {
Class<?> cls = Class.forName(clsName, false, ldr);
if (Serializable.class.isAssignableFrom(cls) && !AbstractQueuedSynchronizer.class.isAssignableFrom(cls)) {
- if (!cls.isInterface() && !Modifier.isAbstract(cls.getModifiers()) && !cls.isEnum() &&
- !cls.getSimpleName().isEmpty()) {
+ if (!cls.isInterface() && !Modifier.isAbstract(cls.getModifiers()) && !cls.isEnum()) {
try {
Field field = cls.getDeclaredField("serialVersionUID");
@@ -226,10 +237,12 @@ public class ClassesGenerator {
errs.add("serialVersionUID field is not final in class: " + cls.getName());
}
catch (NoSuchFieldException ignored) {
- errs.add("No serialVersionUID field in class: " + cls.getName());
+ Collection<String> dst = cls.getSimpleName().isEmpty() ? warns : errs;
+
+ dst.add("No serialVersionUID field in class: " + cls.getName());
}
- if (Externalizable.class.isAssignableFrom(cls)) {
+ if (Externalizable.class.isAssignableFrom(cls) && !cls.getSimpleName().isEmpty()) {
try {
Constructor<?> cons = cls.getConstructor();