You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ag...@apache.org on 2016/12/29 09:37:05 UTC
[01/50] [abbrv] ignite git commit: ignite-gg-11650 Stabilize
8.0.2.ea1 branch after merging activation/deactivation fix restore memory
onKernalStart (save wal record before resume log)
Repository: ignite
Updated Branches:
refs/heads/ignite-3477 [created] 9776f3f49
ignite-gg-11650 Stabilize 8.0.2.ea1 branch after merging activation/deactivation fix restore memory onKernalStart (save wal record before resume log)
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/ef03eef4
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/ef03eef4
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/ef03eef4
Branch: refs/heads/ignite-3477
Commit: ef03eef463af6122b3f2eba35923ae29e419c3fb
Parents: b26ca40
Author: Dmitriy Govorukhin <dg...@gridgain.com>
Authored: Mon Dec 19 18:02:19 2016 +0300
Committer: Dmitriy Govorukhin <dg...@gridgain.com>
Committed: Mon Dec 19 18:02:19 2016 +0300
----------------------------------------------------------------------
.../processors/cache/GridCacheProcessor.java | 27 ++++++++++----------
.../internal/util/OffheapReadWriteLock.java | 4 +++
2 files changed, 17 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/ef03eef4/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 06a6ff8..518fd18 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
@@ -734,20 +734,6 @@ public class GridCacheProcessor extends GridProcessorAdapter {
try {
checkConsistency();
- //must be here, because we must start log wal before start first cache
- if (activeOnStart) {
- //todo not used explicit lock
- if (!ctx.clientNode())
- sharedCtx.database().lock();
-
- sharedCtx.wal().onKernalStart(false);
-
- if (sharedCtx.pageStore() != null)
- sharedCtx.pageStore().onKernalStart(false);
-
- sharedCtx.database().onKernalStart(false);
- }
-
// Start dynamic caches received from collect discovery data.
for (DynamicCacheDescriptor desc : registeredCaches.values()) {
if (ctx.config().isDaemon() && !CU.isMarshallerCache(desc.cacheConfiguration().getName()))
@@ -793,6 +779,19 @@ public class GridCacheProcessor extends GridProcessorAdapter {
cacheStartedLatch.countDown();
}
+ if (activeOnStart) {
+ //todo not used explicit lock
+ if (!ctx.clientNode())
+ sharedCtx.database().lock();
+
+ sharedCtx.wal().onKernalStart(false);
+
+ if (sharedCtx.pageStore() != null)
+ sharedCtx.pageStore().onKernalStart(false);
+
+ sharedCtx.database().onKernalStart(false);
+ }
+
// Must call onKernalStart on shared managers after creation of fetched caches.
for (GridCacheSharedManager<?, ?> mgr : sharedCtx.managers())
if (sharedCtx.database() != mgr && sharedCtx.wal() != mgr && sharedCtx.pageStore() != mgr)
http://git-wip-us.apache.org/repos/asf/ignite/blob/ef03eef4/modules/core/src/main/java/org/apache/ignite/internal/util/OffheapReadWriteLock.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/OffheapReadWriteLock.java b/modules/core/src/main/java/org/apache/ignite/internal/util/OffheapReadWriteLock.java
index 8197bff..83765ce 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/OffheapReadWriteLock.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/OffheapReadWriteLock.java
@@ -515,6 +515,10 @@ public class OffheapReadWriteLock {
return lockCount(state) == 0;
}
+ /**
+ * @param state State.
+ * @param tag Tag.
+ */
private boolean checkTag(long state, int tag) {
// If passed in tag is negative, lock regardless of the state.
return tag < 0 || tag(state) == tag;
[22/50] [abbrv] ignite git commit: ignite-gg-11650 Stabilize
8.0.2.ea1 branch after merging activation/deactivation fix join inactive node
to active cluster (minor update)
Posted by ag...@apache.org.
ignite-gg-11650 Stabilize 8.0.2.ea1 branch after merging activation/deactivation fix join inactive node to active cluster (minor update)
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/691c3b77
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/691c3b77
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/691c3b77
Branch: refs/heads/ignite-3477
Commit: 691c3b771b761fe0e82bf7877a3afc7add59196b
Parents: 094a1b8
Author: Dmitriy Govorukhin <dg...@gridgain.com>
Authored: Thu Dec 22 16:15:02 2016 +0300
Committer: Dmitriy Govorukhin <dg...@gridgain.com>
Committed: Thu Dec 22 16:15:02 2016 +0300
----------------------------------------------------------------------
.../ignite/internal/processors/cache/GridCacheProcessor.java | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/691c3b77/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 6514287..f7a816e 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
@@ -759,6 +759,8 @@ public class GridCacheProcessor extends GridProcessorAdapter {
CacheConfiguration[] newCacheCfg = new CacheConfiguration[cacheCfgs.length];
+ boolean apply = false;
+
for (int i = 0; i < cacheCfgs.length; i++) {
CacheConfiguration conf = cacheCfgs[i];
@@ -771,12 +773,15 @@ public class GridCacheProcessor extends GridProcessorAdapter {
newCacheCfg[i] = c;
+ apply = true;
+
break;
}
}
}
- ctx.config().setCacheConfiguration(newCacheCfg);
+ if (apply)
+ ctx.config().setCacheConfiguration(newCacheCfg);
activeOnStart = ctx.state().active();
}
[29/50] [abbrv] ignite git commit: Merge with master.
Posted by ag...@apache.org.
Merge with master.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/871a069e
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/871a069e
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/871a069e
Branch: refs/heads/ignite-3477
Commit: 871a069e6f874389198591f2930113407329a95d
Parents: cecaf7e
Author: Ilya Lantukh <il...@gridgain.com>
Authored: Thu Dec 22 17:50:41 2016 +0300
Committer: Ilya Lantukh <il...@gridgain.com>
Committed: Thu Dec 22 17:50:41 2016 +0300
----------------------------------------------------------------------
.../ignite/internal/pagemem/snapshot/SnapshotProgressMessage.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/871a069e/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/SnapshotProgressMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/SnapshotProgressMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/SnapshotProgressMessage.java
index 2fb9643..70ea6a9 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/SnapshotProgressMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/SnapshotProgressMessage.java
@@ -120,7 +120,7 @@ public class SnapshotProgressMessage implements Message {
/** {@inheritDoc} */
@Override public byte directType() {
- return -39;
+ return -47;
}
/** {@inheritDoc} */
[44/50] [abbrv] ignite git commit: GG-11789 Set
lateAffinityAssignment defaults to false
Posted by ag...@apache.org.
GG-11789 Set lateAffinityAssignment defaults to false
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/893cd901
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/893cd901
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/893cd901
Branch: refs/heads/ignite-3477
Commit: 893cd901d1f0aae115cff9b944085f90b21a58ee
Parents: d98d947
Author: Aleksei Scherbakov <al...@gmail.com>
Authored: Tue Dec 27 18:11:34 2016 +0300
Committer: Aleksei Scherbakov <al...@gmail.com>
Committed: Tue Dec 27 18:11:34 2016 +0300
----------------------------------------------------------------------
.../java/org/apache/ignite/configuration/IgniteConfiguration.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/893cd901/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 23313e2..5887dcd 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
@@ -213,7 +213,7 @@ public class IgniteConfiguration {
public static final boolean DFLT_CACHE_SANITY_CHECK_ENABLED = true;
/** Default value for late affinity assignment flag. */
- public static final boolean DFLT_LATE_AFF_ASSIGNMENT = true;
+ public static final boolean DFLT_LATE_AFF_ASSIGNMENT = false;
/** Default value for active on start flag. */
public static final boolean DFLT_ACTIVE_ON_START = true;
[45/50] [abbrv] ignite git commit: ignite-gg-11842 Add reproducer
test.
Posted by ag...@apache.org.
ignite-gg-11842 Add reproducer test.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/2999ffd5
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/2999ffd5
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/2999ffd5
Branch: refs/heads/ignite-3477
Commit: 2999ffd5646e608a20080b758f65e0e816343c77
Parents: 893cd90
Author: Dmitriy Govorukhin <dg...@gridgain.com>
Authored: Wed Dec 28 18:53:36 2016 +0300
Committer: Dmitriy Govorukhin <dg...@gridgain.com>
Committed: Wed Dec 28 18:53:36 2016 +0300
----------------------------------------------------------------------
.../GridCacheConcurrentGetCacheOnClient.java | 129 +++++++++++++++++++
.../ignite/testframework/GridTestUtils.java | 80 ++++++++++--
2 files changed, 197 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2999ffd5/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConcurrentGetCacheOnClient.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConcurrentGetCacheOnClient.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConcurrentGetCacheOnClient.java
new file mode 100644
index 0000000..3a97964
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConcurrentGetCacheOnClient.java
@@ -0,0 +1,129 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.processors.cache;
+
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.atomic.AtomicInteger;
+import org.apache.ignite.Ignite;
+import org.apache.ignite.IgniteCache;
+import org.apache.ignite.configuration.IgniteConfiguration;
+import org.apache.ignite.internal.IgniteEx;
+import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
+import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
+
+import static org.apache.ignite.testframework.GridTestUtils.runAsync;
+
+/**
+ *
+ */
+public class GridCacheConcurrentGetCacheOnClient extends GridCommonAbstractTest{
+ /** Ip finder. */
+ private final static TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true);
+
+ /**
+ * @param gridName Grid name.
+ */
+ @Override protected IgniteConfiguration getConfiguration(final String gridName) throws Exception {
+ final IgniteConfiguration cfg = super.getConfiguration(gridName);
+
+ ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setIpFinder(ipFinder);
+
+ return cfg;
+ }
+
+ /**
+ *
+ */
+ public void test() throws Exception {
+ IgniteConfiguration node1cfg = getConfiguration("node1");
+ IgniteConfiguration node2cfg = getConfiguration("node2");
+
+ Ignite node1 = startGrid("node1", node1cfg);
+ Ignite node2 = startGrid("node2", node2cfg);
+
+ IgniteConfiguration clientCfg1 = getConfiguration("client");
+ clientCfg1.setClientMode(true);
+
+ IgniteConfiguration clientCfg2 = getConfiguration("client");
+ clientCfg2.setClientMode(true);
+
+ final IgniteEx client1 = (IgniteEx)startGrid("client1", clientCfg1);
+ final IgniteEx client2 = (IgniteEx)startGrid("client2", clientCfg2);
+
+ final CountDownLatch startLatch = new CountDownLatch(1);
+
+ final CountDownLatch stopLatch = new CountDownLatch(2);
+
+ final AtomicInteger countFails = new AtomicInteger();
+
+ final AtomicInteger exceptionFails = new AtomicInteger();
+
+ final String cacheName = "TEST_CACHE";
+
+ runAsync(new Runnable() {
+ @Override public void run() {
+ try {
+ startLatch.await();
+
+ IgniteCache<Object, Object> cache = client2.cache(cacheName);
+
+ if (cache == null)
+ countFails.incrementAndGet();
+
+ stopLatch.countDown();
+ }
+ catch (Exception e) {
+ exceptionFails.incrementAndGet();
+ }
+ }
+ });
+
+ runAsync(new Runnable() {
+ @Override public void run() {
+ try {
+ startLatch.await();
+
+ IgniteCache<Object, Object> cache = client2.cache(cacheName);
+
+ if (cache == null)
+ countFails.incrementAndGet();
+
+ stopLatch.countDown();
+ }
+ catch (Exception e) {
+ exceptionFails.incrementAndGet();
+ }
+ }
+ });
+
+ client1.getOrCreateCache(cacheName);
+
+ startLatch.countDown();
+
+ IgniteCache<Object, Object> cache = client2.cache(cacheName);
+
+ if (cache == null)
+ countFails.incrementAndGet();
+
+ stopLatch.await();
+
+ if (countFails.get() != 0 || exceptionFails.get() != 0)
+ fail("Cache return null in " + countFails.get() + " of 3 cases. Total exception: " + exceptionFails.get());
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/2999ffd5/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java b/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java
index 218f658..065147e 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java
@@ -755,6 +755,72 @@ public final class GridTestUtils {
}
/**
+ * Create future async result.
+ *
+ * @param thrFactory Thr factory.
+ */
+ private static<T> GridFutureAdapter<T> createFutureAdapter(final GridTestSafeThreadFactory thrFactory){
+ return new GridFutureAdapter<T>() {
+ @Override public boolean cancel() throws IgniteCheckedException {
+ super.cancel();
+
+ thrFactory.interruptAllThreads();
+
+ onCancelled();
+
+ return true;
+ }
+ };
+ }
+
+ /**
+ * Runs runnable task asyncronously.
+ *
+ * @param task Runnable.
+ * @return Future with task result.
+ */
+ @SuppressWarnings("ExternalizableWithoutPublicNoArgConstructor")
+ public static IgniteInternalFuture runAsync(final Runnable task) {
+ return runAsync(task,"async-runnable-runner");
+ }
+
+ /**
+ * Runs runnable task asyncronously.
+ *
+ * @param task Runnable.
+ * @return Future with task result.
+ */
+ @SuppressWarnings("ExternalizableWithoutPublicNoArgConstructor")
+ public static IgniteInternalFuture runAsync(final Runnable task, String threadName) {
+ if (!busyLock.enterBusy())
+ throw new IllegalStateException("Failed to start new threads (test is being stopped).");
+
+ try {
+ final GridTestSafeThreadFactory thrFactory = new GridTestSafeThreadFactory(threadName);
+
+ final GridFutureAdapter fut = createFutureAdapter(thrFactory);
+
+ thrFactory.newThread(new Runnable() {
+ @Override public void run() {
+ try {
+ task.run();
+
+ fut.onDone();
+ }
+ catch (Throwable e) {
+ fut.onDone(e);
+ }
+ }
+ }).start();
+
+ return fut;
+ }
+ finally {
+ busyLock.leaveBusy();
+ }
+ }
+
+ /**
* Runs callable task asyncronously.
*
* @param task Callable.
@@ -762,7 +828,7 @@ public final class GridTestUtils {
*/
@SuppressWarnings("ExternalizableWithoutPublicNoArgConstructor")
public static <T> IgniteInternalFuture<T> runAsync(final Callable<T> task) {
- return runAsync(task, "async-runner");
+ return runAsync(task, "async-callable-runner");
}
/**
@@ -780,17 +846,7 @@ public final class GridTestUtils {
try {
final GridTestSafeThreadFactory thrFactory = new GridTestSafeThreadFactory(threadName);
- final GridFutureAdapter<T> fut = new GridFutureAdapter<T>() {
- @Override public boolean cancel() throws IgniteCheckedException {
- super.cancel();
-
- thrFactory.interruptAllThreads();
-
- onCancelled();
-
- return true;
- }
- };
+ final GridFutureAdapter<T> fut = createFutureAdapter(thrFactory);
thrFactory.newThread(new Runnable() {
@Override public void run() {
[07/50] [abbrv] ignite git commit: gg-11729 : Cosmetic changes.
Posted by ag...@apache.org.
gg-11729 : Cosmetic changes.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/d4f30718
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/d4f30718
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/d4f30718
Branch: refs/heads/ignite-3477
Commit: d4f307182d34dacd498f3ed4774025cdc45abb5b
Parents: 3f83c08
Author: Ilya Lantukh <il...@gridgain.com>
Authored: Tue Dec 20 23:17:28 2016 +0300
Committer: Ilya Lantukh <il...@gridgain.com>
Committed: Tue Dec 20 23:17:28 2016 +0300
----------------------------------------------------------------------
.../pagemem/snapshot/SnapshotProgressMessage.java | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/d4f30718/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/SnapshotProgressMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/SnapshotProgressMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/SnapshotProgressMessage.java
index 2245893..8de4c40 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/SnapshotProgressMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/SnapshotProgressMessage.java
@@ -23,6 +23,9 @@ import org.apache.ignite.plugin.extensions.communication.Message;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
import org.apache.ignite.plugin.extensions.communication.MessageWriter;
+/**
+ * Message for exchange of snapshot creation/restoration progress between nodes.
+ */
public class SnapshotProgressMessage implements Message {
/** */
private static final long serialVersionUID = 0L;
@@ -33,22 +36,31 @@ public class SnapshotProgressMessage implements Message {
/** */
private double progress;
+ /** */
public SnapshotProgressMessage() {
}
+ /** */
public SnapshotProgressMessage(long snapshotId, double progress) {
this.snapshotId = snapshotId;
this.progress = progress;
}
+ /**
+ * @return Snapshot ID.
+ */
public long snapshotId() {
return snapshotId;
}
+ /**
+ * @return Snapshot creation/restoration progress.
+ */
public double progress() {
return progress;
}
+ /** {@inheritDoc} */
@Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
writer.setBuffer(buf);
@@ -77,6 +89,7 @@ public class SnapshotProgressMessage implements Message {
return true;
}
+ /** {@inheritDoc} */
@Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
reader.setBuffer(buf);
@@ -105,14 +118,17 @@ public class SnapshotProgressMessage implements Message {
return reader.afterMessageRead(SnapshotProgressMessage.class);
}
+ /** {@inheritDoc} */
@Override public byte directType() {
return -38;
}
+ /** {@inheritDoc} */
@Override public byte fieldsCount() {
return 2;
}
+ /** {@inheritDoc} */
@Override public void onAckReceived() {
// No-op
}
[39/50] [abbrv] ignite git commit: GG-11750 Implemented DELETE
command and minor refactorings.
Posted by ag...@apache.org.
GG-11750 Implemented DELETE command and minor refactorings.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/7677f5f2
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/7677f5f2
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/7677f5f2
Branch: refs/heads/ignite-3477
Commit: 7677f5f223d1904d914e6d702aaf925195fbc1b8
Parents: cf67df2
Author: AKuznetsov <ak...@gridgain.com>
Authored: Sun Dec 25 21:46:33 2016 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Sun Dec 25 21:46:33 2016 +0700
----------------------------------------------------------------------
.../visor/event/VisorGridDiscoveryEvent.java | 18 ++++-
.../visor/event/VisorGridDiscoveryEventV2.java | 80 --------------------
.../visor/node/VisorNodeDataCollectorJob.java | 3 +-
.../internal/visor/util/VisorEventMapper.java | 4 +-
.../internal/visor/util/VisorTaskUtils.java | 23 +-----
.../resources/META-INF/classnames.properties | 1 -
.../commands/disco/VisorDiscoveryCommand.scala | 2 +-
7 files changed, 24 insertions(+), 107 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/7677f5f2/modules/core/src/main/java/org/apache/ignite/internal/visor/event/VisorGridDiscoveryEvent.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/event/VisorGridDiscoveryEvent.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/event/VisorGridDiscoveryEvent.java
index 7d970de..bad6966 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/event/VisorGridDiscoveryEvent.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/event/VisorGridDiscoveryEvent.java
@@ -38,6 +38,9 @@ public class VisorGridDiscoveryEvent extends VisorGridEvent {
/** If node that caused this event is daemon. */
private final boolean isDaemon;
+ /** Topology version. */
+ private final long topVer;
+
/**
* Create event with given parameters.
*
@@ -51,6 +54,7 @@ public class VisorGridDiscoveryEvent extends VisorGridEvent {
* @param evtNodeId Event node id.
* @param addr Event node address.
* @param isDaemon If event node is daemon on not.
+ * @param topVer Topology version.
*/
public VisorGridDiscoveryEvent(
int typeId,
@@ -62,13 +66,15 @@ public class VisorGridDiscoveryEvent extends VisorGridEvent {
String shortDisplay,
UUID evtNodeId,
String addr,
- boolean isDaemon
+ boolean isDaemon,
+ long topVer
) {
super(typeId, id, name, nid, ts, msg, shortDisplay);
this.evtNodeId = evtNodeId;
this.addr = addr;
this.isDaemon = isDaemon;
+ this.topVer = topVer;
}
/**
@@ -92,8 +98,16 @@ public class VisorGridDiscoveryEvent extends VisorGridEvent {
return isDaemon;
}
+ /**
+ * @return Topology version or {@code 0} if configured discovery SPI implementation
+ * does not support versioning.
+ **/
+ public long topologyVersion() {
+ return topVer;
+ }
+
/** {@inheritDoc} */
@Override public String toString() {
return S.toString(VisorGridDiscoveryEvent.class, this);
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/7677f5f2/modules/core/src/main/java/org/apache/ignite/internal/visor/event/VisorGridDiscoveryEventV2.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/event/VisorGridDiscoveryEventV2.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/event/VisorGridDiscoveryEventV2.java
deleted file mode 100644
index b66aacf..0000000
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/event/VisorGridDiscoveryEventV2.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.visor.event;
-
-import java.util.UUID;
-import org.apache.ignite.internal.util.typedef.internal.S;
-import org.apache.ignite.lang.IgniteUuid;
-import org.jetbrains.annotations.Nullable;
-
-/**
- * Lightweight counterpart for {@link org.apache.ignite.events.DiscoveryEvent}.
- */
-public class VisorGridDiscoveryEventV2 extends VisorGridDiscoveryEvent {
- /** */
- private static final long serialVersionUID = 0L;
-
- /** Topology version. */
- private final long topVer;
-
- /**
- * Create event with given parameters.
- *
- * @param typeId Event type.
- * @param id Event id.
- * @param name Event name.
- * @param nid Event node ID.
- * @param ts Event timestamp.
- * @param msg Event message.
- * @param shortDisplay Shortened version of {@code toString()} result.
- * @param evtNodeId Event node id.
- * @param addr Event node address.
- * @param isDaemon If event node is daemon on not.
- * @param topVer Topology version.
- */
- public VisorGridDiscoveryEventV2(
- int typeId,
- IgniteUuid id,
- String name,
- UUID nid,
- long ts,
- @Nullable String msg,
- String shortDisplay,
- UUID evtNodeId,
- String addr,
- boolean isDaemon,
- long topVer
- ) {
- super(typeId, id, name, nid, ts, msg, shortDisplay, evtNodeId, addr, isDaemon);
-
- this.topVer = topVer;
- }
-
- /**
- * @return Topology version or {@code 0} if configured discovery SPI implementation
- * does not support versioning.
- **/
- public long topologyVersion() {
- return topVer;
- }
-
- /** {@inheritDoc} */
- @Override public String toString() {
- return S.toString(VisorGridDiscoveryEventV2.class, this);
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/7677f5f2/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java
index 18dce34..694bc94 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java
@@ -39,7 +39,6 @@ import static org.apache.ignite.internal.processors.cache.GridCacheUtils.isIgfsC
import static org.apache.ignite.internal.processors.cache.GridCacheUtils.isSystemCache;
import static org.apache.ignite.internal.visor.compute.VisorComputeMonitoringHolder.COMPUTE_MONITORING_HOLDER_KEY;
import static org.apache.ignite.internal.visor.util.VisorTaskUtils.EVT_MAPPER;
-import static org.apache.ignite.internal.visor.util.VisorTaskUtils.EVT_MAPPER_V2;
import static org.apache.ignite.internal.visor.util.VisorTaskUtils.VISOR_TASK_EVTS;
import static org.apache.ignite.internal.visor.util.VisorTaskUtils.checkExplicitTaskMonitoring;
import static org.apache.ignite.internal.visor.util.VisorTaskUtils.collectEvents;
@@ -72,7 +71,7 @@ public class VisorNodeDataCollectorJob extends VisorJob<VisorNodeDataCollectorTa
*/
protected void events0(VisorNodeDataCollectorJobResult res, String evtOrderKey, String evtThrottleCntrKey,
final boolean all) {
- res.events().addAll(collectEvents(ignite, evtOrderKey, evtThrottleCntrKey, all, EVT_MAPPER_V2));
+ res.events().addAll(collectEvents(ignite, evtOrderKey, evtThrottleCntrKey, all, EVT_MAPPER));
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/7677f5f2/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorEventMapper.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorEventMapper.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorEventMapper.java
index 829adb3..ca319db 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorEventMapper.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorEventMapper.java
@@ -136,7 +136,7 @@ public class VisorEventMapper implements IgniteClosure<Event, VisorGridEvent> {
ClusterNode node = de.eventNode();
return new VisorGridDiscoveryEvent(type, id, name, nid, ts, msg, shortDisplay, node.id(),
- F.first(node.addresses()), node.isDaemon());
+ F.first(node.addresses()), node.isDaemon(), de.topologyVersion());
}
/** {@inheritDoc} */
@@ -144,4 +144,4 @@ public class VisorEventMapper implements IgniteClosure<Event, VisorGridEvent> {
return map(evt, evt.type(), evt.id(), evt.name(), evt.node().id(), evt.timestamp(), evt.message(),
evt.shortDisplay());
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/7677f5f2/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorTaskUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorTaskUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorTaskUtils.java
index 1e9346c..c859d69 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorTaskUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorTaskUtils.java
@@ -41,7 +41,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.SortedMap;
-import java.util.UUID;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.zip.ZipEntry;
@@ -55,21 +54,18 @@ import org.apache.ignite.cache.eviction.fifo.FifoEvictionPolicyMBean;
import org.apache.ignite.cache.eviction.lru.LruEvictionPolicyMBean;
import org.apache.ignite.cache.eviction.random.RandomEvictionPolicyMBean;
import org.apache.ignite.cluster.ClusterNode;
-import org.apache.ignite.events.DiscoveryEvent;
import org.apache.ignite.events.Event;
import org.apache.ignite.internal.processors.igfs.IgfsEx;
import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.X;
import org.apache.ignite.internal.util.typedef.internal.SB;
import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.internal.visor.event.VisorGridDiscoveryEventV2;
import org.apache.ignite.internal.visor.event.VisorGridEvent;
import org.apache.ignite.internal.visor.event.VisorGridEventsLost;
import org.apache.ignite.internal.visor.file.VisorFileBlock;
import org.apache.ignite.internal.visor.log.VisorLogFile;
import org.apache.ignite.lang.IgniteClosure;
import org.apache.ignite.lang.IgnitePredicate;
-import org.apache.ignite.lang.IgniteUuid;
import org.jetbrains.annotations.Nullable;
import static java.lang.System.getProperty;
@@ -377,17 +373,6 @@ public class VisorTaskUtils {
/** Mapper from grid event to Visor data transfer object. */
public static final VisorEventMapper EVT_MAPPER = new VisorEventMapper();
- /** Mapper from grid event to Visor data transfer object. */
- public static final VisorEventMapper EVT_MAPPER_V2 = new VisorEventMapper() {
- @Override protected VisorGridEvent discoveryEvent(DiscoveryEvent de, int type, IgniteUuid id, String name,
- UUID nid, long ts, String msg, String shortDisplay) {
- ClusterNode node = de.eventNode();
-
- return new VisorGridDiscoveryEventV2(type, id, name, nid, ts, msg, shortDisplay, node.id(),
- F.first(node.addresses()), node.isDaemon(), de.topologyVersion());
- }
- };
-
/**
* Grabs local events and detects if events was lost since last poll.
*
@@ -860,8 +845,6 @@ public class VisorTaskUtils {
if (cmdFilePath == null || !cmdFilePath.exists())
throw new FileNotFoundException(String.format("File not found: %s", cmdFile));
- String ignite = cmdFilePath.getCanonicalPath();
-
File nodesCfgPath = U.resolveIgnitePath(cfgPath);
if (nodesCfgPath == null || !nodesCfgPath.exists())
@@ -874,6 +857,8 @@ public class VisorTaskUtils {
List<Process> run = new ArrayList<>();
try {
+ String igniteCmd = cmdFilePath.getCanonicalPath();
+
for (int i = 0; i < nodesToStart; i++) {
if (U.isMacOs()) {
Map<String, String> macEnv = new HashMap<>(System.getenv());
@@ -902,9 +887,9 @@ public class VisorTaskUtils {
entry.getKey(), val.replace('\n', ' ').replace("'", "\'")));
}
- run.add(openInConsole(envs.toString(), ignite, quitePar, nodeCfg));
+ run.add(openInConsole(envs.toString(), igniteCmd, quitePar, nodeCfg));
} else
- run.add(openInConsole(null, envVars, ignite, quitePar, nodeCfg));
+ run.add(openInConsole(null, envVars, igniteCmd, quitePar, nodeCfg));
}
return run;
http://git-wip-us.apache.org/repos/asf/ignite/blob/7677f5f2/modules/core/src/main/resources/META-INF/classnames.properties
----------------------------------------------------------------------
diff --git a/modules/core/src/main/resources/META-INF/classnames.properties b/modules/core/src/main/resources/META-INF/classnames.properties
index ab518e5..a1de5bb 100644
--- a/modules/core/src/main/resources/META-INF/classnames.properties
+++ b/modules/core/src/main/resources/META-INF/classnames.properties
@@ -1752,7 +1752,6 @@ org.apache.ignite.internal.visor.debug.VisorThreadLockInfo
org.apache.ignite.internal.visor.debug.VisorThreadMonitorInfo
org.apache.ignite.internal.visor.event.VisorGridDeploymentEvent
org.apache.ignite.internal.visor.event.VisorGridDiscoveryEvent
-org.apache.ignite.internal.visor.event.VisorGridDiscoveryEventV2
org.apache.ignite.internal.visor.event.VisorGridEvent
org.apache.ignite.internal.visor.event.VisorGridEventsLost
org.apache.ignite.internal.visor.event.VisorGridJobEvent
http://git-wip-us.apache.org/repos/asf/ignite/blob/7677f5f2/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/disco/VisorDiscoveryCommand.scala
----------------------------------------------------------------------
diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/disco/VisorDiscoveryCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/disco/VisorDiscoveryCommand.scala
index 9ff7118..0ea88ad 100644
--- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/disco/VisorDiscoveryCommand.scala
+++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/disco/VisorDiscoveryCommand.scala
@@ -216,7 +216,7 @@ class VisorDiscoveryCommand extends VisorConsoleCommand {
if (nodeStartTime > System.currentTimeMillis() - tmFrame) {
val root = new VisorGridDiscoveryEvent(EVT_NODE_JOINED, null, U.gridEventName(EVT_NODE_JOINED),
- node.id(), nodeStartTime, "", "", node.id, node.addresses().head, node.isDaemon)
+ node.id(), nodeStartTime, "", "", node.id, node.addresses().head, node.isDaemon, 0L)
evts = Seq(root) ++ evts
}
[14/50] [abbrv] ignite git commit: GG-11808 Implement deletion of
snapshots on platform level
Posted by ag...@apache.org.
GG-11808 Implement deletion of snapshots on platform level
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/9217f3fc
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/9217f3fc
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/9217f3fc
Branch: refs/heads/ignite-3477
Commit: 9217f3fc207f1af70c2ca648871a78a9664529a2
Parents: 9f9be20
Author: EdShangGG <es...@gridgain.com>
Authored: Wed Dec 21 21:25:07 2016 +0300
Committer: EdShangGG <es...@gridgain.com>
Committed: Wed Dec 21 21:25:07 2016 +0300
----------------------------------------------------------------------
.../cache/database/IgniteCacheDatabaseSharedManager.java | 2 +-
.../distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9217f3fc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/IgniteCacheDatabaseSharedManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/IgniteCacheDatabaseSharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/IgniteCacheDatabaseSharedManager.java
index 1fb1543..1c29da3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/IgniteCacheDatabaseSharedManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/IgniteCacheDatabaseSharedManager.java
@@ -191,7 +191,7 @@ public class IgniteCacheDatabaseSharedManager extends GridCacheSharedManagerAdap
* @return Snapshot creation init future or {@code null} if snapshot is not available.
* @throws IgniteCheckedException If failed.
*/
- @Nullable public IgniteInternalFuture startLocalSnapshot(StartFullSnapshotAckDiscoveryMessage snapshotMsg,
+ @Nullable public IgniteInternalFuture startLocalSnapshotCreation(StartFullSnapshotAckDiscoveryMessage snapshotMsg,
ClusterNode initiator)
throws IgniteCheckedException {
return null;
http://git-wip-us.apache.org/repos/asf/ignite/blob/9217f3fc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
index 81ba317..939078d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
@@ -833,7 +833,7 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT
assert node != null;
- IgniteInternalFuture fut = cctx.database().startLocalSnapshot(backupMsg, node);
+ IgniteInternalFuture fut = cctx.database().startLocalSnapshotCreation(backupMsg, node);
if (fut != null)
fut.get();
[27/50] [abbrv] ignite git commit: Merge with master - WIP
Posted by ag...@apache.org.
Merge with master - WIP
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/88a7eda4
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/88a7eda4
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/88a7eda4
Branch: refs/heads/ignite-3477
Commit: 88a7eda47281e538a7c56b33c7882da7413c935e
Parents: 3063357
Author: Ilya Lantukh <il...@gridgain.com>
Authored: Thu Dec 22 17:36:21 2016 +0300
Committer: Ilya Lantukh <il...@gridgain.com>
Committed: Thu Dec 22 17:36:21 2016 +0300
----------------------------------------------------------------------
.../GridCachePartitionExchangeManager.java | 26 +++-----------------
1 file changed, 3 insertions(+), 23 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/88a7eda4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
index c63da75..2b62ce9 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
@@ -863,10 +863,7 @@ public class GridCachePartitionExchangeManager<K, V> extends GridCacheSharedMana
ready = cacheCtx.started();
if (ready) {
- GridAffinityAssignmentCache affCache = cacheCtx.affinity().affinityCache();
-
- if (affCache != null) {
- GridDhtPartitionFullMap locMap = cacheCtx.topology().partitionMap(true);
+ GridDhtPartitionFullMap locMap = cacheCtx.topology().partitionMap(true);
addFullPartitionsMap(m,
dupData,
@@ -875,11 +872,8 @@ public class GridCachePartitionExchangeManager<K, V> extends GridCacheSharedMana
locMap,
cacheCtx.affinity().affinityCache().similarAffinityKey());
- if (exchId != null)
- m.addPartitionUpdateCounters(cacheCtx.cacheId(), cacheCtx.topology().updateCounters(true));
- }
- else
- assert cctx.cacheContext(cacheCtx.cacheId()) == null : cacheCtx.name();
+ if (exchId != null)
+ m.addPartitionUpdateCounters(cacheCtx.cacheId(), cacheCtx.topology().updateCounters(true));
}
}
}
@@ -950,20 +944,6 @@ public class GridCachePartitionExchangeManager<K, V> extends GridCacheSharedMana
cctx.kernalContext().clientNode(),
false);
- for (GridCacheContext cacheCtx : cctx.cacheContexts()) {
- if (!cacheCtx.isLocal()) {
- GridDhtPartitionMap2 locMap = cacheCtx.topology().localPartitionMap();
-
- m.addLocalPartitionMap(cacheCtx.cacheId(), locMap, null);
- }
- }
-
- for (GridClientPartitionTopology top : clientTops.values()) {
- GridDhtPartitionMap2 locMap = top.localPartitionMap();
-
- m.addLocalPartitionMap(top.cacheId(), locMap, null);
- }
-
if (log.isDebugEnabled())
log.debug("Sending local partitions [nodeId=" + node.id() + ", msg=" + m + ']');
[37/50] [abbrv] ignite git commit: Merge remote-tracking branch
'origin/ignite-gg-8.0.2.ea1' into GG-11808
Posted by ag...@apache.org.
Merge remote-tracking branch 'origin/ignite-gg-8.0.2.ea1' into GG-11808
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/dc086bf3
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/dc086bf3
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/dc086bf3
Branch: refs/heads/ignite-3477
Commit: dc086bf355dbd0fe694111427427976669b39422
Parents: 8ba772f 302a28f
Author: EdShangGG <es...@gridgain.com>
Authored: Fri Dec 23 18:14:39 2016 +0300
Committer: EdShangGG <es...@gridgain.com>
Committed: Fri Dec 23 18:14:39 2016 +0300
----------------------------------------------------------------------
.gitignore | 35 +-
README.md | 8 +
RELEASE_NOTES.txt | 22 +
assembly/dependencies-fabric-lgpl.xml | 1 +
assembly/dependencies-fabric.xml | 1 +
assembly/release-base.xml | 5 +
assembly/release-fabric-base.xml | 1 +
bin/ignite.sh | 9 +
config/dotnet/default-dotnet.xml | 45 +
examples/pom-standalone.xml | 6 +
examples/pom.xml | 2 +-
examples/redis/redis-example.php | 82 ++
examples/redis/redis-example.py | 62 +
examples/schema-import/pom.xml | 2 +-
.../ignite/examples/ExampleNodeStartup.java | 2 +-
.../examples/datagrid/CachePutGetExample.java | 2 +-
.../examples/datagrid/CacheQueryDmlExample.java | 163 +++
.../scalar/examples/ScalarJvmCloudExample.scala | 2 +-
.../CacheExamplesMultiNodeSelfTest.java | 7 +
.../ignite/examples/CacheExamplesSelfTest.java | 8 +
modules/aop/pom.xml | 2 +-
modules/apache-license-gen/pom.xml | 2 +-
modules/aws/pom.xml | 2 +-
modules/benchmarks/pom.xml | 2 +-
.../jmh/misc/JmhIncrementBenchmark.java | 95 ++
modules/camel/pom.xml | 2 +-
modules/cassandra/pom.xml | 16 +-
modules/cassandra/serializers/README.txt | 7 +-
modules/cassandra/serializers/pom.xml | 4 +-
modules/cassandra/store/pom.xml | 4 +-
modules/clients/pom.xml | 12 +-
.../clients/src/test/config/jdbc-bin-config.xml | 54 +
.../jdbc2/JdbcAbstractDmlStatementSelfTest.java | 263 ++++
.../JdbcAbstractUpdateStatementSelfTest.java | 37 +
...BinaryMarshallerInsertStatementSelfTest.java | 37 +
...cBinaryMarshallerMergeStatementSelfTest.java | 37 +
.../jdbc2/JdbcDeleteStatementSelfTest.java | 49 +
.../jdbc2/JdbcInsertStatementSelfTest.java | 122 ++
.../jdbc2/JdbcMergeStatementSelfTest.java | 91 ++
.../internal/jdbc2/JdbcNoDefaultCacheTest.java | 40 +-
.../internal/jdbc2/JdbcResultSetSelfTest.java | 18 +
.../rest/ClientMemcachedProtocolSelfTest.java | 4 +-
.../rest/RestProcessorMultiStartSelfTest.java | 48 +-
.../rest/protocols/tcp/MockNioSession.java | 11 +
.../tcp/redis/RedisProtocolSelfTest.java | 101 +-
.../jdbc/suite/IgniteJdbcDriverTestSuite.java | 5 +
modules/cloud/pom.xml | 2 +-
modules/codegen/pom.xml | 2 +-
modules/core/pom.xml | 2 +-
.../java/org/apache/ignite/IgniteCache.java | 2 +
.../apache/ignite/IgniteSystemProperties.java | 17 +
.../binary/BinaryAbstractIdentityResolver.java | 53 +
.../binary/BinaryArrayIdentityResolver.java | 224 +++
.../binary/BinaryFieldIdentityResolver.java | 307 ++++
.../ignite/binary/BinaryIdentityResolver.java | 42 +
.../ignite/binary/BinaryTypeConfiguration.java | 27 +-
.../org/apache/ignite/cache/QueryEntity.java | 27 +
.../rendezvous/RendezvousAffinityFunction.java | 80 +-
.../ignite/cache/query/SqlFieldsQuery.java | 2 +-
.../cache/store/CacheLoadOnlyStoreAdapter.java | 6 +-
.../configuration/CacheConfiguration.java | 19 +-
.../configuration/IgniteConfiguration.java | 48 +
.../internal/GridEventConsumeHandler.java | 2 +-
.../ignite/internal/GridJobContextImpl.java | 4 +-
.../ignite/internal/GridKernalContext.java | 9 +
.../ignite/internal/GridKernalContextImpl.java | 16 +-
.../internal/GridPerformanceSuggestions.java | 2 +-
.../org/apache/ignite/internal/GridTopic.java | 4 +-
.../ignite/internal/IgniteInternalFuture.java | 11 +
.../apache/ignite/internal/IgniteKernal.java | 71 +-
.../org/apache/ignite/internal/IgnitionEx.java | 32 +-
.../internal/binary/BinaryClassDescriptor.java | 15 +
.../ignite/internal/binary/BinaryContext.java | 76 +-
.../ignite/internal/binary/BinaryFieldImpl.java | 10 +-
.../internal/binary/BinaryObjectExImpl.java | 90 +-
.../internal/binary/BinaryObjectImpl.java | 48 +-
.../binary/BinaryObjectOffheapImpl.java | 42 +-
.../internal/binary/BinaryPrimitives.java | 30 +-
.../binary/BinarySerializedFieldComparator.java | 343 +++++
.../ignite/internal/binary/BinaryUtils.java | 2 +-
.../internal/binary/BinaryWriterExImpl.java | 47 +-
.../internal/binary/GridBinaryMarshaller.java | 2 +-
.../binary/builder/BinaryBuilderReader.java | 11 +
.../binary/builder/BinaryBuilderSerializer.java | 4 +
.../binary/builder/BinaryObjectBuilderImpl.java | 16 +
.../streams/BinaryAbstractInputStream.java | 5 +
.../streams/BinaryAbstractOutputStream.java | 5 +
.../streams/BinaryByteBufferInputStream.java | 10 +
.../binary/streams/BinaryHeapInputStream.java | 9 +-
.../binary/streams/BinaryHeapOutputStream.java | 7 +-
.../streams/BinaryMemoryAllocatorChunk.java | 3 +-
.../streams/BinaryOffheapInputStream.java | 14 +-
.../streams/BinaryOffheapOutputStream.java | 8 +-
.../internal/binary/streams/BinaryStream.java | 12 +-
.../GridClientConnectionManagerAdapter.java | 1 +
.../router/impl/GridRouterClientImpl.java | 2 +-
.../ignite/internal/jdbc2/JdbcConnection.java | 17 +
.../internal/jdbc2/JdbcPreparedStatement.java | 71 +-
.../ignite/internal/jdbc2/JdbcQueryTask.java | 5 +-
.../ignite/internal/jdbc2/JdbcQueryTaskV2.java | 406 ++++++
.../ignite/internal/jdbc2/JdbcResultSet.java | 72 +-
.../internal/jdbc2/JdbcSqlFieldsQuery.java | 49 +
.../ignite/internal/jdbc2/JdbcStatement.java | 213 ++-
.../apache/ignite/internal/jdbc2/JdbcUtils.java | 25 +-
.../managers/communication/GridIoManager.java | 33 +-
.../managers/communication/GridIoMessage.java | 13 +
.../communication/GridIoMessageFactory.java | 62 +-
.../communication/IgniteIoTestMessage.java | 13 +-
.../discovery/GridDiscoveryManager.java | 118 +-
.../snapshot/SnapshotFinishedMessage.java | 2 +-
.../snapshot/SnapshotProgressMessage.java | 2 +-
.../processors/cache/GridCacheAdapter.java | 741 ++++------
.../processors/cache/GridCacheEntryEx.java | 4 +-
.../processors/cache/GridCacheMapEntry.java | 41 +-
.../processors/cache/GridCacheMessage.java | 7 +
.../GridCachePartitionExchangeManager.java | 121 +-
.../processors/cache/GridCachePreloader.java | 8 +-
.../cache/GridCachePreloaderAdapter.java | 9 +-
.../processors/cache/GridCacheProcessor.java | 122 +-
.../processors/cache/GridCacheProxyImpl.java | 24 +-
.../cache/GridCacheSharedTtlCleanupManager.java | 5 +-
.../processors/cache/GridCacheTtlManager.java | 4 +
.../processors/cache/GridCacheUtils.java | 62 +-
.../GridChangeGlobalStateMessageResponse.java | 2 +-
.../processors/cache/IgniteInternalCache.java | 8 +
.../processors/cache/QueryCursorImpl.java | 31 +-
.../binary/CacheObjectBinaryProcessorImpl.java | 3 +-
.../IgniteCacheDatabaseSharedManager.java | 7 +
.../distributed/GridCacheTxRecoveryFuture.java | 4 +-
.../distributed/GridDistributedLockRequest.java | 5 +
.../GridDistributedUnlockRequest.java | 5 +
.../dht/GridClientPartitionTopology.java | 38 +-
.../distributed/dht/GridDhtCacheAdapter.java | 3 +-
.../cache/distributed/dht/GridDhtGetFuture.java | 2 +-
.../distributed/dht/GridDhtLockFuture.java | 27 +-
.../distributed/dht/GridDhtLockResponse.java | 9 +-
.../dht/GridDhtPartitionTopology.java | 10 +
.../dht/GridDhtPartitionTopologyImpl.java | 171 ++-
.../distributed/dht/GridDhtTxFinishFuture.java | 74 +-
.../cache/distributed/dht/GridDhtTxLocal.java | 125 +-
.../distributed/dht/GridDhtTxLocalAdapter.java | 7 +-
.../dht/GridDhtTxOnePhaseCommitAckRequest.java | 2 +-
.../distributed/dht/GridDhtTxPrepareFuture.java | 4 +-
.../dht/atomic/GridDhtAtomicCache.java | 453 +++---
.../GridDhtAtomicSingleUpdateRequest.java | 7 +-
.../dht/atomic/GridDhtAtomicUpdateRequest.java | 5 +
...idNearAtomicAbstractSingleUpdateRequest.java | 28 +-
.../atomic/GridNearAtomicFullUpdateRequest.java | 69 +-
...GridNearAtomicSingleUpdateInvokeRequest.java | 6 +-
.../GridNearAtomicSingleUpdateRequest.java | 7 +-
.../dht/colocated/GridDhtColocatedCache.java | 13 -
.../colocated/GridDhtColocatedLockFuture.java | 4 +-
.../dht/preloader/GridDhtPartitionDemander.java | 233 +--
.../dht/preloader/GridDhtPartitionFullMap.java | 18 +-
.../dht/preloader/GridDhtPartitionMap2.java | 4 +
.../GridDhtPartitionsExchangeFuture.java | 2 +-
.../dht/preloader/GridDhtPreloader.java | 13 +-
.../distributed/near/GridNearAtomicCache.java | 65 +-
.../distributed/near/GridNearGetRequest.java | 5 +
.../distributed/near/GridNearLockFuture.java | 4 +-
...arOptimisticSerializableTxPrepareFuture.java | 4 +-
.../near/GridNearOptimisticTxPrepareFuture.java | 15 +-
.../GridNearPessimisticTxPrepareFuture.java | 4 +-
.../near/GridNearTxFinishFuture.java | 46 +-
.../cache/distributed/near/GridNearTxLocal.java | 48 +-
.../local/atomic/GridLocalAtomicCache.java | 174 +--
.../query/GridCacheDistributedQueryManager.java | 2 +-
.../cache/query/GridCacheQueryManager.java | 18 +-
.../cache/query/GridCacheQueryRequest.java | 6 +-
.../cache/query/GridCacheTwoStepQuery.java | 253 ----
.../cache/query/IgniteQueryErrorCode.java | 91 ++
.../cache/store/CacheStoreManager.java | 4 +-
.../store/GridCacheStoreManagerAdapter.java | 34 +-
.../cache/store/GridCacheWriteBehindStore.java | 6 +-
.../cache/transactions/IgniteTxHandler.java | 17 +-
.../transactions/IgniteTxLocalAdapter.java | 38 +-
.../cache/transactions/IgniteTxManager.java | 15 +-
.../cluster/GridClusterStateProcessor.java | 23 +-
.../datastreamer/DataStreamProcessor.java | 22 +-
.../datastructures/DataStructuresProcessor.java | 11 +-
.../GridCacheAtomicSequenceImpl.java | 12 +-
.../processors/hadoop/HadoopClassLoader.java | 11 +
.../internal/processors/hadoop/HadoopJobId.java | 79 +-
.../processors/hadoop/HadoopJobProperty.java | 64 +-
.../hadoop/HadoopMapperAwareTaskOutput.java | 32 +
.../processors/hadoop/HadoopTaskContext.java | 8 +
.../processors/hadoop/HadoopTaskInfo.java | 43 +
.../io/PartiallyOffheapRawComparatorEx.java | 33 +
.../hadoop/message/HadoopMessage.java | 27 +
.../shuffle/HadoopDirectShuffleMessage.java | 243 ++++
.../hadoop/shuffle/HadoopShuffleAck.java | 170 +++
.../shuffle/HadoopShuffleFinishRequest.java | 172 +++
.../shuffle/HadoopShuffleFinishResponse.java | 142 ++
.../hadoop/shuffle/HadoopShuffleMessage.java | 361 +++++
.../internal/processors/igfs/IgfsContext.java | 4 +-
.../processors/igfs/IgfsDataManager.java | 6 +-
.../internal/processors/igfs/IgfsImpl.java | 2 +-
.../processors/odbc/OdbcMessageParser.java | 16 +
.../processors/odbc/OdbcNioListener.java | 2 +-
.../odbc/OdbcQueryGetParamsMetaRequest.java | 60 +
.../odbc/OdbcQueryGetParamsMetaResult.java | 40 +
.../internal/processors/odbc/OdbcRequest.java | 3 +
.../processors/odbc/OdbcRequestHandler.java | 175 ++-
.../internal/processors/odbc/OdbcUtils.java | 4 +-
.../platform/PlatformAbstractTarget.java | 268 +---
.../platform/PlatformAsyncTarget.java | 44 +
.../platform/PlatformNoopProcessor.java | 41 +-
.../processors/platform/PlatformProcessor.java | 42 +-
.../platform/PlatformProcessorImpl.java | 87 +-
.../processors/platform/PlatformTarget.java | 103 +-
.../platform/PlatformTargetProxy.java | 126 ++
.../platform/PlatformTargetProxyImpl.java | 222 +++
.../binary/PlatformBinaryProcessor.java | 6 +-
.../platform/cache/PlatformCache.java | 15 +-
.../cache/PlatformCacheEntryFilterImpl.java | 4 +-
.../cache/PlatformCacheEntryProcessorImpl.java | 43 +-
.../platform/cache/PlatformCacheIterator.java | 2 +-
.../cache/affinity/PlatformAffinity.java | 4 +-
.../affinity/PlatformAffinityFunction.java | 59 +-
.../PlatformAffinityFunctionTarget.java | 4 +-
.../query/PlatformAbstractQueryCursor.java | 4 +-
.../query/PlatformContinuousQueryProxy.java | 3 +-
.../callback/PlatformCallbackGateway.java | 272 ++--
.../platform/callback/PlatformCallbackOp.java | 206 +++
.../callback/PlatformCallbackUtils.java | 544 +------
.../platform/cluster/PlatformClusterGroup.java | 18 +-
.../platform/compute/PlatformAbstractJob.java | 2 +-
.../platform/compute/PlatformAbstractTask.java | 15 +-
.../platform/compute/PlatformClosureJob.java | 12 +-
.../platform/compute/PlatformCompute.java | 21 +-
.../platform/compute/PlatformFullJob.java | 15 +-
.../platform/compute/PlatformFullTask.java | 18 +-
.../datastreamer/PlatformDataStreamer.java | 4 +-
.../PlatformStreamReceiverImpl.java | 11 +-
.../datastructures/PlatformAtomicLong.java | 4 +-
.../datastructures/PlatformAtomicReference.java | 8 +-
.../datastructures/PlatformAtomicSequence.java | 2 +-
.../dotnet/PlatformDotNetCacheStore.java | 6 +-
.../platform/events/PlatformEvents.java | 15 +-
.../memory/PlatformInputStreamImpl.java | 14 +-
.../memory/PlatformOutputStreamImpl.java | 14 +-
.../platform/messaging/PlatformMessaging.java | 9 +-
.../services/PlatformAbstractService.java | 25 +-
.../platform/services/PlatformServices.java | 27 +-
.../transactions/PlatformTransactions.java | 8 +-
.../platform/utils/PlatformFutureUtils.java | 18 +-
.../utils/PlatformListenableTarget.java | 62 +
.../platform/utils/PlatformUtils.java | 8 +-
.../processors/query/GridQueryIndexing.java | 23 +-
.../processors/query/GridQueryProcessor.java | 591 ++++++--
.../processors/query/GridQueryProperty.java | 20 +
.../query/GridQueryTypeDescriptor.java | 25 +
.../processors/query/IgniteSQLException.java | 89 ++
.../processors/rest/GridRestProcessor.java | 15 +
.../redis/GridRedisRestCommandHandler.java | 1 +
.../redis/key/GridRedisDelCommandHandler.java | 7 +-
.../key/GridRedisExistsCommandHandler.java | 7 +-
.../server/GridRedisDbSizeCommandHandler.java | 7 +-
.../string/GridRedisAppendCommandHandler.java | 7 +-
.../string/GridRedisGetCommandHandler.java | 34 +-
.../string/GridRedisGetRangeCommandHandler.java | 7 +-
.../string/GridRedisGetSetCommandHandler.java | 7 +-
.../string/GridRedisIncrDecrCommandHandler.java | 70 +-
.../string/GridRedisMGetCommandHandler.java | 7 +-
.../string/GridRedisMSetCommandHandler.java | 7 +-
.../string/GridRedisSetCommandHandler.java | 31 +-
.../string/GridRedisSetRangeCommandHandler.java | 7 +-
.../string/GridRedisStrlenCommandHandler.java | 7 +-
.../tcp/GridTcpMemcachedNioListener.java | 15 +-
.../protocols/tcp/GridTcpRestNioListener.java | 2 +-
.../tcp/redis/GridRedisNioListener.java | 4 +-
.../service/GridServiceProcessor.java | 54 +-
.../ignite/internal/util/GridHandleTable.java | 10 +-
.../apache/ignite/internal/util/GridUnsafe.java | 61 +-
.../ignite/internal/util/IgniteUtils.java | 105 +-
.../ignite/internal/util/StripedExecutor.java | 667 +++++++++
.../util/future/GridCompoundFuture.java | 56 +-
.../util/future/GridFinishedFuture.java | 24 +
.../internal/util/future/GridFutureAdapter.java | 15 +-
.../util/future/GridFutureChainListener.java | 30 +-
.../internal/util/io/GridUnsafeDataInput.java | 12 +-
.../internal/util/io/GridUnsafeDataOutput.java | 12 +-
.../internal/util/ipc/IpcToNioAdapter.java | 2 +-
.../util/lang/IgniteSingletonIterator.java | 56 +
.../util/nio/GridCommunicationClient.java | 4 +-
.../nio/GridConnectionBytesVerifyFilter.java | 15 +-
.../util/nio/GridNioAsyncNotifyFilter.java | 10 +-
.../internal/util/nio/GridNioCodecFilter.java | 17 +-
.../ignite/internal/util/nio/GridNioFilter.java | 16 +-
.../internal/util/nio/GridNioFilterAdapter.java | 10 +-
.../internal/util/nio/GridNioFilterChain.java | 14 +-
.../ignite/internal/util/nio/GridNioFuture.java | 4 +-
.../util/nio/GridNioRecoveryDescriptor.java | 95 +-
.../ignite/internal/util/nio/GridNioServer.java | 1343 ++++++++++++++----
.../internal/util/nio/GridNioSession.java | 11 +
.../internal/util/nio/GridNioSessionImpl.java | 49 +-
.../ignite/internal/util/nio/GridNioWorker.java | 48 +
.../util/nio/GridSelectorNioSessionImpl.java | 157 +-
.../util/nio/GridTcpNioCommunicationClient.java | 49 +-
.../internal/util/nio/SessionWriteRequest.java | 85 ++
.../internal/util/nio/ssl/GridNioSslFilter.java | 10 +-
.../util/nio/ssl/GridNioSslHandler.java | 4 +-
.../util/offheap/unsafe/GridUnsafeMemory.java | 10 +-
.../util/tostring/GridToStringBuilder.java | 2 +-
.../internal/visor/VisorMultiNodeTask.java | 2 +-
.../internal/visor/VisorTaskArgument.java | 2 +-
.../internal/visor/query/VisorQueryJob.java | 2 +-
.../ignite/marshaller/jdk/JdkMarshaller.java | 4 +-
.../optimized/OptimizedMarshaller.java | 8 +-
.../optimized/OptimizedObjectOutputStream.java | 25 +-
.../communication/tcp/TcpCommunicationSpi.java | 324 +++--
.../tcp/TcpCommunicationSpiMBean.java | 40 +
.../ignite/spi/discovery/tcp/ServerImpl.java | 57 +-
.../spi/discovery/tcp/TcpDiscoverySpi.java | 14 +-
.../tcp/internal/TcpDiscoveryStatistics.java | 4 +
.../org/apache/ignite/stream/StreamAdapter.java | 4 +-
.../ignite/thread/IgniteThreadFactory.java | 8 +-
.../resources/META-INF/classnames.properties | 69 +-
.../core/src/main/resources/ignite.properties | 2 +-
.../AbstractAffinityFunctionSelfTest.java | 2 +-
.../BinaryArrayIdentityResolverSelfTest.java | 300 ++++
.../BinaryFieldIdentityResolverSelfTest.java | 333 +++++
.../binary/BinaryFieldsOffheapSelfTest.java | 2 +-
.../BinaryFooterOffsetsOffheapSelfTest.java | 2 +-
...ryIdentityResolverConfigurationSelfTest.java | 138 ++
.../binary/BinaryMarshallerSelfTest.java | 2 +-
.../BinaryObjectBuilderAdditionalSelfTest.java | 157 +-
...naryObjectBuilderDefaultMappersSelfTest.java | 2 +-
.../BinarySerialiedFieldComparatorSelfTest.java | 568 ++++++++
...unicationBalanceMultipleConnectionsTest.java | 28 +
.../IgniteCommunicationBalanceTest.java | 339 +++++
.../communication/IgniteIoTestMessagesTest.java | 95 ++
.../IgniteVariousConnectionNumberTest.java | 166 +++
.../GridDiscoveryManagerAliveCacheSelfTest.java | 2 +-
.../cache/CrossCacheTxRandomOperationsTest.java | 30 +-
...idAbstractCacheInterceptorRebalanceTest.java | 4 +-
.../cache/GridCacheAbstractFullApiSelfTest.java | 4 +-
.../GridCacheMissingCommitVersionSelfTest.java | 6 +-
...CacheOffHeapMultiThreadedUpdateSelfTest.java | 6 +-
.../GridCachePartitionedAffinitySpreadTest.java | 7 +-
.../processors/cache/GridCacheTestEntryEx.java | 3 +-
.../GridCacheTtlManagerEvictionSelfTest.java | 1 +
.../IgniteTxStoreExceptionAbstractSelfTest.java | 1 +
.../GridCacheBinaryObjectsAbstractSelfTest.java | 260 +++-
...achePartitionedAtomicSequenceTxSelfTest.java | 169 +++
.../CacheLockReleaseNodeLeaveTest.java | 135 ++
...eAtomicMessageRecovery10ConnectionsTest.java | 28 +
...cMessageRecoveryNoPairedConnectionsTest.java | 47 +
...acheConnectionRecovery10ConnectionsTest.java | 35 +
.../distributed/IgniteCacheCreatePutTest.java | 2 +-
.../distributed/dht/GridCacheDhtTestUtils.java | 232 ---
.../dht/IgniteCacheMultiTxLockSelfTest.java | 6 +-
...nabledMultiNodeLongTxTimeoutFullApiTest.java | 2 +-
...achePartitionedMultiNodeFullApiSelfTest.java | 37 +-
...edNoStripedPoolMultiNodeFullApiSelfTest.java | 35 +
.../GridCacheRebalancingSyncSelfTest.java | 2 +
...eCacheExpiryPolicyWithStoreAbstractTest.java | 40 +
.../TxDeadlockDetectionNoHangsTest.java | 2 +-
.../TxOptimisticDeadlockDetectionTest.java | 29 +-
...lockMessageSystemPoolStarvationSelfTest.java | 14 +-
.../GridServiceProcessorProxySelfTest.java | 2 +-
.../util/future/GridFutureAdapterSelfTest.java | 122 +-
.../nio/impl/GridNioFilterChainSelfTest.java | 18 +-
.../loadtests/nio/GridNioBenchmarkClient.java | 4 +-
.../p2p/GridP2PRecursionTaskSelfTest.java | 2 +-
...mmunicationSpiConcurrentConnectSelfTest.java | 37 +-
...cpCommunicationSpiMultithreadedSelfTest.java | 9 +-
...dTcpCommunicationSpiRecoveryAckSelfTest.java | 6 +-
...ationSpiRecoveryNoPairedConnectionsTest.java | 28 +
...GridTcpCommunicationSpiRecoverySelfTest.java | 8 +
...CommunicationRecoveryAckClosureSelfTest.java | 6 +-
.../junits/GridTestKernalContext.java | 4 +-
.../IgniteBinaryObjectsTestSuite.java | 10 +
.../IgniteCacheDataStructuresSelfTestSuite.java | 5 +-
.../IgniteCacheFullApiSelfTestSuite.java | 4 +
.../ignite/testsuites/IgniteCacheTestSuite.java | 15 +
.../testsuites/IgniteCacheTestSuite4.java | 3 +
.../testsuites/IgniteCacheTestSuite5.java | 1 +
.../IgniteSpiCommunicationSelfTestSuite.java | 2 +
modules/docker/1.8.0/Dockerfile | 46 +
modules/docker/1.8.0/run.sh | 51 +
modules/docker/Dockerfile | 6 +-
modules/extdata/p2p/pom.xml | 2 +-
.../extdata/uri/modules/uri-dependency/pom.xml | 2 +-
modules/extdata/uri/pom.xml | 2 +-
modules/flink/pom.xml | 2 +-
modules/flume/pom.xml | 2 +-
modules/gce/pom.xml | 2 +-
modules/geospatial/pom.xml | 2 +-
modules/hadoop/pom.xml | 9 +-
.../hadoop/io/PartiallyRawComparator.java | 33 +
.../org/apache/ignite/hadoop/io/RawMemory.java | 86 ++
.../hadoop/io/TextPartiallyRawComparator.java | 115 ++
.../apache/ignite/hadoop/io/package-info.java | 22 +
.../IgniteHadoopClientProtocolProvider.java | 70 +-
.../processors/hadoop/HadoopMapperUtils.java | 56 +
.../hadoop/impl/fs/HadoopFileSystemsUtils.java | 11 +
.../hadoop/impl/proto/HadoopClientProtocol.java | 55 +-
.../hadoop/impl/v2/HadoopV2Context.java | 11 +
...DelegatingPartiallyOffheapRawComparator.java | 54 +
.../processors/hadoop/impl/v2/HadoopV2Job.java | 22 +-
.../impl/v2/HadoopV2JobResourceManager.java | 25 +-
.../hadoop/impl/v2/HadoopV2MapTask.java | 10 +
.../hadoop/impl/v2/HadoopV2TaskContext.java | 21 +
.../processors/hadoop/io/OffheapRawMemory.java | 131 ++
.../hadoop/jobtracker/HadoopJobTracker.java | 8 +-
.../hadoop/mapreduce/MapReduceClient.java | 147 ++
.../hadoop/message/HadoopMessage.java | 27 -
.../hadoop/shuffle/HadoopShuffle.java | 112 +-
.../hadoop/shuffle/HadoopShuffleAck.java | 92 --
.../hadoop/shuffle/HadoopShuffleJob.java | 748 ++++++++--
.../hadoop/shuffle/HadoopShuffleLocalState.java | 67 +
.../hadoop/shuffle/HadoopShuffleMessage.java | 242 ----
.../shuffle/HadoopShuffleRemoteState.java | 61 +
.../shuffle/collections/HadoopMultimapBase.java | 5 +-
.../shuffle/collections/HadoopSkipList.java | 14 +-
.../shuffle/direct/HadoopDirectDataInput.java | 166 +++
.../shuffle/direct/HadoopDirectDataOutput.java | 221 +++
.../direct/HadoopDirectDataOutputContext.java | 100 ++
.../direct/HadoopDirectDataOutputState.java | 54 +
.../shuffle/streams/HadoopDataOutStream.java | 2 +-
.../child/HadoopChildProcessRunner.java | 12 +-
.../HadoopExternalCommunication.java | 4 +-
.../communication/HadoopIpcToNioAdapter.java | 2 +-
.../communication/HadoopMarshallerFilter.java | 6 +-
.../resources/META-INF/classnames.properties | 114 ++
.../hadoop/impl/HadoopAbstractSelfTest.java | 13 +-
.../impl/HadoopAbstractWordCountTest.java | 6 +-
.../hadoop/impl/HadoopFileSystemsTest.java | 9 +
.../hadoop/impl/HadoopJobTrackerSelfTest.java | 4 +-
.../impl/HadoopMapReduceEmbeddedSelfTest.java | 22 +-
.../impl/HadoopTaskExecutionSelfTest.java | 4 +-
.../hadoop/impl/HadoopTeraSortTest.java | 383 +++++
...opClientProtocolMultipleServersSelfTest.java | 93 +-
.../client/HadoopClientProtocolSelfTest.java | 232 +--
.../collections/HadoopAbstractMapTest.java | 6 +
.../HadoopConcurrentHashMultimapSelftest.java | 2 +-
.../collections/HadoopSkipListSelfTest.java | 16 +-
.../HadoopExternalTaskExecutionSelfTest.java | 2 +
.../testsuites/IgniteHadoopTestSuite.java | 3 +
modules/hibernate/pom.xml | 2 +-
modules/indexing/pom.xml | 2 +-
.../cache/query/GridCacheTwoStepQuery.java | 253 ++++
.../query/h2/DmlStatementsProcessor.java | 1083 ++++++++++++++
.../query/h2/GridH2ResultSetIterator.java | 3 +-
.../processors/query/h2/IgniteH2Indexing.java | 130 +-
.../query/h2/dml/FastUpdateArgument.java | 27 +
.../query/h2/dml/FastUpdateArguments.java | 53 +
.../query/h2/dml/KeyValueSupplier.java | 30 +
.../processors/query/h2/dml/UpdateMode.java | 36 +
.../processors/query/h2/dml/UpdatePlan.java | 128 ++
.../query/h2/dml/UpdatePlanBuilder.java | 486 +++++++
.../processors/query/h2/dml/package-info.java | 22 +
.../query/h2/opt/GridH2RowDescriptor.java | 23 +
.../query/h2/opt/GridH2TreeIndex.java | 2 +-
.../processors/query/h2/sql/DmlAstUtils.java | 616 ++++++++
.../processors/query/h2/sql/GridSqlArray.java | 8 +
.../processors/query/h2/sql/GridSqlConst.java | 6 +
.../processors/query/h2/sql/GridSqlDelete.java | 68 +
.../query/h2/sql/GridSqlFunction.java | 5 +-
.../processors/query/h2/sql/GridSqlInsert.java | 149 ++
.../processors/query/h2/sql/GridSqlKeyword.java | 46 +
.../processors/query/h2/sql/GridSqlMerge.java | 143 ++
.../processors/query/h2/sql/GridSqlQuery.java | 44 +-
.../query/h2/sql/GridSqlQueryParser.java | 323 ++++-
.../query/h2/sql/GridSqlQuerySplitter.java | 6 +-
.../processors/query/h2/sql/GridSqlSelect.java | 3 +-
.../query/h2/sql/GridSqlStatement.java | 64 +
.../processors/query/h2/sql/GridSqlUpdate.java | 105 ++
.../h2/twostep/GridReduceQueryExecutor.java | 61 +-
...niteCacheAbstractInsertSqlQuerySelfTest.java | 559 ++++++++
.../IgniteCacheAbstractSqlDmlQuerySelfTest.java | 243 ++++
.../IgniteCacheDeleteSqlQuerySelfTest.java | 106 ++
.../IgniteCacheInsertSqlQuerySelfTest.java | 203 +++
.../cache/IgniteCacheLargeResultSelfTest.java | 15 +-
.../cache/IgniteCacheMergeSqlQuerySelfTest.java | 153 ++
.../IgniteCacheUpdateSqlQuerySelfTest.java | 472 ++++++
.../IgniteCacheAtomicFieldsQuerySelfTest.java | 21 -
.../h2/GridIndexingSpiAbstractSelfTest.java | 37 +-
.../query/h2/sql/GridQueryParsingTest.java | 109 +-
.../IgniteCacheQuerySelfTestSuite.java | 143 +-
.../IgniteCacheQuerySelfTestSuite2.java | 111 +-
.../IgniteH2IndexingSpiTestSuite.java | 16 +-
modules/jcl/pom.xml | 2 +-
modules/jms11/pom.xml | 2 +-
modules/jta/pom.xml | 2 +-
modules/kafka/pom.xml | 2 +-
.../ignite/stream/kafka/KafkaStreamer.java | 50 +-
.../kafka/KafkaIgniteStreamerSelfTest.java | 36 +-
modules/log4j/pom.xml | 2 +-
modules/log4j2/pom.xml | 2 +-
modules/mesos/pom.xml | 2 +-
modules/mqtt/pom.xml | 2 +-
modules/osgi-karaf/pom.xml | 2 +-
modules/osgi-paxlogging/pom.xml | 2 +-
modules/osgi/pom.xml | 3 +-
.../include/ignite/binary/binary_raw_reader.h | 21 +
.../ignite/impl/binary/binary_reader_impl.h | 9 +-
.../src/impl/binary/binary_reader_impl.cpp | 20 +-
.../platforms/cpp/common/include/Makefile.am | 5 +-
.../common/include/ignite/common/concurrent.h | 90 +-
.../include/ignite/common/reference_impl.h | 286 ++++
.../cpp/common/include/ignite/reference.h | 564 ++++++++
.../cpp/common/project/vs/common.vcxproj | 2 +
.../common/project/vs/common.vcxproj.filters | 6 +
modules/platforms/cpp/configure.ac | 2 +-
modules/platforms/cpp/configure.acrel | 2 +-
modules/platforms/cpp/core-test/Makefile.am | 7 +-
.../core-test/config/cache-query-continuous.xml | 87 ++
.../cpp/core-test/config/cache-query.xml | 10 +
.../cpp/core-test/config/cache-test.xml | 1 +
.../platforms/cpp/core-test/config/invalid.xml | 39 +
.../cpp/core-test/project/vs/core-test.vcxproj | 13 +-
.../project/vs/core-test.vcxproj.filters | 11 +-
.../cpp/core-test/src/cache_query_test.cpp | 76 +-
.../cpp/core-test/src/continuous_query_test.cpp | 611 ++++++++
.../cpp/core-test/src/handle_registry_test.cpp | 18 +-
.../cpp/core-test/src/interop_test.cpp | 17 +-
.../cpp/core-test/src/reference_test.cpp | 412 ++++++
modules/platforms/cpp/core/Makefile.am | 1 +
.../cpp/core/include/ignite/cache/cache.h | 104 +-
.../cpp/core/include/ignite/cache/cache_entry.h | 40 +-
.../ignite/cache/event/cache_entry_event.h | 139 ++
.../cache/event/cache_entry_event_listener.h | 71 +
.../cache/query/continuous/continuous_query.h | 239 ++++
.../query/continuous/continuous_query_handle.h | 133 ++
.../core/include/ignite/impl/cache/cache_impl.h | 116 +-
.../continuous/continuous_query_handle_impl.h | 101 ++
.../query/continuous/continuous_query_impl.h | 351 +++++
.../core/include/ignite/impl/handle_registry.h | 62 +-
.../include/ignite/impl/ignite_environment.h | 34 +-
modules/platforms/cpp/core/namespaces.dox | 74 +-
.../platforms/cpp/core/project/vs/core.vcxproj | 7 +
.../cpp/core/project/vs/core.vcxproj.filters | 30 +
modules/platforms/cpp/core/src/ignition.cpp | 15 +-
.../cpp/core/src/impl/cache/cache_impl.cpp | 31 +
.../continuous/continuous_query_handle_impl.cpp | 96 ++
.../cpp/core/src/impl/handle_registry.cpp | 102 +-
.../cpp/core/src/impl/ignite_environment.cpp | 146 +-
modules/platforms/cpp/examples/Makefile.am | 1 +
modules/platforms/cpp/examples/configure.ac | 3 +-
.../continuous-query-example/Makefile.am | 58 +
.../config/continuous-query-example.xml | 52 +
.../project/vs/continuous-query-example.vcxproj | 110 ++
.../vs/continuous-query-example.vcxproj.filters | 35 +
.../src/continuous_query_example.cpp | 142 ++
.../examples/include/ignite/examples/person.h | 2 +-
.../odbc-example/config/example-odbc.xml | 38 +-
.../project/vs/odbc-example.vcxproj | 7 +-
.../project/vs/odbc-example.vcxproj.filters | 8 +
.../examples/odbc-example/src/odbc_example.cpp | 514 ++++++-
.../cpp/examples/project/vs/ignite-examples.sln | 6 +
.../putget-example/src/putget_example.cpp | 2 +-
.../query-example/src/query_example.cpp | 4 +-
.../cpp/jni/include/ignite/jni/exports.h | 3 -
.../platforms/cpp/jni/include/ignite/jni/java.h | 94 +-
modules/platforms/cpp/jni/project/vs/module.def | 6 +-
modules/platforms/cpp/jni/src/exports.cpp | 8 -
modules/platforms/cpp/jni/src/java.cpp | 419 +-----
.../odbc-test/config/queries-test-noodbc.xml | 4 +
.../cpp/odbc-test/config/queries-test.xml | 41 +
.../platforms/cpp/odbc-test/include/Makefile.am | 1 +
.../cpp/odbc-test/include/complex_type.h | 122 ++
.../cpp/odbc-test/project/vs/odbc-test.vcxproj | 5 +-
.../project/vs/odbc-test.vcxproj.filters | 3 +
.../src/application_data_buffer_test.cpp | 2 +-
.../cpp/odbc-test/src/queries_test.cpp | 437 +++++-
.../platforms/cpp/odbc/include/ignite/odbc.h | 14 +-
.../ignite/odbc/app/application_data_buffer.h | 4 +-
.../odbc/include/ignite/odbc/app/parameter.h | 2 +-
.../cpp/odbc/include/ignite/odbc/common_types.h | 3 +
.../cpp/odbc/include/ignite/odbc/message.h | 138 +-
.../odbc/include/ignite/odbc/query/data_query.h | 12 +-
.../cpp/odbc/include/ignite/odbc/query/query.h | 44 +-
.../cpp/odbc/include/ignite/odbc/statement.h | 83 +-
.../cpp/odbc/include/ignite/odbc/type_traits.h | 2 +-
.../cpp/odbc/include/ignite/odbc/utility.h | 11 +-
.../cpp/odbc/install/ignite-odbc-amd64.wxs | 2 +-
.../cpp/odbc/install/ignite-odbc-x86.wxs | 2 +-
.../odbc/src/app/application_data_buffer.cpp | 57 +-
.../platforms/cpp/odbc/src/app/parameter.cpp | 3 +-
modules/platforms/cpp/odbc/src/column.cpp | 41 +-
modules/platforms/cpp/odbc/src/connection.cpp | 23 +-
modules/platforms/cpp/odbc/src/entry_points.cpp | 32 +-
modules/platforms/cpp/odbc/src/odbc.cpp | 25 +-
.../odbc/src/query/column_metadata_query.cpp | 2 +-
.../platforms/cpp/odbc/src/query/data_query.cpp | 6 +-
.../cpp/odbc/src/query/foreign_keys_query.cpp | 2 +-
.../cpp/odbc/src/query/primary_keys_query.cpp | 2 +-
.../odbc/src/query/special_columns_query.cpp | 2 +-
.../cpp/odbc/src/query/table_metadata_query.cpp | 2 +-
.../cpp/odbc/src/query/type_info_query.cpp | 2 +-
modules/platforms/cpp/odbc/src/statement.cpp | 230 ++-
modules/platforms/cpp/odbc/src/type_traits.cpp | 3 +
modules/platforms/cpp/odbc/src/utility.cpp | 22 +-
modules/platforms/cpp/project/vs/ignite.slnrel | 3 +
.../platforms/cpp/project/vs/ignite_x86.slnrel | 3 +
.../Properties/AssemblyInfo.cs | 6 +-
.../Apache.Ignite.AspNet.nuspec | 4 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Binary/BinaryCompactFooterInteropTest.cs | 31 +-
.../Cache/Query/CacheLinqTest.cs | 21 +-
.../Query/CacheQueriesCodeConfigurationTest.cs | 17 +-
.../Cache/Query/CacheQueriesTest.cs | 8 +
.../Examples/Example.cs | 6 +-
.../Examples/ExamplesTest.cs | 7 +-
.../Apache.Ignite.Core.Tests/ExecutableTest.cs | 64 +-
.../Process/IgniteProcess.cs | 21 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Apache.Ignite.Core.Tests/ReconnectTest.cs | 4 +-
.../Services/ServicesTest.cs | 46 +-
.../Apache.Ignite.Core.Tests/TestUtils.cs | 3 +-
.../Apache.Ignite.Core.csproj | 2 +
.../dotnet/Apache.Ignite.Core/Binary/IBinary.cs | 3 +-
.../Apache.Ignite.Core/Cache/Query/QueryBase.cs | 15 +-
.../Apache.Ignite.Core/IgniteConfiguration.cs | 1 +
.../Impl/Binary/BinaryUtils.cs | 16 +
.../Impl/Binary/Io/BinaryStreamBase.cs | 4 +-
.../Apache.Ignite.Core/Impl/Cache/CacheImpl.cs | 29 +-
.../Apache.Ignite.Core/Impl/Common/Future.cs | 13 +-
.../Impl/Common/Listenable.cs | 49 +
.../Impl/Compute/ComputeImpl.cs | 4 +-
.../Impl/Compute/ComputeTaskHolder.cs | 14 +-
.../Apache.Ignite.Core/Impl/PlatformTarget.cs | 2 +-
.../Impl/Unmanaged/IgniteJniNativeMethods.cs | 8 -
.../Impl/Unmanaged/UnmanagedCallbackHandlers.cs | 79 +-
.../Impl/Unmanaged/UnmanagedCallbackOp.cs | 86 ++
.../Impl/Unmanaged/UnmanagedCallbacks.cs | 1229 ++++++++--------
.../Impl/Unmanaged/UnmanagedUtils.cs | 5 -
.../Properties/AssemblyInfo.cs | 6 +-
.../EntityFrameworkCacheTest.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Impl/CacheQueryExpressionVisitor.cs | 12 +-
.../Apache.Ignite.Linq/Impl/MethodVisitor.cs | 34 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
modules/platforms/dotnet/Apache.Ignite.sln | 7 +
.../Apache.Ignite/Config/ArgsConfigurator.cs | 7 +-
.../dotnet/Apache.Ignite/Config/Configurator.cs | 10 +
.../Apache.Ignite/Properties/AssemblyInfo.cs | 6 +-
modules/platforms/dotnet/DEVNOTES.txt | 12 +-
modules/platforms/dotnet/README.md | 150 ++
modules/platforms/dotnet/build.bat | 14 +
modules/platforms/dotnet/build.ps1 | 211 +++
.../Datagrid/MultiTieredCacheExample.cs | 8 +-
.../Misc/ClientReconnectExample.cs | 18 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
modules/rest-http/pom.xml | 2 +-
modules/scalar-2.10/pom.xml | 2 +-
modules/scalar/pom.xml | 2 +-
modules/schedule/pom.xml | 2 +-
modules/schema-import-db/pom.xml | 2 +-
modules/schema-import/pom.xml | 2 +-
modules/slf4j/pom.xml | 2 +-
modules/spark-2.10/pom.xml | 2 +-
modules/spark/pom.xml | 2 +-
modules/spring/pom.xml | 2 +-
modules/ssh/pom.xml | 2 +-
modules/storm/pom.xml | 2 +-
modules/tools/pom.xml | 2 +-
.../ignite/tools/classgen/ClassesGenerator.java | 8 +-
modules/twitter/pom.xml | 2 +-
modules/urideploy/pom.xml | 2 +-
modules/visor-console-2.10/pom.xml | 2 +-
modules/visor-console/pom.xml | 2 +-
modules/visor-plugins/pom.xml | 2 +-
modules/web-console/backend/app/agent.js | 32 +-
modules/web-console/backend/app/browser.js | 13 +
modules/web-console/backend/app/mongo.js | 6 +
.../backend/config/settings.json.sample | 7 -
modules/web-console/backend/index.js | 6 +-
modules/web-console/backend/middlewares/host.js | 7 +-
modules/web-console/backend/routes/agent.js | 4 +-
modules/web-console/backend/services/agents.js | 2 +-
modules/web-console/backend/services/caches.js | 2 +
.../docker/compose/backend/.dockerignore | 2 +
.../docker/compose/backend/Dockerfile | 6 +-
.../web-console/docker/compose/backend/build.sh | 4 +-
.../docker/compose/docker-compose.yml | 5 -
.../docker/compose/frontend/DockerfileBuild | 4 +-
.../docker/compose/frontend/build.sh | 6 +-
.../compose/frontend/nginx/web-console.conf | 9 +
.../web-console/docker/standalone/.dockerignore | 5 +
.../web-console/docker/standalone/Dockerfile | 10 +-
modules/web-console/docker/standalone/build.sh | 4 +-
.../docker/standalone/docker-compose.yml | 7 +-
.../docker/standalone/nginx/web-console.conf | 9 +
.../frontend/app/data/pom-dependencies.json | 2 +-
.../directives/ui-ace-pojos/ui-ace-pojos.jade | 2 +-
.../frontend/app/filters/duration.filter.js | 3 +
.../helpers/jade/form/form-field-checkbox.jade | 2 +-
.../helpers/jade/form/form-field-datalist.jade | 2 +-
.../helpers/jade/form/form-field-dropdown.jade | 2 +-
.../helpers/jade/form/form-field-number.jade | 2 +-
.../helpers/jade/form/form-field-password.jade | 2 +-
.../app/helpers/jade/form/form-field-text.jade | 2 +-
.../frontend/app/helpers/jade/mixins.jade | 24 +-
.../modules/configuration/generator/Beans.js | 6 +
.../generator/ConfigurationGenerator.js | 165 ++-
.../generator/JavaTransformer.service.js | 15 +-
.../generator/Properties.service.js | 19 +
.../generator/SpringTransformer.service.js | 22 +-
.../generator/defaults/cache.provider.js | 8 +
.../generator/defaults/cluster.provider.js | 2 +-
.../app/modules/form/field/tooltip.directive.js | 2 +-
.../app/modules/form/group/tooltip.directive.js | 2 +-
.../app/modules/form/panel/field.directive.js | 4 +-
.../app/modules/sql/scan-filter-input.jade | 2 +-
.../frontend/app/modules/sql/sql.controller.js | 6 +-
.../configuration/caches/client-near-cache.jade | 2 +-
.../configuration/caches/concurrency.jade | 2 +-
.../states/configuration/caches/general.jade | 2 +-
.../states/configuration/caches/memory.jade | 2 +-
.../configuration/caches/near-cache-client.jade | 2 +-
.../configuration/caches/near-cache-server.jade | 2 +-
.../configuration/caches/node-filter.jade | 2 +-
.../states/configuration/caches/query.jade | 2 +-
.../states/configuration/caches/rebalance.jade | 2 +-
.../states/configuration/caches/statistics.jade | 2 +-
.../states/configuration/caches/store.jade | 20 +-
.../states/configuration/clusters/atomic.jade | 2 +-
.../configuration/clusters/attributes.jade | 2 +-
.../states/configuration/clusters/binary.jade | 2 +-
.../configuration/clusters/cache-key-cfg.jade | 2 +-
.../configuration/clusters/checkpoint.jade | 8 +-
.../configuration/clusters/checkpoint/fs.jade | 2 +-
.../configuration/clusters/checkpoint/jdbc.jade | 41 +-
.../configuration/clusters/checkpoint/s3.jade | 229 +--
.../configuration/clusters/collision.jade | 12 +-
.../clusters/collision/custom.jade | 2 +-
.../clusters/collision/fifo-queue.jade | 2 +-
.../clusters/collision/job-stealing.jade | 2 +-
.../clusters/collision/priority-queue.jade | 2 +-
.../configuration/clusters/communication.jade | 2 +-
.../configuration/clusters/connector.jade | 2 +-
.../configuration/clusters/deployment.jade | 2 +-
.../configuration/clusters/discovery.jade | 2 +-
.../states/configuration/clusters/events.jade | 2 +-
.../states/configuration/clusters/failover.jade | 2 +-
.../states/configuration/clusters/general.jade | 2 +-
.../clusters/general/discovery/cloud.jade | 2 +-
.../clusters/general/discovery/google.jade | 2 +-
.../clusters/general/discovery/jdbc.jade | 3 +-
.../clusters/general/discovery/multicast.jade | 2 +-
.../clusters/general/discovery/s3.jade | 2 +-
.../clusters/general/discovery/shared.jade | 2 +-
.../clusters/general/discovery/vm.jade | 2 +-
.../clusters/general/discovery/zookeeper.jade | 2 +-
.../bounded-exponential-backoff.jade | 2 +-
.../discovery/zookeeper/retrypolicy/custom.jade | 2 +-
.../retrypolicy/exponential-backoff.jade | 2 +-
.../zookeeper/retrypolicy/forever.jade | 2 +-
.../zookeeper/retrypolicy/n-times.jade | 2 +-
.../zookeeper/retrypolicy/one-time.jade | 2 +-
.../zookeeper/retrypolicy/until-elapsed.jade | 2 +-
.../states/configuration/clusters/igfs.jade | 2 +-
.../configuration/clusters/load-balancing.jade | 2 +-
.../states/configuration/clusters/logger.jade | 2 +-
.../configuration/clusters/logger/custom.jade | 2 +-
.../configuration/clusters/logger/log4j.jade | 2 +-
.../configuration/clusters/logger/log4j2.jade | 2 +-
.../configuration/clusters/marshaller.jade | 2 +-
.../states/configuration/clusters/metrics.jade | 2 +-
.../states/configuration/clusters/odbc.jade | 2 +-
.../states/configuration/clusters/ssl.jade | 2 +-
.../states/configuration/clusters/swap.jade | 2 +-
.../states/configuration/clusters/thread.jade | 2 +-
.../states/configuration/clusters/time.jade | 2 +-
.../configuration/clusters/transactions.jade | 2 +-
.../states/configuration/domains/general.jade | 2 +-
.../states/configuration/domains/query.jade | 16 +-
.../states/configuration/domains/store.jade | 12 +-
.../modules/states/configuration/igfs/dual.jade | 2 +-
.../states/configuration/igfs/fragmentizer.jade | 2 +-
.../states/configuration/igfs/general.jade | 2 +-
.../modules/states/configuration/igfs/ipc.jade | 2 +-
.../modules/states/configuration/igfs/misc.jade | 6 +-
.../states/configuration/igfs/secondary.jade | 2 +-
.../configuration/summary/summary.controller.js | 12 +-
.../frontend/controllers/clusters-controller.js | 10 +
.../frontend/controllers/domains-controller.js | 8 +-
.../frontend/gulpfile.babel.js/tasks/jade.js | 4 +-
.../frontend/gulpfile.babel.js/tasks/test.js | 92 --
.../gulpfile.babel.js/webpack/common.js | 5 +-
.../webpack/environments/development.js | 5 +
modules/web-console/frontend/package.json | 2 +-
.../stylesheets/_font-awesome-custom.scss | 18 +
.../frontend/public/stylesheets/style.scss | 13 +-
.../frontend/views/configuration/caches.jade | 22 +-
.../frontend/views/configuration/clusters.jade | 50 +-
.../views/configuration/domains-import.jade | 4 +-
.../frontend/views/configuration/domains.jade | 8 +-
.../frontend/views/configuration/igfs.jade | 14 +-
.../frontend/views/configuration/summary.jade | 2 +-
.../frontend/views/includes/header.jade | 15 +-
.../frontend/views/settings/profile.jade | 2 +-
modules/web-console/frontend/views/sql/sql.jade | 2 +-
.../views/templates/agent-download.jade | 2 +-
.../frontend/views/templates/batch-confirm.jade | 2 +-
.../frontend/views/templates/clone.jade | 2 +-
.../frontend/views/templates/confirm.jade | 2 +-
modules/web-console/pom.xml | 2 +-
modules/web-console/web-agent/README.txt | 4 +-
.../web-agent/bin/ignite-web-agent.bat | 7 +-
.../web-agent/bin/ignite-web-agent.sh | 6 +-
modules/web-console/web-agent/pom.xml | 2 +-
.../console/agent/AgentConfiguration.java | 5 +-
.../ignite/console/agent/AgentLauncher.java | 6 +-
.../ignite/console/demo/AgentClusterDemo.java | 1 +
modules/web/ignite-appserver-test/pom.xml | 2 +-
modules/web/ignite-websphere-test/pom.xml | 2 +-
modules/web/pom.xml | 2 +-
.../config/benchmark-bin-identity.properties | 94 ++
.../config/benchmark-multicast.properties | 15 +
.../config/benchmark-sql-dml.properties | 72 +
modules/yardstick/config/ignite-base-config.xml | 71 +-
.../config/ignite-bin-multicast-config.xml | 86 ++
modules/yardstick/pom.xml | 2 +-
.../yardstick/IgniteAbstractBenchmark.java | 30 +
.../yardstick/IgniteBenchmarkArguments.java | 11 +
.../ignite/yardstick/IgniteBenchmarkUtils.java | 42 +-
.../apache/ignite/yardstick/PreloadLogger.java | 155 ++
.../yardstick/cache/CacheEntryEventProbe.java | 2 +-
.../cache/IgniteBinaryIdentityBenchmark.java | 108 ++
.../cache/IgniteBinaryIdentityGetBenchmark.java | 34 +
.../cache/IgniteBinaryIdentityPutBenchmark.java | 35 +
.../IgniteFieldsBinaryIdentityGetBenchmark.java | 30 +
.../IgniteFieldsBinaryIdentityPutBenchmark.java | 30 +
.../yardstick/cache/IgniteIoTestBenchmark.java | 73 +
.../IgniteLegacyBinaryIdentityGetBenchmark.java | 30 +
.../IgniteLegacyBinaryIdentityPutBenchmark.java | 30 +
...IgnitePutIfAbsentIndexedValue1Benchmark.java | 45 +
.../IgniteReplaceIndexedValue1Benchmark.java | 79 ++
.../cache/dml/IgniteSqlDeleteBenchmark.java | 83 ++
.../dml/IgniteSqlDeleteFilteredBenchmark.java | 88 ++
.../IgniteSqlInsertIndexedValue1Benchmark.java | 48 +
.../IgniteSqlInsertIndexedValue2Benchmark.java | 48 +
.../IgniteSqlInsertIndexedValue8Benchmark.java | 48 +
.../cache/dml/IgniteSqlMergeAllBenchmark.java | 82 ++
.../cache/dml/IgniteSqlMergeBenchmark.java | 42 +
.../IgniteSqlMergeIndexedValue1Benchmark.java | 43 +
.../IgniteSqlMergeIndexedValue2Benchmark.java | 43 +
.../IgniteSqlMergeIndexedValue8Benchmark.java | 43 +
.../cache/dml/IgniteSqlMergeQueryBenchmark.java | 116 ++
.../cache/dml/IgniteSqlUpdateBenchmark.java | 82 ++
.../dml/IgniteSqlUpdateFilteredBenchmark.java | 88 ++
.../IgniteCacheRandomOperationBenchmark.java | 22 +-
.../yardstick/cache/model/SampleValue.java | 2 +
.../io/IgniteIoTestAbstractBenchmark.java | 61 +
.../io/IgniteIoTestSendAllBenchmark.java | 32 +
.../io/IgniteIoTestSendRandomBenchmark.java | 35 +
modules/yarn/pom.xml | 2 +-
modules/zookeeper/pom.xml | 2 +-
pom.xml | 2 +-
860 files changed, 34797 insertions(+), 8348 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/dc086bf3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/IgniteCacheDatabaseSharedManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/dc086bf3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
----------------------------------------------------------------------
[04/50] [abbrv] ignite git commit: gg-11729 : Reverted
MessageCodeGenerator.
Posted by ag...@apache.org.
gg-11729 : Reverted MessageCodeGenerator.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/3f83c081
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/3f83c081
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/3f83c081
Branch: refs/heads/ignite-3477
Commit: 3f83c0819f0530632c82ccadee34352de16d5617
Parents: eddd7dc
Author: Ilya Lantukh <il...@gridgain.com>
Authored: Mon Dec 19 22:24:18 2016 +0300
Committer: Ilya Lantukh <il...@gridgain.com>
Committed: Mon Dec 19 22:24:18 2016 +0300
----------------------------------------------------------------------
.../main/java/org/apache/ignite/codegen/MessageCodeGenerator.java | 3 ---
1 file changed, 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/3f83c081/modules/codegen/src/main/java/org/apache/ignite/codegen/MessageCodeGenerator.java
----------------------------------------------------------------------
diff --git a/modules/codegen/src/main/java/org/apache/ignite/codegen/MessageCodeGenerator.java b/modules/codegen/src/main/java/org/apache/ignite/codegen/MessageCodeGenerator.java
index a54b376..65ebd8d 100644
--- a/modules/codegen/src/main/java/org/apache/ignite/codegen/MessageCodeGenerator.java
+++ b/modules/codegen/src/main/java/org/apache/ignite/codegen/MessageCodeGenerator.java
@@ -44,7 +44,6 @@ import org.apache.ignite.internal.GridDirectCollection;
import org.apache.ignite.internal.GridDirectMap;
import org.apache.ignite.internal.GridDirectTransient;
import org.apache.ignite.internal.IgniteCodeGeneratingFail;
-import org.apache.ignite.internal.pagemem.snapshot.SnapshotProgressMessage;
import org.apache.ignite.internal.util.typedef.internal.SB;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteUuid;
@@ -167,8 +166,6 @@ public class MessageCodeGenerator {
MessageCodeGenerator gen = new MessageCodeGenerator(srcDir);
- gen.generateAndWrite(SnapshotProgressMessage.class);
-
// gen.generateAll(true);
// gen.generateAndWrite(GridNearAtomicUpdateRequest.class);
[41/50] [abbrv] ignite git commit: ignite-gg-11650 Stabilize
8.0.2.ea1 fix for generated full api tests
Posted by ag...@apache.org.
ignite-gg-11650 Stabilize 8.0.2.ea1 fix for generated full api tests
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/cb563331
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/cb563331
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/cb563331
Branch: refs/heads/ignite-3477
Commit: cb5633317c9071369ddde1c568e4479a7ccc0557
Parents: 8070da3
Author: Dmitriy Govorukhin <dg...@gridgain.com>
Authored: Mon Dec 26 16:26:30 2016 +0300
Committer: Dmitriy Govorukhin <dg...@gridgain.com>
Committed: Mon Dec 26 16:26:30 2016 +0300
----------------------------------------------------------------------
.../ignite/internal/processors/cache/GridCacheProcessor.java | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/cb563331/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 d9d6c2e..554d062 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
@@ -781,7 +781,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
ctx.config().setCacheConfiguration(newCacheCfg);
}
- activeOnStart = ctx.state().active();
+ activeOnStart = currentStatus;
}
if (activeOnStart)
@@ -849,6 +849,10 @@ public class GridCacheProcessor extends GridProcessorAdapter {
for (GridCacheAdapter<?, ?> cache : caches.values())
onKernalStart(cache);
+ //todo
+ /* if (!ctx.state().active())
+ return;*/
+
ctx.marshallerContext().onMarshallerCacheStarted(ctx);
if (!ctx.config().isDaemon())
[34/50] [abbrv] ignite git commit: ignite-gg-11650 Stabilize
8.0.2.ea1 cancel deployment fut if deactivate
Posted by ag...@apache.org.
ignite-gg-11650 Stabilize 8.0.2.ea1 cancel deployment fut if deactivate
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/6d45ace3
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/6d45ace3
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/6d45ace3
Branch: refs/heads/ignite-3477
Commit: 6d45ace3faad9b491c11b64a01f1f9d093201b8a
Parents: c1fd8aa
Author: Dmitriy Govorukhin <dg...@gridgain.com>
Authored: Fri Dec 23 12:28:04 2016 +0300
Committer: Dmitriy Govorukhin <dg...@gridgain.com>
Committed: Fri Dec 23 12:28:04 2016 +0300
----------------------------------------------------------------------
.../processors/cluster/GridClusterStateProcessor.java | 12 ++++++------
.../processors/service/GridServiceProcessor.java | 6 +++++-
2 files changed, 11 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/6d45ace3/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
index 725c9f3..55061fc 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
@@ -379,6 +379,12 @@ public class GridClusterStateProcessor extends GridProcessorAdapter {
// revert change if activation request fail
if (actx.activate) {
try {
+ cacheProc.onKernalStopCaches(true);
+
+ cacheProc.stopCaches(true);
+
+ sharedCtx.affinity().removeAllCacheInfo();
+
if (!ctx.clientNode()) {
sharedCtx.database().onDeActivate(ctx);
@@ -387,12 +393,6 @@ public class GridClusterStateProcessor extends GridProcessorAdapter {
sharedCtx.wal().onDeActivate(ctx);
}
-
- cacheProc.onKernalStopCaches(true);
-
- cacheProc.stopCaches(true);
-
- sharedCtx.affinity().removeAllCacheInfo();
}
catch (Exception e) {
for (Map.Entry<UUID, Exception> entry : exs.entrySet())
http://git-wip-us.apache.org/repos/asf/ignite/blob/6d45ace3/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
index c63ffd4..ac50ef2 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
@@ -376,11 +376,15 @@ public class GridServiceProcessor extends GridProcessorAdapter implements Ignite
}
/** {@inheritDoc} */
- @Override public void onDeActivate(GridKernalContext kctx) {
+ @Override public void onDeActivate(GridKernalContext kctx) throws IgniteCheckedException {
if (log.isDebugEnabled())
log.debug("DeActivate service processor [nodeId=" + ctx.localNodeId() +
" topVer=" + ctx.discovery().topologyVersionEx() + " ]");
+ cancelFutures(depFuts, new IgniteCheckedException("Failed to deploy service, cluster in active."));
+
+ cancelFutures(undepFuts, new IgniteCheckedException("Failed to undeploy service, cluster in active."));
+
onKernalStop(true);
}
[43/50] [abbrv] ignite git commit: Merge apache/master into
ignite-gg-8.0.2.ea1
Posted by ag...@apache.org.
Merge apache/master into ignite-gg-8.0.2.ea1
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/d98d947f
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/d98d947f
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/d98d947f
Branch: refs/heads/ignite-3477
Commit: d98d947fb971053b2c9e024cb6cf286b4c47d65a
Parents: e8f6a54 300750f
Author: Alexey Goncharuk <al...@gmail.com>
Authored: Tue Dec 27 12:53:52 2016 +0300
Committer: Alexey Goncharuk <al...@gmail.com>
Committed: Tue Dec 27 12:53:52 2016 +0300
----------------------------------------------------------------------
.../store/cassandra/CassandraCacheStore.java | 6 +
.../store/cassandra/datasource/DataSource.java | 9 +
.../java/org/apache/ignite/IgniteLogger.java | 6 +-
.../java/org/apache/ignite/IgniteServices.java | 16 +
.../ignite/cache/store/CacheStoreAdapter.java | 6 +
.../cache/store/jdbc/CacheJdbcPojoStore.java | 19 +-
.../store/jdbc/JdbcTypesDefaultTransformer.java | 112 +-
.../org/apache/ignite/internal/GridTopic.java | 8 +-
.../ignite/internal/IgniteServicesImpl.java | 9 +-
.../internal/binary/BinaryClassDescriptor.java | 12 +-
.../ignite/internal/binary/BinaryUtils.java | 10 +-
.../binary/builder/BinaryObjectBuilderImpl.java | 11 +-
.../affinity/GridAffinityProcessor.java | 2 +-
.../cache/CacheStoreBalancingWrapper.java | 6 +
.../processors/cache/GridCacheAdapter.java | 8 +-
.../cache/GridCacheLoaderWriterStore.java | 6 +
.../GridCachePartitionExchangeManager.java | 31 +-
.../CacheDataStructuresManager.java | 6 +-
.../cache/query/GridCacheQueryManager.java | 4 +-
.../closure/GridClosureProcessor.java | 31 +-
.../internal/processors/job/GridJobWorker.java | 76 +-
.../processors/odbc/OdbcRequestHandler.java | 16 +-
.../internal/processors/odbc/OdbcTableMeta.java | 15 +-
.../platform/PlatformContextImpl.java | 2 +-
.../dotnet/PlatformDotNetCacheStore.java | 11 +
.../platform/services/PlatformServices.java | 2 +-
.../platform/utils/PlatformUtils.java | 28 +
.../service/GridServiceProcessor.java | 11 +-
.../processors/service/GridServiceProxy.java | 18 +-
.../processors/task/GridTaskWorker.java | 7 +
.../visor/service/VisorCancelServiceTask.java | 70 +
.../visor/service/VisorServiceDescriptor.java | 132 +
.../visor/service/VisorServiceTask.java | 75 +
.../internal/visor/util/VisorTaskUtils.java | 15 +-
.../apache/ignite/logger/java/JavaLogger.java | 4 +-
.../communication/tcp/TcpCommunicationSpi.java | 4 +-
.../apache/ignite/util/AttributeNodeFilter.java | 108 +
.../resources/META-INF/classnames.properties | 7 +
.../jdbc/JdbcTypesDefaultTransformerTest.java | 283 ++
.../IgniteComputeTopologyExceptionTest.java | 5 +-
.../binary/BinaryMarshallerSelfTest.java | 66 +
...heapCacheMetricsForClusterGroupSelfTest.java | 141 +
.../CacheOffHeapAndSwapMetricsSelfTest.java | 617 ---
...LocalCacheOffHeapAndSwapMetricsSelfTest.java | 617 +++
.../closure/GridClosureSerializationTest.java | 177 +
...gniteServiceProxyTimeoutInitializedTest.java | 284 ++
.../junits/logger/GridTestLog4jLogger.java | 4 +-
.../ignite/testsuites/IgniteBasicTestSuite.java | 5 +
.../IgniteCacheMetricsSelfTestSuite.java | 6 +-
.../ignite/testsuites/IgniteCacheTestSuite.java | 2 +
.../testsuites/IgniteKernalSelfTestSuite.java | 2 +
.../util/AttributeNodeFilterSelfTest.java | 184 +
.../processors/query/h2/IgniteH2Indexing.java | 75 +-
...niteCachePartitionedFieldsQuerySelfTest.java | 25 +
.../apache/ignite/logger/log4j/Log4JLogger.java | 4 +-
.../cache/query/continuous/continuous_query.h | 2 +-
.../cpp/odbc-test/config/queries-default.xml | 145 +
.../odbc-test/config/queries-test-noodbc.xml | 84 +-
.../cpp/odbc-test/config/queries-test.xml | 122 +-
.../cpp/odbc-test/src/queries_test.cpp | 76 +
.../cpp/odbc-test/src/utility_test.cpp | 27 +-
modules/platforms/cpp/odbc/src/utility.cpp | 10 +
.../Cache/Query/CacheLinqTest.cs | 51 +-
.../Examples/Example.cs | 5 +-
.../Examples/ExamplesTest.cs | 107 +-
.../Apache.Ignite.Core.Tests/ReconnectTest.cs | 21 +-
.../EntityFrameworkCacheTest.cs | 54 +-
.../Impl/DbCommandInfo.cs | 21 +-
.../Apache.Ignite.Linq/Impl/ExpressionWalker.cs | 8 +
modules/platforms/dotnet/build.bat | 11 +-
.../spi/deployment/uri/UriDeploymentSpi.java | 2 +-
modules/web-console/backend/app/agent.js | 15 +
modules/web-console/backend/app/browser.js | 13 +
modules/web-console/backend/app/mongo.js | 24 +-
modules/web-console/backend/routes/demo.js | 17 +-
modules/web-console/backend/routes/profile.js | 3 +-
.../web-console/backend/services/notebooks.js | 14 +-
.../web-console/backend/services/sessions.js | 6 +-
modules/web-console/backend/services/spaces.js | 15 +
modules/web-console/frontend/app/app.js | 5 -
.../controllers/reset-password.controller.js | 14 +-
.../frontend/app/data/event-groups.json | 169 +
.../frontend/app/data/event-types.json | 169 -
.../frontend/app/data/pom-dependencies.json | 12 +-
.../ui-ace-docker/ui-ace-docker.controller.js | 2 +-
.../directives/ui-ace-docker/ui-ace-docker.jade | 2 +-
.../ui-ace-pojos/ui-ace-pojos.controller.js | 12 +-
.../ui-ace-pom/ui-ace-pom.controller.js | 4 +-
.../helpers/jade/form/form-field-dropdown.jade | 5 +-
.../helpers/jade/form/form-field-number.jade | 3 +-
.../app/helpers/jade/form/form-field-text.jade | 19 +-
.../frontend/app/helpers/jade/mixins.jade | 52 +-
.../frontend/app/modules/Demo/Demo.module.js | 6 +-
.../configuration/EventGroups.provider.js | 30 -
.../modules/configuration/Version.service.js | 6 +-
.../configuration/configuration.module.js | 63 +-
.../generator/AbstractTransformer.js | 17 +
.../modules/configuration/generator/Beans.js | 5 +
.../generator/ConfigurationGenerator.js | 2795 +++++++-------
.../configuration/generator/Custom.service.js | 23 +
.../configuration/generator/Docker.service.js | 4 +-
.../generator/JavaTransformer.service.js | 2318 +++++------
.../configuration/generator/Maven.service.js | 234 ++
.../configuration/generator/Pom.service.js | 233 --
.../generator/Properties.service.js | 2 +-
.../configuration/generator/Readme.service.js | 2 +-
.../generator/SharpTransformer.service.js | 437 ++-
.../generator/SpringTransformer.service.js | 497 ++-
.../defaults/Cache.platform.service.js | 56 +
.../generator/defaults/Cache.service.js | 131 +
.../defaults/Cluster.platform.service.js | 43 +
.../generator/defaults/Cluster.service.js | 289 ++
.../generator/defaults/Event-groups.service.js | 27 +
.../generator/defaults/IGFS.service.js | 64 +
.../defaults/cache.platform.provider.js | 60 -
.../generator/defaults/cache.provider.js | 137 -
.../defaults/cluster.platform.provider.js | 49 -
.../generator/defaults/cluster.provider.js | 293 --
.../generator/defaults/igfs.provider.js | 68 -
.../configuration/generator/generator-common.js | 625 ---
.../configuration/generator/generator-java.js | 3617 ------------------
.../generator/generator-optional.js | 25 -
.../configuration/generator/generator-spring.js | 2111 ----------
.../frontend/app/modules/sql/Notebook.data.js | 11 +-
.../app/modules/sql/Notebook.service.js | 2 +-
.../app/modules/sql/scan-filter-input.jade | 39 -
.../modules/sql/scan-filter-input.service.js | 51 -
.../frontend/app/modules/sql/sql.controller.js | 211 +-
.../frontend/app/modules/sql/sql.module.js | 2 -
.../app/modules/states/configuration.state.js | 2 +
.../configuration/caches/node-filter.jade | 2 +-
.../states/configuration/caches/query.jade | 3 +
.../states/configuration/caches/store.jade | 4 +-
.../configuration/clusters/checkpoint.jade | 11 +-
.../configuration/clusters/checkpoint/fs.jade | 8 +-
.../configuration/clusters/checkpoint/jdbc.jade | 8 +-
.../configuration/clusters/checkpoint/s3.jade | 25 +-
.../clusters/collision/custom.jade | 2 +-
.../clusters/collision/job-stealing.jade | 2 +-
.../configuration/clusters/deployment.jade | 129 +-
.../states/configuration/clusters/events.jade | 4 +-
.../states/configuration/clusters/failover.jade | 4 +-
.../clusters/general/discovery/zookeeper.jade | 2 +-
.../discovery/zookeeper/retrypolicy/custom.jade | 2 +-
.../configuration/clusters/load-balancing.jade | 23 +-
.../configuration/clusters/logger/custom.jade | 2 +-
.../states/configuration/clusters/ssl.jade | 2 +-
.../summary/summary-zipper.service.js | 37 +
.../configuration/summary/summary.controller.js | 103 +-
.../configuration/summary/summary.worker.js | 123 +
.../frontend/app/modules/user/Auth.service.js | 11 +-
.../frontend/app/services/JavaTypes.service.js | 13 +-
.../frontend/app/services/Messages.service.js | 17 +-
.../frontend/controllers/admin-controller.js | 211 +-
.../frontend/controllers/caches-controller.js | 22 +-
.../frontend/controllers/clusters-controller.js | 42 +-
.../frontend/controllers/domains-controller.js | 32 +-
.../frontend/controllers/igfs-controller.js | 20 +-
.../frontend/controllers/profile-controller.js | 3 +-
.../gulpfile.babel.js/webpack/common.js | 17 +-
.../webpack/environments/development.js | 14 +-
.../webpack/environments/production.js | 3 +-
.../webpack/plugins/progress.js | 82 -
modules/web-console/frontend/package.json | 178 +-
.../frontend/public/images/cache.png | Bin 23700 -> 24791 bytes
.../frontend/public/images/domains.png | Bin 23828 -> 22131 bytes
.../web-console/frontend/public/images/igfs.png | Bin 14307 -> 14139 bytes
.../frontend/public/images/query-chart.png | Bin 16637 -> 17142 bytes
.../frontend/public/images/query-metadata.png | Bin 32298 -> 39361 bytes
.../frontend/public/images/query-table.png | Bin 29189 -> 28065 bytes
.../frontend/public/images/summary.png | Bin 31997 -> 33650 bytes
.../stylesheets/_font-awesome-custom.scss | 23 +-
.../frontend/public/stylesheets/form-field.scss | 37 +
.../frontend/public/stylesheets/style.scss | 111 +-
.../frontend/test/unit/JavaTypes.test.js | 17 +-
.../frontend/test/unit/Version.test.js | 8 +-
.../views/configuration/domains-import.jade | 5 +-
.../frontend/views/configuration/summary.jade | 25 +-
.../frontend/views/settings/admin.jade | 85 +-
.../frontend/views/sql/notebook-new.jade | 2 +-
modules/web-console/frontend/views/sql/sql.jade | 235 +-
.../frontend/views/templates/alert.jade | 2 +-
.../frontend/views/templates/select.jade | 2 +-
183 files changed, 8697 insertions(+), 12338 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/d98d947f/modules/core/src/main/java/org/apache/ignite/internal/GridTopic.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/GridTopic.java
index c86e572,2962540..86245a8
--- a/modules/core/src/main/java/org/apache/ignite/internal/GridTopic.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/GridTopic.java
@@@ -99,10 -96,11 +96,13 @@@ public enum GridTopic
/** */
TOPIC_TX,
+ TOPIC_SNAPSHOT,
+
/** */
- TOPIC_IO_TEST;
+ TOPIC_IO_TEST,
+
+ /** */
+ TOPIC_HADOOP_MSG;
/** Enum values. */
private static final GridTopic[] VALS = values();
http://git-wip-us.apache.org/repos/asf/ignite/blob/d98d947f/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/d98d947f/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityProcessor.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/d98d947f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/d98d947f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
index 2b62ce9,f6dfe95..f10a072
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
@@@ -839,10 -821,18 +839,18 @@@ public class GridCachePartitionExchange
lastVer,
exchId != null ? exchId.topologyVersion() : AffinityTopologyVersion.NONE);
- boolean useOldApi = false;
-
if (nodes != null) {
for (ClusterNode node : nodes) {
- if (node.version().compareToIgnoreTimestamp(GridDhtPartitionsAbstractMessage.PART_MAP_COMPRESS_SINCE) < 0)
+ if (node.version().compareTo(GridDhtPartitionMap2.SINCE) < 0) {
- useOldApi = true;
compress = false;
+
+ break;
+ }
- else if (!canUsePartitionMapCompression(node))
++ else if (!canUsePartitionMapCompression(node)) {
+ compress = false;
++
++ break;
++ }
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/d98d947f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/d98d947f/modules/core/src/main/java/org/apache/ignite/internal/processors/closure/GridClosureProcessor.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/d98d947f/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/d98d947f/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorTaskUtils.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/d98d947f/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/d98d947f/modules/core/src/main/resources/META-INF/classnames.properties
----------------------------------------------------------------------
diff --cc modules/core/src/main/resources/META-INF/classnames.properties
index a1de5bb,4d0b931..445f072
--- a/modules/core/src/main/resources/META-INF/classnames.properties
+++ b/modules/core/src/main/resources/META-INF/classnames.properties
@@@ -1894,8 -1891,8 +1899,9 @@@ org.apache.ignite.spi.checkpoint.shared
org.apache.ignite.spi.collision.jobstealing.JobStealingRequest
org.apache.ignite.spi.collision.priorityqueue.PriorityQueueCollisionSpi$PriorityGridCollisionJobContextComparator
org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi$1
+ org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi$10
org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi$11
+org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi$12
org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi$2$ConnectClosure
org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi$2$ConnectClosure$1
org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi$2$ConnectClosureNew
http://git-wip-us.apache.org/repos/asf/ignite/blob/d98d947f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/local/LocalCacheOffHeapAndSwapMetricsSelfTest.java
----------------------------------------------------------------------
diff --cc modules/core/src/test/java/org/apache/ignite/internal/processors/cache/local/LocalCacheOffHeapAndSwapMetricsSelfTest.java
index 0000000,ae8807f..20befb5
mode 000000,100644..100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/local/LocalCacheOffHeapAndSwapMetricsSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/local/LocalCacheOffHeapAndSwapMetricsSelfTest.java
@@@ -1,0 -1,621 +1,617 @@@
+ /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+ package org.apache.ignite.internal.processors.cache.local;
+
+ import org.apache.ignite.IgniteCache;
+ import org.apache.ignite.cache.CacheAtomicityMode;
+ import org.apache.ignite.cache.CacheMemoryMode;
+ import org.apache.ignite.cache.CacheMode;
+ import org.apache.ignite.cache.eviction.fifo.FifoEvictionPolicy;
+ import org.apache.ignite.configuration.CacheConfiguration;
+ import org.apache.ignite.configuration.IgniteConfiguration;
-import org.apache.ignite.spi.swapspace.file.FileSwapSpaceSpi;
+ import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
+
+ /**
+ *
+ */
+ public class LocalCacheOffHeapAndSwapMetricsSelfTest extends GridCommonAbstractTest {
+ /** Grid count. */
+ private static final int GRID_CNT = 1;
+
+ /** Keys count. */
+ private static final int KEYS_CNT = 1000;
+
+ /** Max size. */
+ private static final int MAX_SIZE = 100;
+
+ /** Entry size. */
+ private static final int ENTRY_SIZE = 86; // Calculated as allocated size divided on entries count.
+
+ /** Offheap max count. */
+ private static final int OFFHEAP_MAX_CNT = KEYS_CNT / 2;
+
+ /** Offheap max size. */
+ private static final int OFFHEAP_MAX_SIZE = ENTRY_SIZE * OFFHEAP_MAX_CNT;
+
+ /** Cache. */
+ private IgniteCache<Integer, Integer> cache;
+
+ /** {@inheritDoc} */
+ @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
+ IgniteConfiguration cfg = super.getConfiguration(gridName);
+
- cfg.setSwapSpaceSpi(new FileSwapSpaceSpi());
-
+ return cfg;
+ }
+
+ /**
+ * @param memoryMode Cache memory mode.
+ * @param offHeapSize Max off-heap size.
+ * @param swapEnabled Swap enabled.
+ */
+ private void createCache(CacheMemoryMode memoryMode, int offHeapSize, boolean swapEnabled) {
+ CacheConfiguration ccfg = defaultCacheConfiguration();
+
+ ccfg.setStatisticsEnabled(true);
+
+ ccfg.setCacheMode(CacheMode.LOCAL);
+ ccfg.setAtomicityMode(CacheAtomicityMode.ATOMIC);
+ ccfg.setMemoryMode(memoryMode);
+
+ ccfg.setOffHeapMaxMemory(offHeapSize);
- ccfg.setSwapEnabled(swapEnabled);
+
+ ccfg.setEvictionPolicy(new FifoEvictionPolicy(MAX_SIZE));
+
+ cache = grid(0).getOrCreateCache(ccfg);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void beforeTestsStarted() throws Exception {
+ super.beforeTestsStarted();
+
+ startGrids(GRID_CNT);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void afterTestsStopped() throws Exception {
+ super.afterTestsStopped();
+
+ stopAllGrids();
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void afterTest() throws Exception {
+ if (cache != null)
+ cache.destroy();
+ }
+
+ /**
+ * @throws Exception if failed.
+ */
+ public void testOffHeapMetrics() throws Exception {
+ createCache(CacheMemoryMode.ONHEAP_TIERED, 0, false);
+
+ for (int i = 0; i < KEYS_CNT; i++)
+ cache.put(i, i);
+
+ printStat();
+
+ assertEquals(cache.localMetrics().getCacheEvictions(), cache.localMetrics().getOffHeapPuts());
+ assertEquals(KEYS_CNT, cache.localMetrics().getOffHeapGets());
+ assertEquals(0, cache.localMetrics().getOffHeapHits());
+ assertEquals(0f, cache.localMetrics().getOffHeapHitPercentage());
+ assertEquals(KEYS_CNT, cache.localMetrics().getOffHeapMisses());
+ assertEquals(100f, cache.localMetrics().getOffHeapMissPercentage());
+ assertEquals(0, cache.localMetrics().getOffHeapRemovals());
+
+ assertEquals(0, cache.localMetrics().getOffHeapEvictions());
+ assertEquals(cache.localMetrics().getCacheEvictions(), cache.localMetrics().getOffHeapEntriesCount());
+ assertEquals(cache.localMetrics().getCacheEvictions(), cache.localMetrics().getOffHeapPrimaryEntriesCount());
+ assertEquals(0, cache.localMetrics().getOffHeapBackupEntriesCount());
+
+ for (int i = 0; i < KEYS_CNT; i++)
+ cache.get(i);
+
+ printStat();
+
+ assertEquals(cache.localMetrics().getCacheEvictions(), cache.localMetrics().getOffHeapPuts());
+ assertEquals(KEYS_CNT * 2, cache.localMetrics().getOffHeapGets());
+ assertEquals(KEYS_CNT, cache.localMetrics().getOffHeapHits());
+ assertEquals(100 * KEYS_CNT / (KEYS_CNT * 2.0), cache.localMetrics().getOffHeapHitPercentage(), 0.1);
+ assertEquals(KEYS_CNT, cache.localMetrics().getOffHeapMisses());
+ assertEquals(100 * KEYS_CNT / (KEYS_CNT * 2.0), cache.localMetrics().getOffHeapMissPercentage(), 0.1);
+ assertEquals(KEYS_CNT, cache.localMetrics().getOffHeapRemovals());
+
+ assertEquals(0, cache.localMetrics().getOffHeapEvictions());
+ assertEquals(KEYS_CNT - MAX_SIZE, cache.localMetrics().getOffHeapEntriesCount());
+ assertEquals(KEYS_CNT - MAX_SIZE, cache.localMetrics().getOffHeapPrimaryEntriesCount());
+ assertEquals(0, cache.localMetrics().getOffHeapBackupEntriesCount());
+
+ for (int i = KEYS_CNT; i < KEYS_CNT * 2; i++)
+ cache.get(i);
+
+ printStat();
+
+ assertEquals(cache.localMetrics().getCacheEvictions(), cache.localMetrics().getOffHeapPuts());
+ assertEquals(KEYS_CNT * 3, cache.localMetrics().getOffHeapGets());
+ assertEquals(KEYS_CNT, cache.localMetrics().getOffHeapHits());
+ assertEquals(100 / 3.0, cache.localMetrics().getOffHeapHitPercentage(), 0.1);
+ assertEquals(KEYS_CNT * 2, cache.localMetrics().getOffHeapMisses());
+ assertEquals(100 - (100 / 3.0), cache.localMetrics().getOffHeapMissPercentage(), 0.1);
+ assertEquals(KEYS_CNT, cache.localMetrics().getOffHeapRemovals());
+
+ assertEquals(0, cache.localMetrics().getOffHeapEvictions());
+ assertEquals(KEYS_CNT - MAX_SIZE, cache.localMetrics().getOffHeapEntriesCount());
+ assertEquals(KEYS_CNT - MAX_SIZE, cache.localMetrics().getOffHeapPrimaryEntriesCount());
+ assertEquals(0, cache.localMetrics().getOffHeapBackupEntriesCount());
+
+ for (int i = 0; i < KEYS_CNT; i++)
+ cache.remove(i);
+
+ printStat();
+
+ assertEquals(cache.localMetrics().getCacheEvictions(), cache.localMetrics().getOffHeapPuts());
+ assertEquals(KEYS_CNT * 4 - MAX_SIZE, cache.localMetrics().getOffHeapGets());
+ assertEquals(KEYS_CNT * 2 - MAX_SIZE, cache.localMetrics().getOffHeapHits());
+ assertEquals(100 * (KEYS_CNT * 2.0 - MAX_SIZE) / (KEYS_CNT * 4.0 - MAX_SIZE),
+ cache.localMetrics().getOffHeapHitPercentage(), 0.1);
+ assertEquals(KEYS_CNT * 2, cache.localMetrics().getOffHeapMisses());
+ assertEquals(100 * KEYS_CNT * 2.0 / (KEYS_CNT * 4.0 - MAX_SIZE),
+ cache.localMetrics().getOffHeapMissPercentage(), 0.1);
+ assertEquals(KEYS_CNT * 2 - MAX_SIZE, cache.localMetrics().getOffHeapRemovals());
+
+ assertEquals(0, cache.localMetrics().getOffHeapEvictions());
+ assertEquals(0, cache.localMetrics().getOffHeapEntriesCount());
+ assertEquals(0, cache.localMetrics().getOffHeapPrimaryEntriesCount());
+ assertEquals(0, cache.localMetrics().getOffHeapBackupEntriesCount());
+ }
+
+ /**
+ * @throws Exception if failed.
+ */
+ public void testSwapMetrics() throws Exception {
+ createCache(CacheMemoryMode.ONHEAP_TIERED, -1, true);
+
+ for (int i = 0; i < KEYS_CNT; i++)
+ cache.put(i, i);
+
+ printStat();
+
+ assertEquals(cache.localMetrics().getCacheEvictions(), cache.localMetrics().getSwapPuts());
+ assertEquals(KEYS_CNT, cache.localMetrics().getSwapGets());
+ assertEquals(0, cache.localMetrics().getSwapHits());
+ assertEquals(0f, cache.localMetrics().getSwapHitPercentage());
+ assertEquals(KEYS_CNT, cache.localMetrics().getSwapMisses());
+ assertEquals(100f, cache.localMetrics().getSwapMissPercentage());
+ assertEquals(0, cache.localMetrics().getSwapRemovals());
+
+ assertEquals(cache.localMetrics().getCacheEvictions(), cache.localMetrics().getSwapEntriesCount());
+
+ for (int i = 0; i < KEYS_CNT; i++)
+ cache.get(i);
+
+ printStat();
+
+ assertEquals(cache.localMetrics().getCacheEvictions(), cache.localMetrics().getSwapPuts());
+ assertEquals(KEYS_CNT * 2, cache.localMetrics().getSwapGets());
+ assertEquals(KEYS_CNT, cache.localMetrics().getSwapHits());
+ assertEquals(100 * KEYS_CNT / (KEYS_CNT * 2.0), cache.localMetrics().getSwapHitPercentage(), 0.1);
+ assertEquals(KEYS_CNT, cache.localMetrics().getSwapMisses());
+ assertEquals(100 * KEYS_CNT / (KEYS_CNT * 2.0), cache.localMetrics().getSwapMissPercentage(), 0.1);
+ assertEquals(KEYS_CNT, cache.localMetrics().getSwapRemovals());
+
+ assertEquals(KEYS_CNT - MAX_SIZE, cache.localMetrics().getSwapEntriesCount());
+
+ for (int i = KEYS_CNT; i < KEYS_CNT * 2; i++)
+ cache.get(i);
+
+ printStat();
+
+ assertEquals(cache.localMetrics().getCacheEvictions(), cache.localMetrics().getSwapPuts());
+ assertEquals(KEYS_CNT * 3, cache.localMetrics().getSwapGets());
+ assertEquals(KEYS_CNT, cache.localMetrics().getSwapHits());
+ assertEquals(100 / 3.0, cache.localMetrics().getSwapHitPercentage(), 0.1);
+ assertEquals(KEYS_CNT * 2, cache.localMetrics().getSwapMisses());
+ assertEquals(100 - (100 / 3.0), cache.localMetrics().getSwapMissPercentage(), 0.1);
+ assertEquals(KEYS_CNT, cache.localMetrics().getSwapRemovals());
+
+ assertEquals(KEYS_CNT - MAX_SIZE, cache.localMetrics().getSwapEntriesCount());
+
+ for (int i = 0; i < KEYS_CNT; i++)
+ cache.remove(i);
+
+ printStat();
+
+ assertEquals(cache.localMetrics().getCacheEvictions(), cache.localMetrics().getSwapPuts());
+ assertEquals(KEYS_CNT * 4 - MAX_SIZE, cache.localMetrics().getSwapGets());
+ assertEquals(KEYS_CNT * 2 - MAX_SIZE, cache.localMetrics().getSwapHits());
+ assertEquals(100 * (KEYS_CNT * 2.0 - MAX_SIZE) / (KEYS_CNT * 4.0 - MAX_SIZE),
+ cache.localMetrics().getSwapHitPercentage(), 0.1);
+ assertEquals(KEYS_CNT * 2, cache.localMetrics().getSwapMisses());
+ assertEquals(100 * KEYS_CNT * 2.0 / (KEYS_CNT * 4.0 - MAX_SIZE),
+ cache.localMetrics().getSwapMissPercentage(), 0.1);
+ assertEquals(KEYS_CNT * 2 - MAX_SIZE, cache.localMetrics().getSwapRemovals());
+
+ assertEquals(0, cache.localMetrics().getSwapEntriesCount());
+ }
+
+ /**
+ * @throws Exception if failed.
+ */
+ public void testOffHeapAndSwapMetrics() throws Exception {
+ createCache(CacheMemoryMode.ONHEAP_TIERED, OFFHEAP_MAX_SIZE, true);
+
+ for (int i = 0; i < KEYS_CNT; i++)
+ cache.put(i, i);
+
+ printStat();
+
+ assertEquals(cache.localMetrics().getCacheEvictions(), cache.localMetrics().getOffHeapPuts());
+ assertEquals(KEYS_CNT, cache.localMetrics().getOffHeapGets());
+ assertEquals(0, cache.localMetrics().getOffHeapHits());
+ assertEquals(0f, cache.localMetrics().getOffHeapHitPercentage());
+ assertEquals(KEYS_CNT, cache.localMetrics().getOffHeapMisses());
+ assertEquals(100f, cache.localMetrics().getOffHeapMissPercentage());
+ assertEquals(0, cache.localMetrics().getOffHeapRemovals());
+
+ assertEquals(KEYS_CNT - MAX_SIZE - OFFHEAP_MAX_CNT, cache.localMetrics().getOffHeapEvictions());
+ assertEquals(OFFHEAP_MAX_CNT, cache.localMetrics().getOffHeapEntriesCount());
+ assertEquals(OFFHEAP_MAX_CNT, cache.localMetrics().getOffHeapPrimaryEntriesCount());
+ assertEquals(0, cache.localMetrics().getOffHeapBackupEntriesCount());
+
+ assertEquals(cache.localMetrics().getOffHeapEvictions(), cache.localMetrics().getSwapPuts());
+ assertEquals(KEYS_CNT, cache.localMetrics().getSwapGets());
+ assertEquals(0, cache.localMetrics().getSwapHits());
+ assertEquals(0f, cache.localMetrics().getSwapHitPercentage());
+ assertEquals(KEYS_CNT, cache.localMetrics().getSwapMisses());
+ assertEquals(100f, cache.localMetrics().getSwapMissPercentage());
+ assertEquals(0, cache.localMetrics().getSwapRemovals());
+
+ assertEquals(cache.localMetrics().getOffHeapEvictions(), cache.localMetrics().getSwapEntriesCount());
+
+ for (int i = 0; i < KEYS_CNT; i++)
+ cache.get(i);
+
+ printStat();
+
+ assertEquals(cache.localMetrics().getCacheEvictions(), cache.localMetrics().getOffHeapPuts());
+ assertEquals(KEYS_CNT * 2, cache.localMetrics().getOffHeapGets());
+ assertEquals(0, cache.localMetrics().getOffHeapHits());
+ assertEquals(0.0, cache.localMetrics().getOffHeapHitPercentage(), 0.1);
+ assertEquals(KEYS_CNT * 2, cache.localMetrics().getOffHeapMisses());
+ assertEquals(100.0, cache.localMetrics().getOffHeapMissPercentage(), 0.1);
+ assertEquals(0, cache.localMetrics().getOffHeapRemovals());
+
+ assertEquals(cache.localMetrics().getCacheEvictions() - OFFHEAP_MAX_CNT, cache.localMetrics().getOffHeapEvictions());
+ assertEquals(OFFHEAP_MAX_CNT, cache.localMetrics().getOffHeapEntriesCount());
+ assertEquals(OFFHEAP_MAX_CNT, cache.localMetrics().getOffHeapPrimaryEntriesCount());
+ assertEquals(0, cache.localMetrics().getOffHeapBackupEntriesCount());
+
+ assertEquals(cache.localMetrics().getOffHeapEvictions(), cache.localMetrics().getSwapPuts());
+ assertEquals(KEYS_CNT * 2, cache.localMetrics().getSwapGets());
+ assertEquals(KEYS_CNT, cache.localMetrics().getSwapHits());
+ assertEquals(100 * KEYS_CNT / (KEYS_CNT * 2.0), cache.localMetrics().getSwapHitPercentage(), 0.1);
+ assertEquals(KEYS_CNT, cache.localMetrics().getSwapMisses());
+ assertEquals(100 * KEYS_CNT / (KEYS_CNT * 2.0), cache.localMetrics().getSwapMissPercentage(), 0.1);
+ assertEquals(KEYS_CNT, cache.localMetrics().getSwapRemovals());
+
+ assertEquals(KEYS_CNT - MAX_SIZE - OFFHEAP_MAX_CNT, cache.localMetrics().getSwapEntriesCount());
+
+ for (int i = KEYS_CNT; i < KEYS_CNT * 2; i++)
+ cache.get(i);
+
+ printStat();
+
+ assertEquals(cache.localMetrics().getCacheEvictions(), cache.localMetrics().getOffHeapPuts());
+ assertEquals(KEYS_CNT * 3, cache.localMetrics().getOffHeapGets());
+ assertEquals(0, cache.localMetrics().getOffHeapHits());
+ assertEquals(0.0, cache.localMetrics().getOffHeapHitPercentage(), 0.1);
+ assertEquals(KEYS_CNT * 3, cache.localMetrics().getOffHeapMisses());
+ assertEquals(100.0, cache.localMetrics().getOffHeapMissPercentage(), 0.1);
+ assertEquals(0, cache.localMetrics().getOffHeapRemovals());
+
+ assertEquals(cache.localMetrics().getCacheEvictions() - OFFHEAP_MAX_CNT, cache.localMetrics().getOffHeapEvictions());
+ assertEquals(OFFHEAP_MAX_CNT, cache.localMetrics().getOffHeapEntriesCount());
+ assertEquals(OFFHEAP_MAX_CNT, cache.localMetrics().getOffHeapPrimaryEntriesCount());
+ assertEquals(0, cache.localMetrics().getOffHeapBackupEntriesCount());
+
+ assertEquals(cache.localMetrics().getOffHeapEvictions(), cache.localMetrics().getSwapPuts());
+ assertEquals(KEYS_CNT * 3, cache.localMetrics().getSwapGets());
+ assertEquals(KEYS_CNT, cache.localMetrics().getSwapHits());
+ assertEquals(100 / 3.0, cache.localMetrics().getSwapHitPercentage(), 0.1);
+ assertEquals(KEYS_CNT * 2, cache.localMetrics().getSwapMisses());
+ assertEquals(100 - (100 / 3.0), cache.localMetrics().getSwapMissPercentage(), 0.1);
+ assertEquals(KEYS_CNT, cache.localMetrics().getSwapRemovals());
+
+ assertEquals(KEYS_CNT - MAX_SIZE - OFFHEAP_MAX_CNT, cache.localMetrics().getSwapEntriesCount());
+
+ for (int i = 0; i < KEYS_CNT; i++)
+ cache.remove(i);
+
+ printStat();
+
+ assertEquals(cache.localMetrics().getCacheEvictions(), cache.localMetrics().getOffHeapPuts());
+ assertEquals(KEYS_CNT * 4 - MAX_SIZE, cache.localMetrics().getOffHeapGets());
+ assertEquals(OFFHEAP_MAX_CNT, cache.localMetrics().getOffHeapHits());
+ assertEquals(100 * OFFHEAP_MAX_CNT / (KEYS_CNT * 4.0 - MAX_SIZE),
+ cache.localMetrics().getOffHeapHitPercentage(), 0.1);
+ assertEquals(KEYS_CNT * 4 - OFFHEAP_MAX_CNT - MAX_SIZE, cache.localMetrics().getOffHeapMisses());
+ assertEquals(100 * (KEYS_CNT * 4 - OFFHEAP_MAX_CNT - MAX_SIZE) / (KEYS_CNT * 4.0 - MAX_SIZE),
+ cache.localMetrics().getOffHeapMissPercentage(), 0.1);
+ assertEquals(OFFHEAP_MAX_CNT, cache.localMetrics().getOffHeapRemovals());
+
+ assertEquals(cache.localMetrics().getCacheEvictions() - OFFHEAP_MAX_CNT, cache.localMetrics().getOffHeapEvictions());
+ assertEquals(0, cache.localMetrics().getOffHeapEntriesCount());
+ assertEquals(0, cache.localMetrics().getOffHeapPrimaryEntriesCount());
+ assertEquals(0, cache.localMetrics().getOffHeapBackupEntriesCount());
+
+ assertEquals(cache.localMetrics().getOffHeapEvictions(), cache.localMetrics().getSwapPuts());
+ assertEquals(KEYS_CNT * 4 - MAX_SIZE - OFFHEAP_MAX_CNT, cache.localMetrics().getSwapGets());
+ assertEquals(KEYS_CNT * 2 - MAX_SIZE - OFFHEAP_MAX_CNT, cache.localMetrics().getSwapHits());
+ assertEquals(100 * (KEYS_CNT * 2.0 - MAX_SIZE - OFFHEAP_MAX_CNT) / (KEYS_CNT * 4.0 - MAX_SIZE - OFFHEAP_MAX_CNT),
+ cache.localMetrics().getSwapHitPercentage(), 0.1);
+ assertEquals(KEYS_CNT * 2, cache.localMetrics().getSwapMisses());
+ assertEquals(100 * KEYS_CNT * 2.0 / (KEYS_CNT * 4.0 - MAX_SIZE - OFFHEAP_MAX_CNT),
+ cache.localMetrics().getSwapMissPercentage(), 0.1);
+ assertEquals(KEYS_CNT * 2 - MAX_SIZE - OFFHEAP_MAX_CNT, cache.localMetrics().getSwapRemovals());
+
+ assertEquals(0, cache.localMetrics().getSwapEntriesCount());
+ }
+
+ /**
+ * @throws Exception if failed.
+ */
+ public void testOffHeapMetricsInOffHeapTiered() throws Exception {
+ createCache(CacheMemoryMode.OFFHEAP_TIERED, 0, false);
+
+ for (int i = 0; i < KEYS_CNT; i++)
+ cache.put(i, i);
+
+ printStat();
+
+ assertEquals(cache.metrics().getCacheEvictions(), cache.metrics().getOffHeapPuts());
+ assertEquals(KEYS_CNT, cache.metrics().getOffHeapGets());
+ assertEquals(0, cache.metrics().getOffHeapHits());
+ assertEquals(0f, cache.metrics().getOffHeapHitPercentage());
+ assertEquals(KEYS_CNT, cache.metrics().getOffHeapMisses());
+ assertEquals(100f, cache.metrics().getOffHeapMissPercentage());
+ assertEquals(0, cache.metrics().getOffHeapRemovals());
+
+ assertEquals(0, cache.metrics().getOffHeapEvictions());
+ assertEquals(cache.metrics().getCacheEvictions(), cache.metrics().getOffHeapEntriesCount());
+ assertEquals(cache.metrics().getCacheEvictions(), cache.metrics().getOffHeapPrimaryEntriesCount());
+ assertEquals(0, cache.metrics().getOffHeapBackupEntriesCount());
+
+ for (int i = 0; i < KEYS_CNT; i++)
+ cache.get(i);
+
+ printStat();
+
+ assertEquals(cache.metrics().getCacheEvictions(), cache.metrics().getOffHeapGets());
+ assertEquals(KEYS_CNT * 2, cache.metrics().getOffHeapGets());
+ assertEquals(KEYS_CNT, cache.metrics().getOffHeapHits());
+ assertEquals(100 * KEYS_CNT / (KEYS_CNT * 2.0), cache.metrics().getOffHeapHitPercentage(), 0.1);
+ assertEquals(KEYS_CNT, cache.metrics().getOffHeapMisses());
+ assertEquals(100 * KEYS_CNT / (KEYS_CNT * 2.0), cache.metrics().getOffHeapMissPercentage(), 0.1);
+ assertEquals(0, cache.metrics().getOffHeapRemovals());
+
+ assertEquals(0, cache.metrics().getOffHeapEvictions());
+ assertEquals(KEYS_CNT, cache.metrics().getOffHeapEntriesCount());
+ assertEquals(KEYS_CNT, cache.metrics().getOffHeapPrimaryEntriesCount());
+ assertEquals(0, cache.metrics().getOffHeapBackupEntriesCount());
+
+ for (int i = KEYS_CNT; i < KEYS_CNT * 2; i++)
+ cache.get(i);
+
+ printStat();
+
+ assertEquals(cache.metrics().getCacheEvictions(), cache.metrics().getOffHeapGets());
+ assertEquals(KEYS_CNT * 3, cache.metrics().getOffHeapGets());
+ assertEquals(KEYS_CNT, cache.metrics().getOffHeapHits());
+ assertEquals(100 / 3.0, cache.metrics().getOffHeapHitPercentage(), 0.1);
+ assertEquals(KEYS_CNT * 2, cache.metrics().getOffHeapMisses());
+ assertEquals(100 - (100 / 3.0), cache.metrics().getOffHeapMissPercentage(), 0.1);
+ assertEquals(0, cache.metrics().getOffHeapRemovals());
+
+ assertEquals(0, cache.metrics().getOffHeapEvictions());
+ assertEquals(KEYS_CNT, cache.metrics().getOffHeapEntriesCount());
+ assertEquals(KEYS_CNT, cache.metrics().getOffHeapPrimaryEntriesCount());
+ assertEquals(0, cache.metrics().getOffHeapBackupEntriesCount());
+
+ for (int i = 0; i < KEYS_CNT; i++)
+ cache.remove(i);
+
+ printStat();
+
+ assertEquals(cache.metrics().getCacheEvictions(), cache.metrics().getOffHeapGets());
+ assertEquals(KEYS_CNT * 4, cache.metrics().getOffHeapGets());
+ assertEquals(KEYS_CNT * 2, cache.metrics().getOffHeapHits());
+ assertEquals(100 * (KEYS_CNT * 2.0) / (KEYS_CNT * 4.0),
+ cache.metrics().getOffHeapHitPercentage(), 0.1);
+ assertEquals(KEYS_CNT * 2, cache.metrics().getOffHeapMisses());
+ assertEquals(100 * KEYS_CNT * 2.0 / (KEYS_CNT * 4.0),
+ cache.metrics().getOffHeapMissPercentage(), 0.1);
+ assertEquals(KEYS_CNT, cache.metrics().getOffHeapRemovals());
+
+ assertEquals(0, cache.metrics().getOffHeapEvictions());
+ assertEquals(0, cache.metrics().getOffHeapEntriesCount());
+ assertEquals(0, cache.metrics().getOffHeapPrimaryEntriesCount());
+ assertEquals(0, cache.metrics().getOffHeapBackupEntriesCount());
+ }
+
+ /**
+ * @throws Exception if failed.
+ */
+ public void testOffHeapAndSwapMetricsInOffHeapTiered() throws Exception {
+ createCache(CacheMemoryMode.OFFHEAP_TIERED, OFFHEAP_MAX_SIZE, true);
+
+ for (int i = 0; i < KEYS_CNT; i++)
+ cache.put(i, i);
+
+ printStat();
+
+ assertEquals(cache.metrics().getCacheEvictions(), cache.metrics().getOffHeapGets());
+ assertEquals(KEYS_CNT, cache.metrics().getOffHeapGets());
+ assertEquals(0, cache.metrics().getOffHeapHits());
+ assertEquals(0f, cache.metrics().getOffHeapHitPercentage());
+ assertEquals(KEYS_CNT, cache.metrics().getOffHeapMisses());
+ assertEquals(100f, cache.metrics().getOffHeapMissPercentage());
+ assertEquals(0, cache.metrics().getOffHeapRemovals());
+
+ assertEquals(KEYS_CNT - OFFHEAP_MAX_CNT, cache.metrics().getOffHeapEvictions());
+ assertEquals(OFFHEAP_MAX_CNT, cache.metrics().getOffHeapEntriesCount());
+ assertEquals(OFFHEAP_MAX_CNT, cache.metrics().getOffHeapPrimaryEntriesCount());
+ assertEquals(0, cache.metrics().getOffHeapBackupEntriesCount());
+
+ assertEquals(cache.metrics().getOffHeapEvictions(), cache.metrics().getSwapPuts());
+ assertEquals(KEYS_CNT, cache.metrics().getSwapGets());
+ assertEquals(0, cache.metrics().getSwapHits());
+ assertEquals(0f, cache.metrics().getSwapHitPercentage());
+ assertEquals(KEYS_CNT, cache.metrics().getSwapMisses());
+ assertEquals(100f, cache.metrics().getSwapMissPercentage());
+ assertEquals(0, cache.metrics().getSwapRemovals());
+
+ assertEquals(cache.metrics().getOffHeapEvictions(), cache.metrics().getSwapEntriesCount());
+
+ for (int i = 0; i < KEYS_CNT; i++)
+ cache.get(i);
+
+ printStat();
+
+ assertEquals(cache.metrics().getCacheEvictions(), cache.metrics().getOffHeapPuts());
+ assertEquals(KEYS_CNT * 2, cache.metrics().getOffHeapGets());
+ assertEquals(0, cache.metrics().getOffHeapHits());
+ assertEquals(0.0, cache.metrics().getOffHeapHitPercentage(), 0.1);
+ assertEquals(KEYS_CNT * 2, cache.metrics().getOffHeapMisses());
+ assertEquals(100.0, cache.metrics().getOffHeapMissPercentage(), 0.1);
+ assertEquals(0, cache.metrics().getOffHeapRemovals());
+
+ assertEquals(cache.metrics().getCacheEvictions() - OFFHEAP_MAX_CNT, cache.metrics().getOffHeapEvictions());
+ assertEquals(OFFHEAP_MAX_CNT, cache.metrics().getOffHeapEntriesCount());
+ assertEquals(OFFHEAP_MAX_CNT, cache.metrics().getOffHeapPrimaryEntriesCount());
+ assertEquals(0, cache.metrics().getOffHeapBackupEntriesCount());
+
+ assertEquals(cache.metrics().getOffHeapEvictions(), cache.metrics().getSwapPuts());
+ assertEquals(KEYS_CNT * 2, cache.metrics().getSwapGets());
+ assertEquals(KEYS_CNT, cache.metrics().getSwapHits());
+ assertEquals(100 * KEYS_CNT / (KEYS_CNT * 2.0), cache.metrics().getSwapHitPercentage(), 0.1);
+ assertEquals(KEYS_CNT, cache.metrics().getSwapMisses());
+ assertEquals(100 * KEYS_CNT / (KEYS_CNT * 2.0), cache.metrics().getSwapMissPercentage(), 0.1);
+ assertEquals(KEYS_CNT, cache.metrics().getSwapRemovals());
+
+ assertEquals(KEYS_CNT - OFFHEAP_MAX_CNT, cache.metrics().getSwapEntriesCount());
+
+ for (int i = KEYS_CNT; i < KEYS_CNT * 2; i++)
+ cache.get(i);
+
+ printStat();
+
+ assertEquals(cache.metrics().getCacheEvictions(), cache.metrics().getOffHeapGets());
+ assertEquals(KEYS_CNT * 3, cache.metrics().getOffHeapGets());
+ assertEquals(0, cache.metrics().getOffHeapHits());
+ assertEquals(0.0, cache.metrics().getOffHeapHitPercentage(), 0.1);
+ assertEquals(KEYS_CNT * 3, cache.metrics().getOffHeapMisses());
+ assertEquals(100.0, cache.metrics().getOffHeapMissPercentage(), 0.1);
+ assertEquals(0, cache.metrics().getOffHeapRemovals());
+
+ assertEquals(cache.metrics().getCacheEvictions() - OFFHEAP_MAX_CNT - KEYS_CNT,
+ cache.metrics().getOffHeapEvictions());
+ assertEquals(OFFHEAP_MAX_CNT, cache.metrics().getOffHeapEntriesCount());
+ assertEquals(OFFHEAP_MAX_CNT, cache.metrics().getOffHeapPrimaryEntriesCount());
+ assertEquals(0, cache.metrics().getOffHeapBackupEntriesCount());
+
+ assertEquals(cache.metrics().getOffHeapEvictions(), cache.metrics().getSwapPuts());
+ assertEquals(KEYS_CNT * 3, cache.metrics().getSwapGets());
+ assertEquals(KEYS_CNT, cache.metrics().getSwapHits());
+ assertEquals(100 / 3.0, cache.metrics().getSwapHitPercentage(), 0.1);
+ assertEquals(KEYS_CNT * 2, cache.metrics().getSwapMisses());
+ assertEquals(100 - (100 / 3.0), cache.metrics().getSwapMissPercentage(), 0.1);
+ assertEquals(KEYS_CNT, cache.metrics().getSwapRemovals());
+
+ assertEquals(KEYS_CNT - OFFHEAP_MAX_CNT, cache.metrics().getSwapEntriesCount());
+
+ for (int i = 0; i < KEYS_CNT; i++)
+ cache.remove(i);
+
+ printStat();
+
+ assertEquals(cache.metrics().getCacheEvictions(), cache.metrics().getOffHeapGets());
+ assertEquals(KEYS_CNT * 4, cache.metrics().getOffHeapGets());
+ assertEquals(OFFHEAP_MAX_CNT, cache.metrics().getOffHeapHits());
+ assertEquals(100 * OFFHEAP_MAX_CNT / (KEYS_CNT * 4.0),
+ cache.metrics().getOffHeapHitPercentage(), 0.1);
+ assertEquals(KEYS_CNT * 4 - OFFHEAP_MAX_CNT, cache.metrics().getOffHeapMisses());
+ assertEquals(100 * (KEYS_CNT * 4 - OFFHEAP_MAX_CNT) / (KEYS_CNT * 4.0),
+ cache.metrics().getOffHeapMissPercentage(), 0.1);
+ assertEquals(OFFHEAP_MAX_CNT, cache.metrics().getOffHeapRemovals());
+
+ assertEquals(cache.metrics().getCacheEvictions() - OFFHEAP_MAX_CNT - 2 * KEYS_CNT, cache.metrics().getOffHeapEvictions());
+ assertEquals(0, cache.metrics().getOffHeapEntriesCount());
+ assertEquals(0, cache.metrics().getOffHeapPrimaryEntriesCount());
+ assertEquals(0, cache.metrics().getOffHeapBackupEntriesCount());
+
+ assertEquals(cache.metrics().getOffHeapEvictions(), cache.metrics().getSwapPuts());
+ assertEquals(KEYS_CNT * 4 - OFFHEAP_MAX_CNT, cache.metrics().getSwapGets());
+ assertEquals(KEYS_CNT * 2 - OFFHEAP_MAX_CNT, cache.metrics().getSwapHits());
+ assertEquals(100 * (KEYS_CNT * 2.0 - OFFHEAP_MAX_CNT) / (KEYS_CNT * 4.0 - OFFHEAP_MAX_CNT),
+ cache.metrics().getSwapHitPercentage(), 0.1);
+ assertEquals(KEYS_CNT * 2, cache.metrics().getSwapMisses());
+ assertEquals(100 * KEYS_CNT * 2.0 / (KEYS_CNT * 4.0 - OFFHEAP_MAX_CNT),
+ cache.metrics().getSwapMissPercentage(), 0.1);
+ assertEquals(KEYS_CNT * 2 - OFFHEAP_MAX_CNT, cache.metrics().getSwapRemovals());
+
+ assertEquals(0, cache.metrics().getSwapEntriesCount());
+ }
+
+ /**
+ * Prints stats.
+ */
+ protected void printStat() {
+ System.out.println("!!! -------------------------------------------------------");
+ System.out.println("!!! Puts: cache = " + cache.localMetrics().getCachePuts() +
+ ", offheap = " + cache.localMetrics().getOffHeapPuts() +
+ ", swap = " + cache.localMetrics().getSwapPuts());
+ System.out.println("!!! Gets: cache = " + cache.localMetrics().getCacheGets() +
+ ", offheap = " + cache.localMetrics().getOffHeapGets() +
+ ", swap = " + cache.localMetrics().getSwapGets());
+ System.out.println("!!! Removes: cache = " + cache.localMetrics().getCacheRemovals() +
+ ", offheap = " + cache.localMetrics().getOffHeapRemovals() +
+ ", swap = " + cache.localMetrics().getSwapRemovals());
+ System.out.println("!!! Evictions: cache = " + cache.localMetrics().getCacheEvictions() +
+ ", offheap = " + cache.localMetrics().getOffHeapEvictions() +
+ ", swap = none" );
+ System.out.println("!!! Hits: cache = " + cache.localMetrics().getCacheHits() +
+ ", offheap = " + cache.localMetrics().getOffHeapHits() +
+ ", swap = " + cache.localMetrics().getSwapHits());
+ System.out.println("!!! Hit(%): cache = " + cache.localMetrics().getCacheHitPercentage() +
+ ", offheap = " + cache.localMetrics().getOffHeapHitPercentage() +
+ ", swap = " + cache.localMetrics().getSwapHitPercentage());
+ System.out.println("!!! Misses: cache = " + cache.localMetrics().getCacheMisses() +
+ ", offheap = " + cache.localMetrics().getOffHeapMisses() +
+ ", swap = " + cache.localMetrics().getSwapMisses());
+ System.out.println("!!! Miss(%): cache = " + cache.localMetrics().getCacheMissPercentage() +
+ ", offheap = " + cache.localMetrics().getOffHeapMissPercentage() +
+ ", swap = " + cache.localMetrics().getSwapMissPercentage());
+ System.out.println("!!! Entries: cache = " + cache.localMetrics().getSize() +
+ ", offheap = " + cache.localMetrics().getOffHeapEntriesCount() +
+ ", swap = " + cache.localMetrics().getSwapEntriesCount());
+ System.out.println("!!! Size: cache = none" +
+ ", offheap = " + cache.localMetrics().getOffHeapAllocatedSize() +
+ ", swap = " + cache.localMetrics().getSwapSize());
+ System.out.println();
+ }
+ }
http://git-wip-us.apache.org/repos/asf/ignite/blob/d98d947f/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite.java
----------------------------------------------------------------------
diff --cc modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite.java
index 3b5e6b7,9e20d2a..63528a1
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite.java
@@@ -42,15 -43,11 +43,16 @@@ import org.apache.ignite.internal.proce
import org.apache.ignite.internal.processors.cache.IgniteMarshallerCacheConcurrentReadWriteTest;
import org.apache.ignite.internal.processors.cache.OffHeapTieredTransactionSelfTest;
import org.apache.ignite.internal.processors.closure.GridClosureProcessorSelfTest;
+ import org.apache.ignite.internal.processors.closure.GridClosureSerializationTest;
import org.apache.ignite.internal.processors.continuous.GridEventConsumeSelfTest;
import org.apache.ignite.internal.processors.continuous.GridMessageListenSelfTest;
-import org.apache.ignite.internal.processors.odbc.OdbcProcessorValidationSelfTest;
+import org.apache.ignite.internal.processors.database.BPlusTreeFakeReuseSelfTest;
+import org.apache.ignite.internal.processors.database.BPlusTreeReuseSelfTest;
+import org.apache.ignite.internal.processors.database.BPlusTreeSelfTest;
+import org.apache.ignite.internal.processors.database.FreeListImplSelfTest;
+import org.apache.ignite.internal.processors.database.MetadataStorageSelfTest;
import org.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest;
+import org.apache.ignite.internal.processors.odbc.OdbcProcessorValidationSelfTest;
import org.apache.ignite.internal.processors.service.ClosureServiceClientsNodesTest;
import org.apache.ignite.internal.product.GridProductVersionSelfTest;
import org.apache.ignite.internal.util.nio.IgniteExceptionInNioWorkerSelfTest;
@@@ -154,13 -152,8 +157,15 @@@ public class IgniteBasicTestSuite exten
suite.addTestSuite(SecurityPermissionSetBuilderTest.class);
+ suite.addTestSuite(AttributeNodeFilterSelfTest.class);
+
+ // Basic DB data structures.
+ suite.addTestSuite(BPlusTreeSelfTest.class);
+ suite.addTestSuite(BPlusTreeFakeReuseSelfTest.class);
+ suite.addTestSuite(BPlusTreeReuseSelfTest.class);
+ suite.addTestSuite(MetadataStorageSelfTest.class);
+ suite.addTestSuite(FreeListImplSelfTest.class);
+
return suite;
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/d98d947f/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/d98d947f/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteKernalSelfTestSuite.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/d98d947f/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/d98d947f/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/IgniteCachePartitionedFieldsQuerySelfTest.java
----------------------------------------------------------------------
[06/50] [abbrv] ignite git commit: ignite-gg-11650 Stabilize
8.0.2.ea1 branch after merging activation/deactivation fix check current
state
Posted by ag...@apache.org.
ignite-gg-11650 Stabilize 8.0.2.ea1 branch after merging activation/deactivation fix check current state
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/cbb9b9ed
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/cbb9b9ed
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/cbb9b9ed
Branch: refs/heads/ignite-3477
Commit: cbb9b9edbf1674f0ded47237e31dd2dfaeb281a0
Parents: 1ac93f0
Author: Dmitriy Govorukhin <dg...@gridgain.com>
Authored: Tue Dec 20 16:39:28 2016 +0300
Committer: Dmitriy Govorukhin <dg...@gridgain.com>
Committed: Tue Dec 20 16:39:28 2016 +0300
----------------------------------------------------------------------
.../cache/distributed/dht/GridDhtPartitionTopologyImpl.java | 3 ++-
.../processors/cluster/GridClusterStateProcessor.java | 8 ++++++++
2 files changed, 10 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/cbb9b9ed/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
index e78c1c5..c93978c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
@@ -1676,8 +1676,9 @@ import static org.apache.ignite.internal.processors.cache.distributed.dht.GridDh
// In case if node joins, get topology at the time of joining node.
ClusterNode oldest = CU.oldestAliveCacheServerNode(cctx.shared(), topVer);
+ boolean client = cctx.kernalContext().clientNode();
- assert oldest != null || cctx.kernalContext().clientNode();
+ assert oldest != null || client : "oldest=" + oldest + " client=" + client;
// If this node became the oldest node.
if (cctx.localNode().equals(oldest)) {
http://git-wip-us.apache.org/repos/asf/ignite/blob/cbb9b9ed/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
index 18e4a1c..c1ff5e4 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
@@ -315,6 +315,14 @@ public class GridClusterStateProcessor extends GridProcessorAdapter {
*
*/
public boolean active() {
+ ChangeGlobalStateContext actx = lastCgsCtx;
+
+ if (actx != null && !actx.activate && globalState == TRANSITION)
+ return true;
+
+ if (actx != null && actx.activate && globalState == TRANSITION)
+ return false;
+
return globalState == ACTIVE;
}
[12/50] [abbrv] ignite git commit: Merge with master - WIP.
Posted by ag...@apache.org.
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/Ignite.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
index 4cbf50e,4d85c54..cb19875
--- a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
@@@ -471,23 -483,34 +493,50 @@@ public final class IgniteSystemProperti
@Deprecated
public static final String IGNITE_BINARY_DONT_WRAP_TREE_STRUCTURES = "IGNITE_BINARY_DONT_WRAP_TREE_STRUCTURES";
+ /** */
+ public static final String IGNITE_IO_BALANCE_PERIOD = "IGNITE_IO_BALANCE_PERIOD";
+
+ /**
+ * When set to {@code true} fields are written by BinaryMarshaller in sorted order. Otherwise
+ * the natural order is used.
+ * <p>
+ * @deprecated Should be removed in Apache Ignite 2.0.
+ */
+ @Deprecated
+ public static final String IGNITE_BINARY_SORT_OBJECT_FIELDS = "IGNITE_BINARY_SORT_OBJECT_FIELDS";
+
+ /**
+ * Whether Ignite can access unaligned memory addresses.
+ * <p>
+ * Defaults to {@code} false, meaning that unaligned access will be performed only on x86 architecture.
+ */
+ public static final String IGNITE_MEMORY_UNALIGNED_ACCESS = "IGNITE_MEMORY_UNALIGNED_ACCESS";
+
+ /**
+ * When unsafe memory copy if performed below this threshold, Ignite will do it on per-byte basis instead of
+ * calling to Unsafe.copyMemory().
+ * <p>
+ * Defaults to 0, meaning that threshold is disabled.
+ */
+ public static final String IGNITE_MEMORY_PER_BYTE_COPY_THRESHOLD = "IGNITE_MEMORY_PER_BYTE_COPY_THRESHOLD";
+
/**
+ * When set to {@code true} fields are written by BinaryMarshaller in sorted order. Otherwise
+ * the natural order is used.
+ * <p>
+ * @deprecated Should be removed in Apache Ignite 2.0.
+ */
+ @Deprecated
+ public static final String IGNITE_BINARY_SORT_OBJECT_FIELDS = "IGNITE_BINARY_SORT_OBJECT_FIELDS";
+
+ /**
+ * Whether Ignite can access unaligned memory addresses.
+ * <p>
+ * Defaults to {@code} false, meaning that unaligned access will be performed only on x86 architecture.
+ */
+ public static final String IGNITE_MEMORY_UNALIGNED_ACCESS = "IGNITE_MEMORY_UNALIGNED_ACCESS";
+
+ /**
* Enforces singleton.
*/
private IgniteSystemProperties() {
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/cache/affinity/fair/FairAffinityFunction.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/cache/affinity/rendezvous/RendezvousAffinityFunction.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
index e15c989,56fc5b4..f24a940
--- a/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
@@@ -329,6 -341,12 +336,9 @@@ public class CacheConfiguration<K, V> e
/** Maximum batch size for write-behind cache store. */
private int writeBehindBatchSize = DFLT_WRITE_BEHIND_BATCH_SIZE;
+ /** Maximum number of query iterators that can be stored. */
+ private int maxQryIterCnt = DFLT_MAX_QUERY_ITERATOR_CNT;
+
- /** Memory mode. */
- private CacheMemoryMode memMode = DFLT_MEMORY_MODE;
-
/** */
private AffinityKeyMapper affMapper;
@@@ -454,9 -472,10 +467,10 @@@
name = cc.getName();
nearCfg = cc.getNearConfiguration();
nodeFilter = cc.getNodeFilter();
+ partitionLossPolicy = cc.getPartitionLossPolicy();
pluginCfgs = cc.getPluginConfigurations();
qryEntities = cc.getQueryEntities() == Collections.<QueryEntity>emptyList() ? null : cc.getQueryEntities();
+ qryDetailMetricsSz = cc.getQueryDetailMetricsSize();
readFromBackup = cc.isReadFromBackup();
rebalanceBatchSize = cc.getRebalanceBatchSize();
rebalanceBatchesPrefetchCount = cc.getRebalanceBatchesPrefetchCount();
@@@ -1604,8 -1646,35 +1618,33 @@@
}
/**
+ * Gets maximum number of query iterators that can be stored. Iterators are stored to
+ * support query pagination when each page of data is sent to user's node only on demand.
+ * Increase this property if you are running and processing lots of queries in parallel.
+ * <p>
+ * Default value is {@link #DFLT_MAX_QUERY_ITERATOR_CNT}.
+ *
+ * @return Maximum number of query iterators that can be stored.
+ */
+ public int getMaxQueryIteratorsCount() {
+ return maxQryIterCnt;
+ }
+
+ /**
+ * Sets maximum number of query iterators that can be stored.
+ *
+ * @param maxQryIterCnt Maximum number of query iterators that can be stored.
+ * @return {@code this} for chaining.
+ */
+ public CacheConfiguration<K, V> setMaxQueryIteratorsCount(int maxQryIterCnt) {
+ this.maxQryIterCnt = maxQryIterCnt;
+
+ return this;
+ }
+
+ /**
* Gets memory mode for cache. Memory mode helps control whether value is stored in on-heap memory,
* off-heap memory, or swap space. Refer to {@link CacheMemoryMode} for more info.
- * <p>
- * Default value is {@link #DFLT_MEMORY_MODE}.
*
* @return Memory mode.
*/
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/GridEventConsumeHandler.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java
index 3f83972,927944f..cee71bb
--- a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java
@@@ -48,8 -50,10 +49,9 @@@ import org.apache.ignite.internal.proce
import org.apache.ignite.internal.processors.job.GridJobProcessor;
import org.apache.ignite.internal.processors.jobmetrics.GridJobMetricsProcessor;
import org.apache.ignite.internal.processors.odbc.OdbcProcessor;
-import org.apache.ignite.internal.processors.offheap.GridOffHeapProcessor;
import org.apache.ignite.internal.processors.platform.PlatformProcessor;
import org.apache.ignite.internal.processors.plugin.IgnitePluginProcessor;
+ import org.apache.ignite.internal.processors.pool.PoolProcessor;
import org.apache.ignite.internal.processors.port.GridPortProcessor;
import org.apache.ignite.internal.processors.query.GridQueryProcessor;
import org.apache.ignite.internal.processors.resource.GridResourceProcessor;
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
index 42084e6,a2ad1b2..6a4547d
--- a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
@@@ -65,8 -67,10 +66,9 @@@ import org.apache.ignite.internal.proce
import org.apache.ignite.internal.processors.jobmetrics.GridJobMetricsProcessor;
import org.apache.ignite.internal.processors.nodevalidation.DiscoveryNodeValidationProcessor;
import org.apache.ignite.internal.processors.odbc.OdbcProcessor;
-import org.apache.ignite.internal.processors.offheap.GridOffHeapProcessor;
import org.apache.ignite.internal.processors.platform.PlatformProcessor;
import org.apache.ignite.internal.processors.plugin.IgnitePluginProcessor;
+ import org.apache.ignite.internal.processors.pool.PoolProcessor;
import org.apache.ignite.internal.processors.port.GridPortProcessor;
import org.apache.ignite.internal.processors.query.GridQueryProcessor;
import org.apache.ignite.internal.processors.resource.GridResourceProcessor;
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/GridMessageListenHandler.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/GridTopic.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/GridTopic.java
index cbd7dd0,24ddcd2..7c1c484
--- a/modules/core/src/main/java/org/apache/ignite/internal/GridTopic.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/GridTopic.java
@@@ -97,10 -100,7 +100,10 @@@ public enum GridTopic
TOPIC_TX,
/** */
- TOPIC_BACKUP,
- TOPIC_IO_TEST;
++ TOPIC_IO_TEST,
+
+ /** */
- TOPIC_IO_TEST;
++ TOPIC_BACKUP;
/** Enum values. */
private static final GridTopic[] VALS = values();
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
index 29691e6,4972d1f..0d99f4c
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
@@@ -813,8 -835,15 +828,12 @@@ public class IgniteKernal implements Ig
addHelper(IGFS_HELPER.create(F.isEmpty(cfg.getFileSystemConfiguration())));
+ addHelper(HADOOP_HELPER.createIfInClassPath(ctx, false));
+
startProcessor(new IgnitePluginProcessor(ctx, cfg, plugins));
+ startProcessor(new PoolProcessor(ctx));
+
- // Off-heap processor has no dependencies.
- startProcessor(new GridOffHeapProcessor(ctx));
-
// Closure processor should be started before all others
// (except for resource processor), as many components can depend on it.
startProcessor(new GridClosureProcessor(ctx));
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
index f8a20c3,f32a753..da24e40
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
@@@ -93,7 -94,10 +95,8 @@@ import org.apache.ignite.spi.discovery.
import org.apache.ignite.spi.eventstorage.memory.MemoryEventStorageSpi;
import org.apache.ignite.spi.failover.always.AlwaysFailoverSpi;
import org.apache.ignite.spi.indexing.noop.NoopIndexingSpi;
+ import org.apache.ignite.spi.loadbalancing.LoadBalancingSpi;
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.IgniteStripedThreadPoolExecutor;
import org.apache.ignite.thread.IgniteThread;
import org.apache.ignite.thread.IgniteThreadPoolExecutor;
@@@ -1627,8 -1641,11 +1640,10 @@@ public class IgnitionEx
ensureMultiInstanceSupport(myCfg.getCollisionSpi());
ensureMultiInstanceSupport(myCfg.getFailoverSpi());
ensureMultiInstanceSupport(myCfg.getLoadBalancingSpi());
- ensureMultiInstanceSupport(myCfg.getSwapSpaceSpi());
}
+ validateThreadPoolSize(cfg.getPublicThreadPoolSize(), "public");
+
execSvc = new IgniteThreadPoolExecutor(
"pub",
cfg.getGridName(),
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryEnumObjectImpl.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryEnumObjectImpl.java
index 8624c64,69de3f2..7f3f5e4
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryEnumObjectImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryEnumObjectImpl.java
@@@ -250,29 -248,7 +256,29 @@@ public class BinaryEnumObjectImpl imple
/** {@inheritDoc} */
@Override public byte[] valueBytes(CacheObjectContext cacheCtx) throws IgniteCheckedException {
- return U.marshal(ctx.marshaller(), this);
+ if (valBytes != null)
+ return valBytes;
+
- valBytes = ctx.marshaller().marshal(this);
++ valBytes = U.marshal(ctx.marshaller(), this);
+
+ return valBytes;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean putValue(ByteBuffer buf) throws IgniteCheckedException {
+ assert valBytes != null : "Value bytes must be initialized before object is stored";
+
+ return putValue(buf, 0, objectPutSize(valBytes.length));
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean putValue(final ByteBuffer buf, int off, int len) throws IgniteCheckedException {
+ return CacheObjectAdapter.putValue(cacheObjectType(), buf, off, len, valBytes, 0);
+ }
+
+ /** {@inheritDoc} */
+ @Override public int valueBytesLength(CacheObjectContext ctx) throws IgniteCheckedException {
+ return objectPutSize(valueBytes(ctx).length);
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryFieldImpl.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryFieldImpl.java
index 4b59904,59e79fb..477ae37
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryFieldImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryFieldImpl.java
@@@ -60,20 -47,11 +60,19 @@@ public class BinaryFieldImpl implement
* @param fieldName Field name.
* @param fieldId Field ID.
*/
- public BinaryFieldImpl(int typeId, BinarySchemaRegistry schemas, String fieldName, int fieldId) {
+ public BinaryFieldImpl(
+ BinaryContext ctx,
+ int typeId,
+ BinarySchemaRegistry schemas,
+ String fieldName,
+ int fieldId
+ ) {
+ assert ctx != null;
assert typeId != 0;
assert schemas != null;
- assert fieldName != null;
assert fieldId != 0;
+ this.ctx = ctx;
this.typeId = typeId;
this.schemas = schemas;
this.fieldName = fieldName;
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectExImpl.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectExImpl.java
index e6d8781,b80f573..33c7f08
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectExImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectExImpl.java
@@@ -18,17 -18,20 +18,21 @@@
package org.apache.ignite.internal.binary;
import java.math.BigDecimal;
+import java.nio.ByteBuffer;
import java.util.Arrays;
import java.util.IdentityHashMap;
+ import java.util.Iterator;
+ import java.util.Map;
import org.apache.ignite.IgniteException;
+ import org.apache.ignite.binary.BinaryArrayIdentityResolver;
+ import org.apache.ignite.binary.BinaryObject;
import org.apache.ignite.binary.BinaryObjectBuilder;
- import org.apache.ignite.internal.binary.builder.BinaryObjectBuilderImpl;
- import org.apache.ignite.internal.util.offheap.unsafe.GridUnsafeMemory;
- import org.apache.ignite.internal.util.typedef.internal.SB;
import org.apache.ignite.binary.BinaryObjectException;
+ import org.apache.ignite.binary.BinaryIdentityResolver;
import org.apache.ignite.binary.BinaryType;
- import org.apache.ignite.binary.BinaryObject;
+ import org.apache.ignite.internal.binary.builder.BinaryObjectBuilderImpl;
+ import org.apache.ignite.internal.util.typedef.internal.SB;
+ import org.apache.ignite.lang.IgniteUuid;
import org.jetbrains.annotations.Nullable;
/**
@@@ -75,23 -78,35 +79,44 @@@ public abstract class BinaryObjectExImp
}
/**
+ * Get offset of data begin.
+ *
+ * @return Field value.
+ */
+ public abstract int dataStartOffset();
+
+ /**
+ * Get offset of the footer begin.
+ *
+ * @return Field value.
+ */
+ public abstract int footerStartOffset();
+
+ /**
* Get field by offset.
*
- * @param fieldOffset Field offset.
+ * @param order Field offset.
* @return Field value.
*/
- @Nullable protected abstract <F> F fieldByOrder(int fieldOffset);
+ @Nullable public abstract <F> F fieldByOrder(int order);
+
+ /**
+ * Create field comparer.
+ *
+ * @return Comparer.
+ */
+ public abstract BinarySerializedFieldComparator createFieldComparator();
/**
+ * Writes field value defined by the given field offset to the given byte buffer.
+ *
+ * @param fieldOffset Field offset.
+ * @return Boolean flag indicating whether the field was successfully written to the buffer, {@code false}
+ * if there is no enough space for the field in the buffer.
+ */
+ protected abstract boolean writeFieldByOrder(int fieldOffset, ByteBuffer buf);
+
+ /**
* @param ctx Reader context.
* @param fieldName Field name.
* @return Field value.
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectOffheapImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/managers/GridManagerAdapter.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
index bb7bf69,7ef7bc0..e0ff2a6
--- 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
@@@ -967,8 -804,17 +804,27 @@@ public class GridIoManager extends Grid
}
}
+ if (ctx.config().getStripedPoolSize() > 0 &&
+ plc == GridIoPolicy.SYSTEM_POOL &&
+ msg.partition() != Integer.MIN_VALUE
+ ) {
+ ctx.getStripedExecutorService().execute(msg.partition(), c);
+
+ return;
+ }
+
++ if (msg.topicOrdinal() == TOPIC_IO_TEST.ordinal()) {
++ IgniteIoTestMessage msg0 = (IgniteIoTestMessage)msg.message();
++
++ if (msg0.processFromNioThread()) {
++ c.run();
++
++ return;
++ }
++ }
++
try {
- pool(plc).execute(c);
+ pools.poolForPolicy(plc).execute(c);
}
catch (RejectedExecutionException e) {
U.error(log, "Failed to process regular message due to execution rejection. Increase the upper bound " +
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
index f5c46a8,b1fe910..63d84c4
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
@@@ -161,11 -171,56 +172,61 @@@ public class GridIoMessageFactory imple
Message msg = null;
switch (type) {
+ case -44:
+ msg = new TcpCommunicationSpi.HandshakeMessage2();
+
+ break;
+
+ case -43:
+ msg = new IgniteIoTestMessage();
+
+ break;
+
+ case -42:
+ msg = new HadoopDirectShuffleMessage();
+
+ break;
+
+ case -41:
+ msg = new HadoopShuffleFinishResponse();
+
+ break;
+
+ case -40:
+ msg = new HadoopShuffleFinishRequest();
+
+ break;
+
+ case -39:
+ msg = new HadoopJobId();
+
+ break;
+
+ case -38:
+ msg = new HadoopShuffleAck();
+
+ break;
+
+ case -37:
+ msg = new HadoopShuffleMessage();
+
+ break;
+
+ case -36:
+ msg = new GridDhtAtomicSingleUpdateRequest();
+
+ break;
+
+ case -27:
+ msg = new GridDhtTxOnePhaseCommitAckRequest();
+
+ break;
+
+ case -27:
+ msg = new BackupFinishedMessage();
+
+ break;
+
case -26:
msg = new TxLockList();
@@@ -757,17 -812,21 +818,33 @@@
break;
case 125:
+ msg = new GridNearAtomicSingleUpdateRequest();
+
+ break;
+
+ case 126:
+ msg = new GridNearAtomicSingleUpdateInvokeRequest();
+
+ break;
+
+ case 127:
+ msg = new GridNearAtomicSingleUpdateFilterRequest();
+
+ break;
+
+ // [-3..119] [124..127] [-36..-44]- this
++ case 125:
+ msg = new TcpCommunicationSpi.HandshakeMessage2();
+
+ break;
+
+ // [-3..119] [124-125] - this
+ case 126:
+ msg = new IgniteIoTestMessage();
+
+ break;
+
+ // [-3..119] [124-126] - this
// [120..123] - DR
// [-4..-22, -30..-35] - SQL
default:
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/IgniteIoTestMessage.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/managers/communication/IgniteIoTestMessage.java
index 985cf99,77aaa09..969ea39
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/IgniteIoTestMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/IgniteIoTestMessage.java
@@@ -53,27 -54,28 +53,28 @@@ public class IgniteIoTestMessage implem
}
/**
- * @param id ID.
- * @param req {@code True} for request.
+ * @param id Message ID.
+ * @param req Request flag.
* @param payload Payload.
*/
- IgniteIoTestMessage(long id, boolean req, byte[] payload) {
+ public IgniteIoTestMessage(long id, boolean req, byte[] payload) {
this.id = id;
this.req = req;
this.payload = payload;
}
/**
- * @return Process from NIO thread flag.
+ * @return {@code True} if message should be processed from NIO thread
+ * (otherwise message is submitted to system pool).
*/
- boolean processFromNioThread() {
+ public boolean processFromNioThread() {
return isFlag(FLAG_PROC_FROM_NIO);
}
/**
- * @param procFromNioThread Process from NIO thread flag.
+ * @param procFromNioThread {@code True} if message should be processed from NIO thread.
*/
- void processFromNioThread(boolean procFromNioThread) {
+ public void processFromNioThread(boolean procFromNioThread) {
setFlag(procFromNioThread, FLAG_PROC_FROM_NIO);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
index c36262f,88aa4e0..4c62371
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
@@@ -1942,10 -1882,9 +1957,10 @@@ public abstract class GridCacheAdapter<
@Nullable final UUID subjId,
final String taskName,
final boolean deserializeBinary,
- @Nullable IgniteCacheExpiryPolicy expiry,
+ @Nullable final IgniteCacheExpiryPolicy expiry,
final boolean skipVals,
final boolean keepCacheObjects,
+ final boolean recovery,
boolean canRemap,
final boolean needVer
) {
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAffinityManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
index db10484,52b779d..5f45024
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
@@@ -34,15 -35,15 +35,15 @@@ import org.apache.ignite.IgniteCheckedE
import org.apache.ignite.IgniteException;
import org.apache.ignite.IgniteLogger;
import org.apache.ignite.cache.CacheAtomicWriteOrderMode;
-import org.apache.ignite.cache.CacheMemoryMode;
import org.apache.ignite.cache.eviction.EvictableEntry;
-import org.apache.ignite.internal.binary.BinaryObjectOffheapImpl;
-import org.apache.ignite.internal.managers.deployment.GridDeploymentInfo;
-import org.apache.ignite.internal.managers.deployment.GridDeploymentInfoBean;
+import org.apache.ignite.internal.pagemem.wal.StorageException;
+import org.apache.ignite.internal.pagemem.wal.record.DataEntry;
+import org.apache.ignite.internal.pagemem.wal.record.DataRecord;
import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
+import org.apache.ignite.internal.processors.cache.database.CacheDataRow;
import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtCacheEntry;
import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLocalPartition;
- import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicUpdateFuture;
+ import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicAbstractUpdateFuture;
import org.apache.ignite.internal.processors.cache.distributed.near.GridNearCacheEntry;
import org.apache.ignite.internal.processors.cache.extras.GridCacheEntryExtras;
import org.apache.ignite.internal.processors.cache.extras.GridCacheMvccEntryExtras;
@@@ -891,7 -1196,14 +894,7 @@@ public abstract class GridCacheMapEntr
assert newVer != null : "Failed to get write version for tx: " + tx;
- old = this.val;
- boolean internal = isInternal() || !context().userCache();
-
- Map<UUID, CacheContinuousQueryListener> lsnrCol =
- notifyContinuousQueries(tx) ? cctx.continuousQueries().updateListeners(internal, false) : null;
-
- old = oldValPresent ? oldVal :
- (retval || intercept || lsnrCol != null) ?
- rawGetOrUnmarshalUnlocked(!retval && !isOffHeapValuesOnly()) : this.val;
++ old = oldValPresent ? oldVal : this.val;
if (intercept) {
val0 = cctx.unwrapBinaryIfNeeded(val, keepBinary, false);
@@@ -1083,10 -1409,8 +1088,10 @@@
Map<UUID, CacheContinuousQueryListener> lsnrCol =
notifyContinuousQueries(tx) ? cctx.continuousQueries().updateListeners(internal, false) : null;
- old = oldValPresent ? oldVal : (retval || intercept || lsnrCol != null) ?
- rawGetOrUnmarshalUnlocked(!retval && !isOffHeapValuesOnly()) : val;
+ if (startVer && (retval || intercept || lsnrCol != null))
+ unswap();
+
- old = val;
++ old = oldValPresent ? oldVal : val;
if (intercept) {
entry0 = new CacheLazyEntry(cctx, key, old, keepBinary);
@@@ -3122,35 -3559,47 +3125,35 @@@
if (curVer == null || curVer.equals(ver)) {
if (val != this.val) {
-- GridCacheMvcc mvcc = mvccExtras();
++ GridCacheMvcc mvcc = mvccExtras();
-- if (mvcc != null && !mvcc.isEmpty())
-- return null;
++ if (mvcc != null && !mvcc.isEmpty())
++ return null;
-- if (newVer == null)
-- newVer = cctx.versions().next();
++ if (newVer == null)
++ newVer = cctx.versions().next();
- long ttl = ttlExtras();
- CacheObject old = rawGetOrUnmarshalUnlocked(false);
++ long ttl = ttlExtras();
- long expTime = CU.toExpireTime(ttl);
- long ttl;
- long expTime;
++ long expTime = CU.toExpireTime(ttl);
- // Detach value before index update.
- val = cctx.kernalContext().cacheObjects().prepareForCache(val, cctx);
- if (loadExpiryPlc != null) {
- IgniteBiTuple<Long, Long> initTtlAndExpireTime = initialTtlAndExpireTime(loadExpiryPlc);
++ // Detach value before index update.
++ val = cctx.kernalContext().cacheObjects().prepareForCache(val, cctx);
- if (val != null) {
- storeValue(val, expTime, newVer);
- ttl = initTtlAndExpireTime.get1();
- expTime = initTtlAndExpireTime.get2();
- }
- else {
- ttl = ttlExtras();
- expTime = expireTimeExtras();
- }
++ if (val != null) {
++ storeValue(val, expTime, newVer);
- if (deletedUnlocked())
- deletedUnlocked(false);
- }
- // Detach value before index update.
- val = cctx.kernalContext().cacheObjects().prepareForCache(val, cctx);
++ if (deletedUnlocked())
++ deletedUnlocked(false);
++ }
- // Version does not change for load ops.
- update(val, expTime, ttl, newVer, true);
- if (val != null) {
- updateIndex(val, expTime, newVer, old);
++ // Version does not change for load ops.
++ update(val, expTime, ttl, newVer, true);
- return newVer;
- }
- }
- if (deletedUnlocked())
- deletedUnlocked(false);
++ return newVer;
++ }
+ }
- // Version does not change for load ops.
- update(val, expTime, ttl, newVer, true);
-
- return newVer;
- }
- }
-
return null;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
index d03a90a,8ea2169..40035c0
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
@@@ -54,16 -56,18 +56,18 @@@ import org.apache.ignite.internal.Ignit
import org.apache.ignite.internal.cluster.ClusterTopologyCheckedException;
import org.apache.ignite.internal.events.DiscoveryCustomEvent;
import org.apache.ignite.internal.managers.eventstorage.GridLocalEventListener;
+import org.apache.ignite.internal.pagemem.backup.StartFullBackupAckDiscoveryMessage;
import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
import org.apache.ignite.internal.processors.cache.distributed.dht.GridClientPartitionTopology;
+ import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionState;
import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionTopology;
import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTopologyFuture;
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionDemandMessage;
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionExchangeId;
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionFullMap;
-import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionMap;
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionMap2;
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionSupplyMessageV2;
+ import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsAbstractMessage;
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture;
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsFullMessage;
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsSingleMessage;
@@@ -751,9 -750,17 +769,15 @@@ public class GridCachePartitionExchange
if (log.isDebugEnabled())
log.debug("Refreshing partitions [oldest=" + oldest.id() + ", loc=" + cctx.localNodeId() + ']');
- Collection<ClusterNode> rmts;
-
// If this is the oldest node.
if (oldest.id().equals(cctx.localNodeId())) {
+ GridDhtPartitionsExchangeFuture lastFut = lastInitializedFut;
+
+ // No need to send to nodes which did not finish their first exchange.
+ AffinityTopologyVersion rmtTopVer =
+ lastFut != null ? lastFut.topologyVersion() : AffinityTopologyVersion.NONE;
+
- rmts = CU.remoteNodes(cctx, rmtTopVer);
+ Collection<ClusterNode> rmts = CU.remoteNodes(cctx, AffinityTopologyVersion.NONE);
if (log.isDebugEnabled())
log.debug("Refreshing partitions from oldest node: " + cctx.localNodeId());
@@@ -813,24 -935,11 +964,25 @@@
* @param id ID.
*/
private void sendLocalPartitions(ClusterNode node, @Nullable GridDhtPartitionExchangeId id) {
- GridDhtPartitionsSingleMessage m = new GridDhtPartitionsSingleMessage(id,
+ GridDhtPartitionsSingleMessage m = createPartitionsSingleMessage(node,
+ id,
cctx.kernalContext().clientNode(),
- cctx.versions().last());
+ false);
+ for (GridCacheContext cacheCtx : cctx.cacheContexts()) {
+ if (!cacheCtx.isLocal()) {
+ GridDhtPartitionMap2 locMap = cacheCtx.topology().localPartitionMap();
+
+ m.addLocalPartitionMap(cacheCtx.cacheId(), locMap);
+ }
+ }
+
+ for (GridClientPartitionTopology top : clientTops.values()) {
+ GridDhtPartitionMap2 locMap = top.localPartitionMap();
+
+ m.addLocalPartitionMap(top.cacheId(), locMap);
+ }
+
if (log.isDebugEnabled())
log.debug("Sending local partitions [nodeId=" + node.id() + ", msg=" + m + ']');
@@@ -1395,17 -1594,13 +1644,13 @@@
@Override protected void body() throws InterruptedException, IgniteInterruptedCheckedException {
long timeout = cctx.gridConfig().getNetworkTimeout();
- boolean startEvtFired = false;
-
int cnt = 0;
- IgniteInternalFuture asyncStartFut = null;
-
while (!isCancelled()) {
- GridDhtPartitionsExchangeFuture exchFut = null;
-
cnt++;
+ GridDhtPartitionsExchangeFuture exchFut = null;
+
try {
boolean preloadFinished = true;
@@@ -1580,27 -1762,26 +1813,34 @@@
for (Integer cacheId : orderMap.get(order)) {
GridCacheContext<K, V> cacheCtx = cctx.cacheContext(cacheId);
+ GridDhtPreloaderAssignments assigns = assignsMap.get(cacheId);
+
+ if (assigns != null)
+ assignsCancelled |= assigns.cancelled();
+
+ List<String> waitList = new ArrayList<>(size - 1);
+
+ for (List<Integer> cIds : orderMap.headMap(order).values()) {
+ for (Integer cId : cIds)
+ waitList.add(cctx.cacheContext(cId).name());
+ }
+
- Callable<Boolean> r = cacheCtx.preloader().addAssignments(assignsMap.get(cacheId),
+ // Cancels previous rebalance future (in case it's not done yet).
+ // Sends previous rebalance stopped event (if necessary).
+ // Creates new rebalance future.
+ // Sends current rebalance started event (if necessary).
+ // Finishes cache sync future (on empty assignments).
+ Runnable cur = cacheCtx.preloader().addAssignments(assigns,
forcePreload,
+ waitList,
cnt,
+ r,
exchFut.forcedRebalanceFuture());
- if (r != null) {
- U.log(log, "Cache rebalancing scheduled: [cache=" + cacheCtx.name() +
- ", waitList=" + waitList.toString() + "]");
+ if (cur != null) {
+ rebList.add(U.maskName(cacheCtx.name()));
- if (cacheId == CU.cacheId(GridCacheUtils.MARSH_CACHE_NAME))
- marshR = r;
- else
- orderedRs.add(r);
+ r = cur;
}
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePreloader.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePreloader.java
index 1ea2e12,0c28691..694e20f
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePreloader.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePreloader.java
@@@ -84,14 -84,14 +84,15 @@@ public interface GridCachePreloader
*
* @param assignments Assignments to add.
* @param forcePreload Force preload flag.
- * @param caches Rebalancing of these caches will be finished before this started.
* @param cnt Counter.
- * @return Rebalancing closure.
+ * @param next Runnable responsible for cache rebalancing start.
+ * @return Rebalancing runnable.
*/
- public Callable<Boolean> addAssignments(GridDhtPreloaderAssignments assignments,
+ public Runnable addAssignments(GridDhtPreloaderAssignments assignments,
boolean forcePreload,
+ Collection<String> caches,
int cnt,
+ Runnable next,
@Nullable GridFutureAdapter<Boolean> forcedRebFut);
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePreloaderAdapter.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePreloaderAdapter.java
index 84e7727,d7ec288..d3eeed9
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePreloaderAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePreloaderAdapter.java
@@@ -160,8 -166,11 +166,12 @@@ public class GridCachePreloaderAdapter
}
/** {@inheritDoc} */
- @Override public Callable<Boolean> addAssignments(GridDhtPreloaderAssignments assignments, boolean forcePreload,
- Collection<String> caches, int cnt, @Nullable GridFutureAdapter<Boolean> forcedRebFut) {
+ @Override public Runnable addAssignments(GridDhtPreloaderAssignments assignments,
+ boolean forcePreload,
++ Collection<String> caches,
+ int cnt,
+ Runnable next,
+ @Nullable GridFutureAdapter<Boolean> forcedRebFut) {
return null;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
index 179f5f8,0be2072..881d257
mode 100644,100755..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
@@@ -1913,20 -1867,9 +1915,21 @@@ public class GridCacheProcessor extend
GridCacheVersionManager verMgr = new GridCacheVersionManager();
GridCacheDeploymentManager depMgr = new GridCacheDeploymentManager();
GridCachePartitionExchangeManager exchMgr = new GridCachePartitionExchangeManager();
+
+ IgniteCacheDatabaseSharedManager dbMgr = ctx.plugins().createComponent(IgniteCacheDatabaseSharedManager.class);
+
+ if (dbMgr == null)
+ dbMgr = new IgniteCacheDatabaseSharedManager();
+
+ IgnitePageStoreManager pageStoreMgr = ctx.plugins().createComponent(IgnitePageStoreManager.class);
+ IgniteWriteAheadLogManager walMgr = ctx.plugins().createComponent(IgniteWriteAheadLogManager.class);
+
+ if (walMgr == null)
+ walMgr = new IgniteWriteAheadLogNoopManager();
+
GridCacheIoManager ioMgr = new GridCacheIoManager();
CacheAffinitySharedManager topMgr = new CacheAffinitySharedManager();
+ GridCacheSharedTtlCleanupManager ttl = new GridCacheSharedTtlCleanupManager();
CacheJtaManagerAdapter jta = JTA.createOptional();
@@@ -2477,44 -2437,8 +2512,45 @@@
}
/**
+ * Resets cache state after the cache has been moved to recovery state.
+ *
+ * @param cacheName Cache name.
+ * @return Future that will be completed when state is changed.
+ */
+ public IgniteInternalFuture<?> resetCacheState(String cacheName) {
+ IgniteCacheProxy<?, ?> proxy = jCacheProxies.get(maskNull(cacheName));
+
+ if (proxy == null || proxy.proxyClosed())
+ return new GridFinishedFuture<>(); // No-op.
+
+ checkEmptyTransactions();
+
+ DynamicCacheChangeRequest t = new DynamicCacheChangeRequest(UUID.randomUUID(), cacheName, ctx.localNodeId());
+
+ t.markResetLostPartitions();
+
+ return F.first(initiateCacheChanges(F.asList(t), false));
+ }
+
+ /**
+ * Changes global cluster state.
+ *
+ * @param state Cache state.
+ * @return Future that will be completed when state is changed.
+ */
+ public IgniteInternalFuture<?> changeGlobalState(CacheState state) {
+ checkEmptyTransactions();
+
+ DynamicCacheChangeRequest t = new DynamicCacheChangeRequest(UUID.randomUUID(), null, ctx.localNodeId());
+
+ t.state(state);
+
+ return F.first(initiateCacheChanges(F.asList(t), false));
+ }
+
+ /**
* @param reqs Requests.
+ * @param failIfExists Fail if exists flag.
* @return Collection of futures.
*/
@SuppressWarnings("TypeMayBeWeakened")
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java
index f01b6fd,117a5c3..384750f
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java
@@@ -173,7 -157,7 +178,7 @@@ public class GridCacheSharedContext<K,
) {
this.kernalCtx = kernalCtx;
- setManagers(mgrs, txMgr, jtaMgr, verMgr, mvccMgr, pageStoreMgr, walMgr, dbMgr, depMgr, exchMgr, affMgr, ioMgr);
- setManagers(mgrs, txMgr, jtaMgr, verMgr, mvccMgr, depMgr, exchMgr, affMgr, ioMgr, ttlMgr);
++ setManagers(mgrs, txMgr, jtaMgr, verMgr, mvccMgr, pageStoreMgr, walMgr, dbMgr, depMgr, exchMgr, affMgr, ioMgr, ttlMgr);
this.storeSesLsnrs = storeSesLsnrs;
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManager.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManager.java
index 7270f22,0f855fe..7ccf890
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManager.java
@@@ -98,30 -50,14 +98,36 @@@ public class GridCacheTtlManager extend
if (cleanupDisabled)
return;
+ cleanupWorker = new CleanupWorker();
+
+ pendingEntries = cctx.config().getNearConfiguration() != null ? new GridConcurrentSkipListSetEx() : null;
++
+ cctx.shared().ttl().register(this);
}
+ /**
+ * @return {@code True} if eager expired entries cleanup is enabled for cache.
+ */
+ public boolean eagerTtlEnabled() {
+ assert cctx != null : "Manager not started";
+
+ return cleanupWorker != null;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void onKernalStart0() throws IgniteCheckedException {
+ if (cleanupWorker != null)
+ new IgniteThread(cleanupWorker).start();
+ }
+
/** {@inheritDoc} */
@Override protected void onKernalStop0(boolean cancel) {
+ U.cancel(cleanupWorker);
+ U.join(cleanupWorker, log);
++
+ pendingEntries.clear();
+
+ cctx.shared().ttl().unregister(this);
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
index 6460067,90898f9..a5a72a0
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
@@@ -574,9 -558,9 +586,9 @@@ public class IgniteCacheProxy<K, V> ext
if (grp != null)
qry.projection(grp);
- fut = ctx.kernalContext().query().executeQuery(ctx,
+ fut = ctx.kernalContext().query().executeQuery(GridCacheQueryType.TEXT, p.getText(), ctx,
new IgniteOutClosureX<CacheQueryFuture<Map.Entry<K, V>>>() {
- @Override public CacheQueryFuture<Map.Entry<K, V>> applyx() throws IgniteCheckedException {
+ @Override public CacheQueryFuture<Map.Entry<K, V>> applyx() {
return qry.execute();
}
}, false);
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java
index ac002fc,1d60c42..17df059
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java
@@@ -85,7 -88,9 +86,8 @@@ import org.apache.ignite.internal.util.
import org.apache.ignite.internal.util.lang.GridCloseableIterator;
import org.apache.ignite.internal.util.lang.GridMapEntry;
import org.apache.ignite.internal.util.tostring.GridToStringExclude;
-import org.apache.ignite.internal.util.typedef.C1;
import org.apache.ignite.internal.util.typedef.F;
+ import org.apache.ignite.internal.util.typedef.T1;
import org.apache.ignite.internal.util.typedef.T2;
import org.apache.ignite.internal.util.typedef.X;
import org.apache.ignite.internal.util.typedef.internal.CU;
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
index 690bfeb,4adfa8b..a8d3f2d
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
@@@ -477,147 -484,77 +497,151 @@@ public class GridDistributedTxRemoteAda
boolean replicate = cacheCtx.isDrEnabled();
- while (true) {
- try {
- GridCacheEntryEx cached = txEntry.cached();
+ try {
+ while (true) {
+ try {
+ GridCacheEntryEx cached = txEntry.cached();
- if (cached == null)
- txEntry.cached(cached = cacheCtx.cache().entryEx(txEntry.key(), topologyVersion()));
+ if (cached == null)
+ txEntry.cached(cached = cacheCtx.cache().entryEx(txEntry.key(), topologyVersion()));
- if (near() && cacheCtx.dr().receiveEnabled()) {
- cached.markObsolete(xidVer);
+ if (near() && cacheCtx.dr().receiveEnabled()) {
+ cached.markObsolete(xidVer);
- break;
- }
+ break;
+ }
- GridNearCacheEntry nearCached = null;
+ GridNearCacheEntry nearCached = null;
- if (updateNearCache(cacheCtx, txEntry.key(), topVer))
- nearCached = cacheCtx.dht().near().peekExx(txEntry.key());
+ if (updateNearCache(cacheCtx, txEntry.key(), topVer))
+ nearCached = cacheCtx.dht().near().peekExx(txEntry.key());
- if (!F.isEmpty(txEntry.entryProcessors()))
- txEntry.cached().unswap(false);
+ if (!F.isEmpty(txEntry.entryProcessors()))
+ txEntry.cached().unswap(false);
- IgniteBiTuple<GridCacheOperation, CacheObject> res =
- applyTransformClosures(txEntry, false, ret);
+ IgniteBiTuple<GridCacheOperation, CacheObject> res =
- applyTransformClosures(txEntry, false);
++ applyTransformClosures(txEntry, false, ret);
- GridCacheOperation op = res.get1();
- CacheObject val = res.get2();
+ GridCacheOperation op = res.get1();
+ CacheObject val = res.get2();
- GridCacheVersion explicitVer = txEntry.conflictVersion();
+ GridCacheVersion explicitVer = txEntry.conflictVersion();
- if (explicitVer == null)
- explicitVer = writeVersion();
+ if (explicitVer == null)
+ explicitVer = writeVersion();
- if (txEntry.ttl() == CU.TTL_ZERO)
- op = DELETE;
+ if (txEntry.ttl() == CU.TTL_ZERO)
+ op = DELETE;
- boolean conflictNeedResolve = cacheCtx.conflictNeedResolve();
+ boolean conflictNeedResolve = cacheCtx.conflictNeedResolve();
- GridCacheVersionConflictContext conflictCtx = null;
+ GridCacheVersionConflictContext conflictCtx = null;
- if (conflictNeedResolve) {
- IgniteBiTuple<GridCacheOperation, GridCacheVersionConflictContext>
- drRes = conflictResolve(op, txEntry, val, explicitVer, cached);
+ if (conflictNeedResolve) {
+ IgniteBiTuple<GridCacheOperation, GridCacheVersionConflictContext>
+ drRes = conflictResolve(op, txEntry, val, explicitVer, cached);
- assert drRes != null;
+ assert drRes != null;
- conflictCtx = drRes.get2();
+ conflictCtx = drRes.get2();
- if (conflictCtx.isUseOld())
- op = NOOP;
- else if (conflictCtx.isUseNew()) {
- txEntry.ttl(conflictCtx.ttl());
- txEntry.conflictExpireTime(conflictCtx.expireTime());
- }
- else if (conflictCtx.isMerge()) {
- op = drRes.get1();
- val = txEntry.context().toCacheObject(conflictCtx.mergeValue());
- explicitVer = writeVersion();
+ if (conflictCtx.isUseOld())
+ op = NOOP;
+ else if (conflictCtx.isUseNew()) {
+ txEntry.ttl(conflictCtx.ttl());
+ txEntry.conflictExpireTime(conflictCtx.expireTime());
+ }
+ else if (conflictCtx.isMerge()) {
+ op = drRes.get1();
+ val = txEntry.context().toCacheObject(conflictCtx.mergeValue());
+ explicitVer = writeVersion();
- txEntry.ttl(conflictCtx.ttl());
- txEntry.conflictExpireTime(conflictCtx.expireTime());
+ txEntry.ttl(conflictCtx.ttl());
+ txEntry.conflictExpireTime(conflictCtx.expireTime());
+ }
+ }
+ else
+ // Nullify explicit version so that innerSet/innerRemove will work as usual.
+ explicitVer = null;
+
+ GridCacheVersion dhtVer = cached.isNear() ? writeVersion() : null;
+
+ if (!near() && cctx.wal() != null && op != NOOP && op != RELOAD && op != READ) {
+ if (dataEntries == null)
+ dataEntries = new ArrayList<>(entries.size());
+
+ dataEntries.add(
+ new DataEntry(
+ cacheCtx.cacheId(),
+ txEntry.key(),
+ val,
+ op,
+ nearXidVersion(),
+ writeVersion(),
+ 0,
+ txEntry.key().partition(),
+ txEntry.updateCounter()
+ )
+ );
}
- }
- else
- // Nullify explicit version so that innerSet/innerRemove will work as usual.
- explicitVer = null;
-
- GridCacheVersion dhtVer = cached.isNear() ? writeVersion() : null;
- if (op == CREATE || op == UPDATE) {
- // Invalidate only for near nodes (backups cannot be invalidated).
- if (isSystemInvalidate() || (isInvalidate() && cacheCtx.isNear()))
+ if (op == CREATE || op == UPDATE) {
+ // Invalidate only for near nodes (backups cannot be invalidated).
+ if (isSystemInvalidate() || (isInvalidate() && cacheCtx.isNear()))
+ cached.innerRemove(this,
+ eventNodeId(),
+ nodeId,
+ false,
+ true,
+ true,
+ txEntry.keepBinary(),
++ txEntry.hasOldValue(),
++ txEntry.oldValue(),
+ topVer,
+ null,
+ replicate ? DR_BACKUP : DR_NONE,
+ near() ? null : explicitVer,
+ CU.subjectId(this, cctx),
+ resolveTaskName(),
+ dhtVer,
+ txEntry.updateCounter());
+ else {
+ cached.innerSet(this,
+ eventNodeId(),
+ nodeId,
+ val,
+ false,
+ false,
+ txEntry.ttl(),
+ true,
+ true,
+ txEntry.keepBinary(),
++ txEntry.hasOldValue(),
++ txEntry.oldValue(),
+ topVer,
+ null,
+ replicate ? DR_BACKUP : DR_NONE,
+ txEntry.conflictExpireTime(),
+ near() ? null : explicitVer,
+ CU.subjectId(this, cctx),
+ resolveTaskName(),
+ dhtVer,
+ txEntry.updateCounter());
+
+ // Keep near entry up to date.
+ if (nearCached != null) {
+ CacheObject val0 = cached.valueBytes();
+
+ nearCached.updateOrEvict(xidVer,
+ val0,
+ cached.expireTime(),
+ cached.ttl(),
+ nodeId,
+ topVer);
+ }
+ }
+ }
+ else if (op == DELETE) {
cached.innerRemove(this,
eventNodeId(),
nodeId,
@@@ -652,82 -607,111 +678,86 @@@
topVer);
}
}
- }
- else if (op == DELETE) {
- cached.innerRemove(this,
- eventNodeId(),
- nodeId,
- false,
- true,
- true,
- txEntry.keepBinary(),
- txEntry.hasOldValue(),
- txEntry.oldValue(),
- topVer,
- null,
- replicate ? DR_BACKUP : DR_NONE,
- near() ? null : explicitVer,
- CU.subjectId(this, cctx),
- resolveTaskName(),
- dhtVer,
- txEntry.updateCounter());
-
- // Keep near entry up to date.
- if (nearCached != null)
- nearCached.updateOrEvict(xidVer, null, 0, 0, nodeId, topVer);
- }
- else if (op == RELOAD) {
- CacheObject reloaded = cached.innerReload();
+ else if (op == READ) {
+ assert near();
- if (nearCached != null) {
- nearCached.innerReload();
-
- nearCached.updateOrEvict(cached.version(),
- reloaded,
- cached.expireTime(),
- cached.ttl(),
- nodeId,
- topVer);
+ if (log.isDebugEnabled())
+ log.debug("Ignoring READ entry when committing: " + txEntry);
}
- }
- else if (op == READ) {
- assert near();
-
- if (log.isDebugEnabled())
- log.debug("Ignoring READ entry when committing: " + txEntry);
- }
- // No-op.
- else {
- if (conflictCtx == null || !conflictCtx.isUseOld()) {
- if (txEntry.ttl() != CU.TTL_NOT_CHANGED)
- cached.updateTtl(null, txEntry.ttl());
-
- if (nearCached != null) {
- CacheObject val0 = cached.valueBytes();
-
- nearCached.updateOrEvict(xidVer,
- val0,
- cached.expireTime(),
- cached.ttl(),
- nodeId,
- topVer);
+ // No-op.
+ else {
+ if (conflictCtx == null || !conflictCtx.isUseOld()) {
+ if (txEntry.ttl() != CU.TTL_NOT_CHANGED)
+ cached.updateTtl(null, txEntry.ttl());
+
+ if (nearCached != null) {
+ CacheObject val0 = cached.valueBytes();
+
+ nearCached.updateOrEvict(xidVer,
+ val0,
+ cached.expireTime(),
+ cached.ttl(),
+ nodeId,
+ topVer);
+ }
}
}
- }
- // Assert after setting values as we want to make sure
- // that if we replaced removed entries.
- assert
- txEntry.op() == READ || onePhaseCommit() ||
- // If candidate is not there, then lock was explicit
- // and we simply allow the commit to proceed.
- !cached.hasLockCandidateUnsafe(xidVer) || cached.lockedByUnsafe(xidVer) :
- "Transaction does not own lock for commit [entry=" + cached +
- ", tx=" + this + ']';
-
- // Break out of while loop.
- break;
- }
- catch (GridCacheEntryRemovedException ignored) {
- if (log.isDebugEnabled())
- log.debug("Attempting to commit a removed entry (will retry): " + txEntry);
+ // Assert after setting values as we want to make sure
+ // that if we replaced removed entries.
+ assert
+ txEntry.op() == READ || onePhaseCommit() ||
+ // If candidate is not there, then lock was explicit
+ // and we simply allow the commit to proceed.
+ !cached.hasLockCandidateUnsafe(xidVer) || cached.lockedByUnsafe(xidVer) :
+ "Transaction does not own lock for commit [entry=" + cached +
+ ", tx=" + this + ']';
+
+ // Break out of while loop.
+ break;
+ }
+ catch (GridCacheEntryRemovedException ignored) {
+ if (log.isDebugEnabled())
+ log.debug("Attempting to commit a removed entry (will retry): " + txEntry);
- // Renew cached entry.
- txEntry.cached(cacheCtx.cache().entryEx(txEntry.key(), topologyVersion()));
+ // Renew cached entry.
+ txEntry.cached(cacheCtx.cache().entryEx(txEntry.key(), topologyVersion()));
+ }
}
}
- }
- }
- catch (Throwable ex) {
- // In case of error, we still make the best effort to commit,
- // as there is no way to rollback at this point.
- err = new IgniteTxHeuristicCheckedException("Commit produced a runtime exception " +
- "(all transaction entries will be invalidated): " + CU.txString(this), ex);
+ catch (Throwable ex) {
+ // In case of error, we still make the best effort to commit,
+ // as there is no way to rollback at this point.
+ err = new IgniteTxHeuristicCheckedException("Commit produced a runtime exception " +
+ "(all transaction entries will be invalidated): " + CU.txString(this), ex);
+
+ U.error(log, "Commit failed.", err);
- U.error(log, "Commit failed.", err);
+ uncommit();
- uncommit();
+ state(UNKNOWN);
- state(UNKNOWN);
+ if (ex instanceof Error)
+ throw (Error)ex;
+ }
++ finally {
++ if (wrapper != null)
++ wrapper.initialize(ret);
++ }
+ }
- if (ex instanceof Error)
- throw (Error)ex;
+ if (!near() && cctx.wal() != null)
+ cctx.wal().log(new DataRecord(dataEntries));
+ if (ptr != null)
+ cctx.wal().fsync(ptr);
+ }
+ catch (StorageException e) {
+ throw new IgniteCheckedException("Failed to log transaction record " +
+ "(transaction will be rolled back): " + this, e);
}
finally {
- if (wrapper != null)
- wrapper.initialize(ret);
+ cctx.database().checkpointReadUnlock();
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java
index a6f41ac,816132d..88cd16b
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java
@@@ -97,8 -98,11 +100,11 @@@ public class GridClientPartitionTopolog
private final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();
/** Partition update counters. */
- private Map<Integer, Long> cntrMap = new HashMap<>();
+ private Map<Integer, T2<Long, Long>> cntrMap = new HashMap<>();
+ /** */
+ private final Object similarAffKey;
+
/**
* @param cctx Context.
* @param cacheId Cache ID.
@@@ -127,9 -134,16 +136,16 @@@
}
/**
+ * @return Key to find caches with similar affinity.
+ */
+ @Nullable public Object similarAffinityKey() {
+ return similarAffKey;
+ }
+
+ /**
* @return Full map string representation.
*/
- @SuppressWarnings( {"ConstantConditions"})
+ @SuppressWarnings({"ConstantConditions"})
private String fullMapString() {
return node2part == null ? "null" : FULL_MAP_DEBUG ? node2part.toFullString() : node2part.toString();
}
@@@ -533,9 -550,9 +550,9 @@@
/** {@inheritDoc} */
@SuppressWarnings({"MismatchedQueryAndUpdateOfCollection"})
- @Nullable @Override public GridDhtPartitionMap2 update(@Nullable GridDhtPartitionExchangeId exchId,
+ @Nullable @Override public boolean update(@Nullable GridDhtPartitionExchangeId exchId,
GridDhtPartitionFullMap partMap,
- Map<Integer, Long> cntrMap) {
+ Map<Integer, T2<Long, Long>> cntrMap) {
if (log.isDebugEnabled())
log.debug("Updating full partition map [exchId=" + exchId + ", parts=" + fullMapString() + ']');
@@@ -626,10 -643,10 +643,10 @@@
}
/** {@inheritDoc} */
- @SuppressWarnings({"MismatchedQueryAndUpdateOfCollection"})
- @Nullable @Override public GridDhtPartitionMap2 update(@Nullable GridDhtPartitionExchangeId exchId,
+ @Nullable @Override public boolean update(@Nullable GridDhtPartitionExchangeId exchId,
GridDhtPartitionMap2 parts,
- Map<Integer, T2<Long, Long>> cntrMap) {
- Map<Integer, Long> cntrMap,
++ Map<Integer, T2<Long, Long>> cntrMap,
+ boolean checkEvictions) {
if (log.isDebugEnabled())
log.debug("Updating single partition map [exchId=" + exchId + ", parts=" + mapString(parts) + ']');
@@@ -674,44 -692,46 +691,46 @@@
long updateSeq = this.updateSeq.incrementAndGet();
- node2part = new GridDhtPartitionFullMap(node2part, updateSeq);
-
- boolean changed = false;
+ node2part.updateSequence(updateSeq);
- if (cur == null || !cur.equals(parts))
- changed = true;
+ boolean changed = cur == null || !cur.equals(parts);
- node2part.put(parts.nodeId(), parts);
+ if (changed) {
+ node2part.put(parts.nodeId(), parts);
- part2node = new HashMap<>(part2node);
+ // Add new mappings.
+ for (Integer p : parts.keySet()) {
+ Set<UUID> ids = part2node.get(p);
- // Add new mappings.
- for (Integer p : parts.keySet()) {
- Set<UUID> ids = part2node.get(p);
+ if (ids == null)
+ // Initialize HashSet to size 3 in anticipation that there won't be
+ // more than 3 nodes per partition.
+ part2node.put(p, ids = U.newHashSet(3));
- if (ids == null)
- // Initialize HashSet to size 3 in anticipation that there won't be
- // more than 3 nodes per partition.
- part2node.put(p, ids = U.newHashSet(3));
+ ids.add(parts.nodeId());
+ }
- changed |= ids.add(parts.nodeId());
- }
+ // Remove obsolete mappings.
+ if (cur != null) {
+ for (Integer p : cur.keySet()) {
+ if (parts.containsKey(p))
+ continue;
- // Remove obsolete mappings.
- if (cur != null) {
- for (Integer p : F.view(cur.keySet(), F0.notIn(parts.keySet()))) {
- Set<UUID> ids = part2node.get(p);
+ Set<UUID> ids = part2node.get(p);
- if (ids != null)
- changed |= ids.remove(parts.nodeId());
+ if (ids != null)
+ ids.remove(parts.nodeId());
+ }
}
}
+ else
+ cur.updateSequence(parts.updateSequence(), parts.topologyVersion());
if (cntrMap != null) {
- for (Map.Entry<Integer, Long> e : cntrMap.entrySet()) {
- Long cntr = this.cntrMap.get(e.getKey());
+ for (Map.Entry<Integer, T2<Long, Long>> e : cntrMap.entrySet()) {
+ T2<Long, Long> cntr = this.cntrMap.get(e.getKey());
- if (cntr == null || cntr < e.getValue())
+ if (cntr == null || cntr.get2() < e.getValue().get2())
this.cntrMap.put(e.getKey(), e.getValue());
}
}
@@@ -729,24 -749,10 +748,29 @@@
}
/** {@inheritDoc} */
+ @Override public boolean detectLostPartitions(DiscoveryEvent discoEvt) {
+ assert false : "detectLostPartitions should never be called on client topology";
+
+ return false;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void resetLostPartitions() {
+ assert false : "resetLostPartitions should never be called on client topology";
+ }
+
+ /** {@inheritDoc} */
+ @Override public Collection<Integer> lostPartitions() {
+ assert false : "lostPartitions should never be called on client topology";
+
+ return Collections.emptyList();
+ }
+
++ /** {@inheritDoc} */
+ @Override public void checkEvictions() {
+ // No-op.
+ }
+
/**
* Updates value for single partition.
*
@@@ -877,48 -882,22 +900,36 @@@
}
/** {@inheritDoc} */
- @Nullable @Override public GridDhtPartitionMap2 partitions(UUID nodeId) {
- @Override public Map<Integer, Long> updateCounters(boolean skipZeros) {
-- lock.readLock().lock();
-
- try {
- return node2part.get(nodeId);
- }
- finally {
- lock.readLock().unlock();
- }
- }
-
- /** {@inheritDoc} */
+ @Override public void setOwners(int p, Set<UUID> owners, boolean updateSeq) {
+ lock.writeLock().lock();
try {
- if (skipZeros) {
- Map<Integer, Long> res = U.newHashMap(cntrMap.size());
-
- for (Map.Entry<Integer, Long> e : cntrMap.entrySet()) {
- if (!e.getValue().equals(ZERO))
- res.put(e.getKey(), e.getValue());
- }
+ for (Map.Entry<UUID, GridDhtPartitionMap2> e : node2part.entrySet()) {
+ if (!e.getValue().containsKey(p))
+ continue;
- return res;
+ if (e.getValue().get(p) == OWNING && !owners.contains(e.getKey()))
+ e.getValue().put(p, MOVING);
+ else if (owners.contains(e.getKey()))
+ e.getValue().put(p, OWNING);
}
- else
- return new HashMap<>(cntrMap);
+
+ part2node.put(p, owners);
+
+ if (updateSeq)
+ this.updateSeq.incrementAndGet();
+ }
+ finally {
+ lock.writeLock().unlock();
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override public Map<Integer, T2<Long, Long>> updateCounters() {
+ lock.readLock().lock();
+
+ try {
+ return new HashMap<>(cntrMap);
}
finally {
lock.readLock().unlock();
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLocalPartition.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java
----------------------------------------------------------------------
[26/50] [abbrv] ignite git commit: Merge with master - WIP.
Posted by ag...@apache.org.
Merge with master - WIP.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/30633571
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/30633571
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/30633571
Branch: refs/heads/ignite-3477
Commit: 30633571f878f794c5ba73beb9ecfd9c9f52aa7e
Parents: 9dc652d
Author: Ilya Lantukh <il...@gridgain.com>
Authored: Thu Dec 22 17:28:04 2016 +0300
Committer: Ilya Lantukh <il...@gridgain.com>
Committed: Thu Dec 22 17:28:04 2016 +0300
----------------------------------------------------------------------
.../internal/client/GridClientClusterState.java | 33 +++++++++
.../router/impl/GridRouterClientImpl.java | 2 +-
.../GridCachePartitionExchangeManager.java | 4 +-
.../dht/GridClientPartitionTopology.java | 70 ++++++++++----------
.../dht/GridDhtPartitionTopology.java | 18 +++--
.../dht/GridDhtPartitionTopologyImpl.java | 54 ++++++++++++---
.../GridNearAtomicAbstractUpdateRequest.java | 2 -
.../GridDhtPartitionsExchangeFuture.java | 2 +-
.../IgniteCacheFullApiSelfTestSuite.java | 2 -
9 files changed, 127 insertions(+), 60 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/30633571/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientClusterState.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientClusterState.java b/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientClusterState.java
new file mode 100644
index 0000000..4fa25ce
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientClusterState.java
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.client;
+
+/**
+ * Interface for manage state of grid cluster.
+ */
+public interface GridClientClusterState {
+ /**
+ * @param active {@code True} activate, {@code False} deactivate.
+ */
+ public void active(boolean active) throws GridClientException;
+
+ /**
+ * @return {@code Boolean} - Current cluster state. {@code True} active, {@code False} inactive.
+ */
+ public boolean active() throws GridClientException;
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/30633571/modules/core/src/main/java/org/apache/ignite/internal/client/router/impl/GridRouterClientImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/client/router/impl/GridRouterClientImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/client/router/impl/GridRouterClientImpl.java
index 1dd366b..12e2cc8 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/client/router/impl/GridRouterClientImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/client/router/impl/GridRouterClientImpl.java
@@ -22,11 +22,11 @@ import java.util.UUID;
import java.util.concurrent.ConcurrentMap;
import org.apache.ignite.internal.client.GridClient;
import org.apache.ignite.internal.client.GridClientClosedException;
+import org.apache.ignite.internal.client.GridClientClusterState;
import org.apache.ignite.internal.client.GridClientCompute;
import org.apache.ignite.internal.client.GridClientConfiguration;
import org.apache.ignite.internal.client.GridClientData;
import org.apache.ignite.internal.client.GridClientException;
-import org.apache.ignite.internal.client.GridClientClusterState;
import org.apache.ignite.internal.client.GridClientNode;
import org.apache.ignite.internal.client.GridClientPredicate;
import org.apache.ignite.internal.client.GridClientProtocol;
http://git-wip-us.apache.org/repos/asf/ignite/blob/30633571/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
index 6a9ea1b..c63da75 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
@@ -1243,7 +1243,7 @@ public class GridCachePartitionExchangeManager<K, V> extends GridCacheSharedMana
top = cacheCtx.topology();
if (top != null)
- updated |= top.update(null, entry.getValue(), null);
+ updated |= top.update(null, entry.getValue(), null) != null;
}
if (!cctx.kernalContext().clientNode() && updated)
@@ -1292,7 +1292,7 @@ public class GridCachePartitionExchangeManager<K, V> extends GridCacheSharedMana
top = cacheCtx.topology();
if (top != null) {
- updated |= top.update(null, entry.getValue(), null, true);
+ updated |= top.update(null, entry.getValue(), null) != null;
cctx.affinity().checkRebalanceState(top, cacheId);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/30633571/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java
index 33de577..ca71f51 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java
@@ -550,7 +550,7 @@ public class GridClientPartitionTopology implements GridDhtPartitionTopology {
/** {@inheritDoc} */
@SuppressWarnings({"MismatchedQueryAndUpdateOfCollection"})
- @Nullable @Override public boolean update(@Nullable GridDhtPartitionExchangeId exchId,
+ @Nullable @Override public GridDhtPartitionMap2 update(@Nullable GridDhtPartitionExchangeId exchId,
GridDhtPartitionFullMap partMap,
Map<Integer, T2<Long, Long>> cntrMap) {
if (log.isDebugEnabled())
@@ -564,7 +564,7 @@ public class GridClientPartitionTopology implements GridDhtPartitionTopology {
log.debug("Stale exchange id for full partition map update (will ignore) [lastExchId=" +
lastExchangeId + ", exchId=" + exchId + ']');
- return false;
+ return null;
}
if (node2part != null && node2part.compareTo(partMap) >= 0) {
@@ -572,7 +572,7 @@ public class GridClientPartitionTopology implements GridDhtPartitionTopology {
log.debug("Stale partition map for full partition map update (will ignore) [lastExchId=" +
lastExchangeId + ", exchId=" + exchId + ", curMap=" + node2part + ", newMap=" + partMap + ']');
- return false;
+ return null;
}
updateSeq.incrementAndGet();
@@ -635,7 +635,7 @@ public class GridClientPartitionTopology implements GridDhtPartitionTopology {
if (log.isDebugEnabled())
log.debug("Partition map after full update: " + fullMapString());
- return false;
+ return null;
}
finally {
lock.writeLock().unlock();
@@ -643,10 +643,10 @@ public class GridClientPartitionTopology implements GridDhtPartitionTopology {
}
/** {@inheritDoc} */
- @Nullable @Override public boolean update(@Nullable GridDhtPartitionExchangeId exchId,
+ @SuppressWarnings({"MismatchedQueryAndUpdateOfCollection"})
+ @Nullable @Override public GridDhtPartitionMap2 update(@Nullable GridDhtPartitionExchangeId exchId,
GridDhtPartitionMap2 parts,
- Map<Integer, T2<Long, Long>> cntrMap,
- boolean checkEvictions) {
+ Map<Integer, T2<Long, Long>> cntrMap) {
if (log.isDebugEnabled())
log.debug("Updating single partition map [exchId=" + exchId + ", parts=" + mapString(parts) + ']');
@@ -655,21 +655,21 @@ public class GridClientPartitionTopology implements GridDhtPartitionTopology {
log.debug("Received partition update for non-existing node (will ignore) [exchId=" + exchId +
", parts=" + parts + ']');
- return false;
+ return null;
}
lock.writeLock().lock();
try {
if (stopping)
- return false;
+ return null;
if (lastExchangeId != null && exchId != null && lastExchangeId.compareTo(exchId) > 0) {
if (log.isDebugEnabled())
log.debug("Stale exchange id for single partition map update (will ignore) [lastExchId=" +
lastExchangeId + ", exchId=" + exchId + ']');
- return false;
+ return null;
}
if (exchId != null)
@@ -686,45 +686,43 @@ public class GridClientPartitionTopology implements GridDhtPartitionTopology {
log.debug("Stale update sequence for single partition map update (will ignore) [exchId=" + exchId +
", curSeq=" + cur.updateSequence() + ", newSeq=" + parts.updateSequence() + ']');
- return false;
+ return null;
}
long updateSeq = this.updateSeq.incrementAndGet();
- node2part.updateSequence(updateSeq);
+ node2part = new GridDhtPartitionFullMap(node2part, updateSeq);
- boolean changed = cur == null || !cur.equals(parts);
+ boolean changed = false;
- if (changed) {
- node2part.put(parts.nodeId(), parts);
+ if (cur == null || !cur.equals(parts))
+ changed = true;
- // Add new mappings.
- for (Integer p : parts.keySet()) {
- Set<UUID> ids = part2node.get(p);
+ node2part.put(parts.nodeId(), parts);
- if (ids == null)
- // Initialize HashSet to size 3 in anticipation that there won't be
- // more than 3 nodes per partition.
- part2node.put(p, ids = U.newHashSet(3));
+ part2node = new HashMap<>(part2node);
- ids.add(parts.nodeId());
- }
+ // Add new mappings.
+ for (Integer p : parts.keySet()) {
+ Set<UUID> ids = part2node.get(p);
+
+ if (ids == null)
+ // Initialize HashSet to size 3 in anticipation that there won't be
+ // more than 3 nodes per partition.
+ part2node.put(p, ids = U.newHashSet(3));
- // Remove obsolete mappings.
- if (cur != null) {
- for (Integer p : cur.keySet()) {
- if (parts.containsKey(p))
- continue;
+ changed |= ids.add(parts.nodeId());
+ }
- Set<UUID> ids = part2node.get(p);
+ // Remove obsolete mappings.
+ if (cur != null) {
+ for (Integer p : F.view(cur.keySet(), F0.notIn(parts.keySet()))) {
+ Set<UUID> ids = part2node.get(p);
- if (ids != null)
- ids.remove(parts.nodeId());
- }
+ if (ids != null)
+ changed |= ids.remove(parts.nodeId());
}
}
- else
- cur.updateSequence(parts.updateSequence(), parts.topologyVersion());
if (cntrMap != null) {
for (Map.Entry<Integer, T2<Long, Long>> e : cntrMap.entrySet()) {
@@ -740,7 +738,7 @@ public class GridClientPartitionTopology implements GridDhtPartitionTopology {
if (log.isDebugEnabled())
log.debug("Partition map after single update: " + fullMapString());
- return changed;
+ return changed ? localPartitionMap() : null;
}
finally {
lock.writeLock().unlock();
http://git-wip-us.apache.org/repos/asf/ignite/blob/30633571/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopology.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopology.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopology.java
index 5918da8..ac3e2c8 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopology.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopology.java
@@ -216,9 +216,9 @@ public interface GridDhtPartitionTopology {
* @param exchId Exchange ID.
* @param partMap Update partition map.
* @param cntrMap Partition update counters.
- * @return {@code True} if topology state changed.
+ * @return Local partition map if there were evictions or {@code null} otherwise.
*/
- public boolean update(@Nullable GridDhtPartitionExchangeId exchId,
+ public GridDhtPartitionMap2 update(@Nullable GridDhtPartitionExchangeId exchId,
GridDhtPartitionFullMap partMap,
@Nullable Map<Integer, T2<Long, Long>> cntrMap);
@@ -226,13 +226,11 @@ public interface GridDhtPartitionTopology {
* @param exchId Exchange ID.
* @param parts Partitions.
* @param cntrMap Partition update counters.
- * @param checkEvictions Check evictions flag.
- * @return {@code True} if topology state changed.
+ * @return Local partition map if there were evictions or {@code null} otherwise.
*/
- @Nullable public boolean update(@Nullable GridDhtPartitionExchangeId exchId,
+ @Nullable public GridDhtPartitionMap2 update(@Nullable GridDhtPartitionExchangeId exchId,
GridDhtPartitionMap2 parts,
- @Nullable Map<Integer, T2<Long, Long>> cntrMap,
- boolean checkEvictions);
+ @Nullable Map<Integer, T2<Long, Long>> cntrMap);
/**
* Checks if there is at least one owner for each partition in the cache topology.
@@ -279,6 +277,12 @@ public interface GridDhtPartitionTopology {
public void onEvicted(GridDhtLocalPartition part, boolean updateSeq);
/**
+ * @param nodeId Node to get partitions for.
+ * @return Partitions for node.
+ */
+ @Nullable public GridDhtPartitionMap2 partitions(UUID nodeId);
+
+ /**
* Prints memory stats.
*
* @param threshold Threshold for number of entries.
http://git-wip-us.apache.org/repos/asf/ignite/blob/30633571/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
index ea3b7c6..f22c263 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
@@ -1429,7 +1429,7 @@ import static org.apache.ignite.internal.processors.cache.distributed.dht.GridDh
boolean marked = plc == PartitionLossPolicy.IGNORE ? locPart.own() : locPart.markLost();
if (marked)
- updateLocal(locPart.id(), cctx.localNodeId(), locPart.state(), updSeq);
+ updateLocal(locPart.id(), locPart.state(), updSeq);
changed |= marked;
}
@@ -1494,7 +1494,7 @@ import static org.apache.ignite.internal.processors.cache.distributed.dht.GridDh
boolean marked = locPart.own();
if (marked)
- updateLocal(locPart.id(), cctx.localNodeId(), locPart.state(), updSeq);
+ updateLocal(locPart.id(), locPart.state(), updSeq);
}
for (UUID nodeId : nodeIds) {
@@ -1582,6 +1582,42 @@ import static org.apache.ignite.internal.processors.cache.distributed.dht.GridDh
/**
* @param updateSeq Update sequence.
+ * @return {@code True} if state changed.
+ */
+ private boolean checkEvictions(long updateSeq) {
+ AffinityTopologyVersion affVer = cctx.affinity().affinityTopologyVersion();
+
+ boolean changed = false;
+
+ if (!affVer.equals(AffinityTopologyVersion.NONE) && affVer.compareTo(topVer) >= 0) {
+ List<List<ClusterNode>> aff = cctx.affinity().assignments(topVer);
+
+ changed = checkEvictions(updateSeq, aff);
+
+ updateRebalanceVersion(aff);
+ }
+
+ return changed;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void checkEvictions() {
+ lock.writeLock().lock();
+
+ try {
+ long updateSeq = this.updateSeq.incrementAndGet();
+
+ node2part.newUpdateSequence(updateSeq);
+
+ checkEvictions(updateSeq);
+ }
+ finally {
+ lock.writeLock().unlock();
+ }
+ }
+
+ /**
+ * @param updateSeq Update sequence.
* @param aff Affinity assignments.
* @return Checks if any of the local partitions need to be evicted.
*/
@@ -1824,15 +1860,15 @@ import static org.apache.ignite.internal.processors.cache.distributed.dht.GridDh
/** {@inheritDoc} */
@Nullable @Override public GridDhtPartitionMap2 partitions(UUID nodeId) {
- lock.readLock().lock();
+ lock.readLock().lock();
- try {
- return node2part.get(nodeId);
- }
- finally {
- lock.readLock().unlock();
- }
+ try {
+ return node2part.get(nodeId);
}
+ finally {
+ lock.readLock().unlock();
+ }
+ }
/** {@inheritDoc} */
@Override public Map<Integer, T2<Long, Long>> updateCounters(boolean skipZeros) {
http://git-wip-us.apache.org/repos/asf/ignite/blob/30633571/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateRequest.java
index d5f8b64..b933186 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateRequest.java
@@ -133,8 +133,6 @@ public abstract class GridNearAtomicAbstractUpdateRequest extends GridCacheMessa
*/
public abstract boolean hasPrimary();
- public abstract boolean recovery();
-
/**
* @param res Response.
* @return {@code True} if current response was {@code null}.
http://git-wip-us.apache.org/repos/asf/ignite/blob/30633571/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
index 5d90e35..5bb7536 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
@@ -1746,7 +1746,7 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT
if (cacheCtx != null)
cacheCtx.topology().update(exchId, entry.getValue(), cntrMap);
else {
- ClusterNode oldest = CU.oldestAliveCacheServerNode(cctx, AffinityTopologyVersion.NONE);
+ ClusterNode oldest = cctx.discovery().oldestAliveCacheServerNode(AffinityTopologyVersion.NONE);
if (oldest != null && oldest.isLocal())
cctx.exchange().clientTopology(cacheId, this).update(exchId, entry.getValue(), cntrMap);
http://git-wip-us.apache.org/repos/asf/ignite/blob/30633571/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFullApiSelfTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFullApiSelfTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFullApiSelfTestSuite.java
index 17757ab..7d4fee1 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFullApiSelfTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFullApiSelfTestSuite.java
@@ -57,7 +57,6 @@ import org.apache.ignite.internal.processors.cache.distributed.near.GridCacheAto
import org.apache.ignite.internal.processors.cache.distributed.near.GridCacheAtomicPrimaryWriteOrderFairAffinityMultiNodeFullApiSelfTest;
import org.apache.ignite.internal.processors.cache.distributed.near.GridCacheAtomicPrimaryWriteOrderMultiNodeFullApiSelfTest;
import org.apache.ignite.internal.processors.cache.distributed.near.GridCacheAtomicPrimaryWriteOrderMultiNodeP2PDisabledFullApiSelfTest;
-import org.apache.ignite.internal.processors.cache.distributed.near.GridCacheAtomicPrimaryWriteOrderNoStripedPoolMultiNodeFullApiSelfTest;
import org.apache.ignite.internal.processors.cache.distributed.near.GridCacheAtomicPrimaryWriteOrderOffHeapFullApiSelfTest;
import org.apache.ignite.internal.processors.cache.distributed.near.GridCacheAtomicPrimaryWriteOrderOffHeapTieredFullApiSelfTest;
import org.apache.ignite.internal.processors.cache.distributed.near.GridCacheAtomicPrimaryWrityOrderOffHeapMultiNodeFullApiSelfTest;
@@ -231,7 +230,6 @@ public class IgniteCacheFullApiSelfTestSuite extends TestSuite {
suite.addTestSuite(GridCachePartitionedFullApiMultithreadedSelfTest.class);
// Disabled striped pool.
- suite.addTestSuite(GridCacheAtomicPrimaryWriteOrderNoStripedPoolMultiNodeFullApiSelfTest.class);
suite.addTestSuite(GridCachePartitionedNoStripedPoolMultiNodeFullApiSelfTest.class);
// Other.
[25/50] [abbrv] ignite git commit: Merge with master - WIP
Posted by ag...@apache.org.
Merge with master - WIP
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/9dc652db
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/9dc652db
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/9dc652db
Branch: refs/heads/ignite-3477
Commit: 9dc652db5b0891e08aedc4ed40c333d4f5a7c044
Parents: 7b03a2b f7d89fd
Author: Ilya Lantukh <il...@gridgain.com>
Authored: Thu Dec 22 17:12:31 2016 +0300
Committer: Ilya Lantukh <il...@gridgain.com>
Committed: Thu Dec 22 17:12:31 2016 +0300
----------------------------------------------------------------------
.gitignore | 35 +-
README.md | 8 +
RELEASE_NOTES.txt | 22 +
assembly/dependencies-fabric-lgpl.xml | 1 +
assembly/dependencies-fabric.xml | 1 +
assembly/release-base.xml | 5 +
assembly/release-fabric-base.xml | 1 +
bin/ignite.sh | 9 +
config/dotnet/default-dotnet.xml | 45 +
examples/pom-standalone.xml | 6 +
examples/pom.xml | 2 +-
examples/redis/redis-example.php | 82 ++
examples/redis/redis-example.py | 62 +
examples/schema-import/pom.xml | 2 +-
.../ignite/examples/ExampleNodeStartup.java | 2 +-
.../examples/datagrid/CachePutGetExample.java | 2 +-
.../examples/datagrid/CacheQueryDmlExample.java | 163 +++
.../scalar/examples/ScalarJvmCloudExample.scala | 2 +-
.../CacheExamplesMultiNodeSelfTest.java | 7 +
.../ignite/examples/CacheExamplesSelfTest.java | 8 +
modules/aop/pom.xml | 2 +-
modules/apache-license-gen/pom.xml | 2 +-
modules/aws/pom.xml | 2 +-
modules/benchmarks/pom.xml | 2 +-
.../jmh/misc/JmhIncrementBenchmark.java | 95 ++
modules/camel/pom.xml | 2 +-
modules/cassandra/pom.xml | 16 +-
modules/cassandra/serializers/README.txt | 7 +-
modules/cassandra/serializers/pom.xml | 4 +-
modules/cassandra/store/pom.xml | 4 +-
modules/clients/pom.xml | 12 +-
.../clients/src/test/config/jdbc-bin-config.xml | 54 +
.../jdbc2/JdbcAbstractDmlStatementSelfTest.java | 263 ++++
.../JdbcAbstractUpdateStatementSelfTest.java | 37 +
...BinaryMarshallerInsertStatementSelfTest.java | 37 +
...cBinaryMarshallerMergeStatementSelfTest.java | 37 +
.../jdbc2/JdbcDeleteStatementSelfTest.java | 49 +
.../jdbc2/JdbcInsertStatementSelfTest.java | 122 ++
.../jdbc2/JdbcMergeStatementSelfTest.java | 91 ++
.../internal/jdbc2/JdbcNoDefaultCacheTest.java | 40 +-
.../internal/jdbc2/JdbcResultSetSelfTest.java | 18 +
.../rest/ClientMemcachedProtocolSelfTest.java | 4 +-
.../rest/RestProcessorMultiStartSelfTest.java | 48 +-
.../rest/protocols/tcp/MockNioSession.java | 11 +
.../tcp/redis/RedisProtocolSelfTest.java | 101 +-
.../jdbc/suite/IgniteJdbcDriverTestSuite.java | 5 +
modules/cloud/pom.xml | 2 +-
modules/codegen/pom.xml | 2 +-
modules/core/pom.xml | 2 +-
.../java/org/apache/ignite/IgniteCache.java | 2 +
.../apache/ignite/IgniteSystemProperties.java | 17 +
.../binary/BinaryAbstractIdentityResolver.java | 53 +
.../binary/BinaryArrayIdentityResolver.java | 224 +++
.../binary/BinaryFieldIdentityResolver.java | 307 ++++
.../ignite/binary/BinaryIdentityResolver.java | 42 +
.../ignite/binary/BinaryTypeConfiguration.java | 27 +-
.../org/apache/ignite/cache/QueryEntity.java | 27 +
.../rendezvous/RendezvousAffinityFunction.java | 80 +-
.../ignite/cache/query/SqlFieldsQuery.java | 2 +-
.../cache/store/CacheLoadOnlyStoreAdapter.java | 6 +-
.../configuration/CacheConfiguration.java | 19 +-
.../configuration/IgniteConfiguration.java | 48 +
.../internal/GridEventConsumeHandler.java | 2 +-
.../ignite/internal/GridJobContextImpl.java | 4 +-
.../ignite/internal/GridKernalContext.java | 9 +
.../ignite/internal/GridKernalContextImpl.java | 16 +-
.../internal/GridPerformanceSuggestions.java | 2 +-
.../org/apache/ignite/internal/GridTopic.java | 4 +-
.../ignite/internal/IgniteInternalFuture.java | 11 +
.../apache/ignite/internal/IgniteKernal.java | 71 +-
.../org/apache/ignite/internal/IgnitionEx.java | 32 +-
.../internal/binary/BinaryClassDescriptor.java | 15 +
.../ignite/internal/binary/BinaryContext.java | 76 +-
.../ignite/internal/binary/BinaryFieldImpl.java | 10 +-
.../internal/binary/BinaryObjectExImpl.java | 90 +-
.../internal/binary/BinaryObjectImpl.java | 48 +-
.../binary/BinaryObjectOffheapImpl.java | 42 +-
.../internal/binary/BinaryPrimitives.java | 30 +-
.../binary/BinarySerializedFieldComparator.java | 343 +++++
.../ignite/internal/binary/BinaryUtils.java | 2 +-
.../internal/binary/BinaryWriterExImpl.java | 47 +-
.../internal/binary/GridBinaryMarshaller.java | 2 +-
.../binary/builder/BinaryBuilderReader.java | 11 +
.../binary/builder/BinaryBuilderSerializer.java | 4 +
.../binary/builder/BinaryObjectBuilderImpl.java | 16 +
.../streams/BinaryAbstractInputStream.java | 5 +
.../streams/BinaryAbstractOutputStream.java | 5 +
.../streams/BinaryByteBufferInputStream.java | 10 +
.../binary/streams/BinaryHeapInputStream.java | 9 +-
.../binary/streams/BinaryHeapOutputStream.java | 7 +-
.../streams/BinaryMemoryAllocatorChunk.java | 3 +-
.../streams/BinaryOffheapInputStream.java | 14 +-
.../streams/BinaryOffheapOutputStream.java | 8 +-
.../internal/binary/streams/BinaryStream.java | 12 +-
.../internal/client/GridClientClusterState.java | 33 -
.../GridClientConnectionManagerAdapter.java | 1 +
.../ignite/internal/jdbc2/JdbcConnection.java | 17 +
.../internal/jdbc2/JdbcPreparedStatement.java | 71 +-
.../ignite/internal/jdbc2/JdbcQueryTask.java | 5 +-
.../ignite/internal/jdbc2/JdbcQueryTaskV2.java | 406 ++++++
.../ignite/internal/jdbc2/JdbcResultSet.java | 72 +-
.../internal/jdbc2/JdbcSqlFieldsQuery.java | 49 +
.../ignite/internal/jdbc2/JdbcStatement.java | 213 ++-
.../apache/ignite/internal/jdbc2/JdbcUtils.java | 25 +-
.../managers/communication/GridIoManager.java | 33 +-
.../managers/communication/GridIoMessage.java | 13 +
.../communication/GridIoMessageFactory.java | 59 +-
.../communication/IgniteIoTestMessage.java | 13 +-
.../discovery/GridDiscoveryManager.java | 118 +-
.../snapshot/SnapshotFinishedMessage.java | 2 +-
.../processors/cache/GridCacheAdapter.java | 741 ++++------
.../processors/cache/GridCacheEntryEx.java | 4 +-
.../processors/cache/GridCacheMapEntry.java | 41 +-
.../processors/cache/GridCacheMessage.java | 7 +
.../GridCachePartitionExchangeManager.java | 151 +-
.../processors/cache/GridCachePreloader.java | 8 +-
.../cache/GridCachePreloaderAdapter.java | 9 +-
.../processors/cache/GridCacheProcessor.java | 2 +-
.../processors/cache/GridCacheProxyImpl.java | 24 +-
.../cache/GridCacheSharedTtlCleanupManager.java | 5 +-
.../processors/cache/GridCacheTtlManager.java | 4 +
.../processors/cache/GridCacheUtils.java | 62 +-
.../GridChangeGlobalStateMessageResponse.java | 2 +-
.../processors/cache/IgniteInternalCache.java | 8 +
.../processors/cache/QueryCursorImpl.java | 31 +-
.../binary/CacheObjectBinaryProcessorImpl.java | 3 +-
.../distributed/GridCacheTxRecoveryFuture.java | 4 +-
.../distributed/GridDistributedLockRequest.java | 5 +
.../GridDistributedUnlockRequest.java | 5 +
.../dht/GridClientPartitionTopology.java | 108 +-
.../distributed/dht/GridDhtCacheAdapter.java | 3 +-
.../cache/distributed/dht/GridDhtGetFuture.java | 2 +-
.../distributed/dht/GridDhtLockFuture.java | 27 +-
.../distributed/dht/GridDhtLockResponse.java | 9 +-
.../dht/GridDhtPartitionTopology.java | 28 +-
.../dht/GridDhtPartitionTopologyImpl.java | 142 +-
.../distributed/dht/GridDhtTxFinishFuture.java | 74 +-
.../cache/distributed/dht/GridDhtTxLocal.java | 125 +-
.../distributed/dht/GridDhtTxLocalAdapter.java | 7 +-
.../distributed/dht/GridDhtTxPrepareFuture.java | 4 +-
.../dht/atomic/GridDhtAtomicCache.java | 453 +++---
.../GridDhtAtomicSingleUpdateRequest.java | 5 +
.../dht/atomic/GridDhtAtomicUpdateRequest.java | 5 +
...idNearAtomicAbstractSingleUpdateRequest.java | 28 +-
.../GridNearAtomicAbstractUpdateRequest.java | 2 +
.../atomic/GridNearAtomicFullUpdateRequest.java | 69 +-
...GridNearAtomicSingleUpdateInvokeRequest.java | 6 +-
.../GridNearAtomicSingleUpdateRequest.java | 5 +
.../dht/colocated/GridDhtColocatedCache.java | 13 -
.../colocated/GridDhtColocatedLockFuture.java | 4 +-
.../dht/preloader/GridDhtPartitionDemander.java | 233 +--
.../dht/preloader/GridDhtPartitionFullMap.java | 18 +-
.../dht/preloader/GridDhtPartitionMap2.java | 4 +
.../dht/preloader/GridDhtPreloader.java | 13 +-
.../distributed/near/GridNearAtomicCache.java | 65 +-
.../distributed/near/GridNearGetRequest.java | 5 +
.../distributed/near/GridNearLockFuture.java | 4 +-
...arOptimisticSerializableTxPrepareFuture.java | 4 +-
.../near/GridNearOptimisticTxPrepareFuture.java | 15 +-
.../GridNearPessimisticTxPrepareFuture.java | 4 +-
.../near/GridNearTxFinishFuture.java | 46 +-
.../cache/distributed/near/GridNearTxLocal.java | 48 +-
.../local/atomic/GridLocalAtomicCache.java | 174 +--
.../query/GridCacheDistributedQueryManager.java | 2 +-
.../cache/query/GridCacheQueryManager.java | 18 +-
.../cache/query/GridCacheQueryRequest.java | 6 +-
.../cache/query/GridCacheTwoStepQuery.java | 253 ----
.../cache/query/IgniteQueryErrorCode.java | 91 ++
.../cache/store/CacheStoreManager.java | 4 +-
.../store/GridCacheStoreManagerAdapter.java | 34 +-
.../cache/store/GridCacheWriteBehindStore.java | 6 +-
.../cache/transactions/IgniteTxHandler.java | 17 +-
.../transactions/IgniteTxLocalAdapter.java | 38 +-
.../cache/transactions/IgniteTxManager.java | 15 +-
.../datastreamer/DataStreamProcessor.java | 22 +-
.../GridCacheAtomicSequenceImpl.java | 12 +-
.../processors/hadoop/HadoopClassLoader.java | 11 +
.../internal/processors/hadoop/HadoopJobId.java | 79 +-
.../processors/hadoop/HadoopJobProperty.java | 64 +-
.../hadoop/HadoopMapperAwareTaskOutput.java | 32 +
.../processors/hadoop/HadoopTaskContext.java | 8 +
.../processors/hadoop/HadoopTaskInfo.java | 43 +
.../io/PartiallyOffheapRawComparatorEx.java | 33 +
.../hadoop/message/HadoopMessage.java | 27 +
.../shuffle/HadoopDirectShuffleMessage.java | 243 ++++
.../hadoop/shuffle/HadoopShuffleAck.java | 170 +++
.../shuffle/HadoopShuffleFinishRequest.java | 172 +++
.../shuffle/HadoopShuffleFinishResponse.java | 142 ++
.../hadoop/shuffle/HadoopShuffleMessage.java | 361 +++++
.../internal/processors/igfs/IgfsContext.java | 4 +-
.../processors/igfs/IgfsDataManager.java | 6 +-
.../internal/processors/igfs/IgfsImpl.java | 2 +-
.../processors/odbc/OdbcMessageParser.java | 16 +
.../processors/odbc/OdbcNioListener.java | 2 +-
.../odbc/OdbcQueryGetParamsMetaRequest.java | 60 +
.../odbc/OdbcQueryGetParamsMetaResult.java | 40 +
.../internal/processors/odbc/OdbcRequest.java | 3 +
.../processors/odbc/OdbcRequestHandler.java | 175 ++-
.../internal/processors/odbc/OdbcUtils.java | 4 +-
.../platform/PlatformAbstractTarget.java | 268 +---
.../platform/PlatformAsyncTarget.java | 44 +
.../platform/PlatformNoopProcessor.java | 41 +-
.../processors/platform/PlatformProcessor.java | 42 +-
.../platform/PlatformProcessorImpl.java | 87 +-
.../processors/platform/PlatformTarget.java | 103 +-
.../platform/PlatformTargetProxy.java | 126 ++
.../platform/PlatformTargetProxyImpl.java | 222 +++
.../binary/PlatformBinaryProcessor.java | 6 +-
.../platform/cache/PlatformCache.java | 15 +-
.../cache/PlatformCacheEntryFilterImpl.java | 4 +-
.../cache/PlatformCacheEntryProcessorImpl.java | 43 +-
.../platform/cache/PlatformCacheIterator.java | 2 +-
.../cache/affinity/PlatformAffinity.java | 4 +-
.../affinity/PlatformAffinityFunction.java | 59 +-
.../PlatformAffinityFunctionTarget.java | 4 +-
.../query/PlatformAbstractQueryCursor.java | 4 +-
.../query/PlatformContinuousQueryProxy.java | 3 +-
.../callback/PlatformCallbackGateway.java | 272 ++--
.../platform/callback/PlatformCallbackOp.java | 206 +++
.../callback/PlatformCallbackUtils.java | 544 +------
.../platform/cluster/PlatformClusterGroup.java | 18 +-
.../platform/compute/PlatformAbstractJob.java | 2 +-
.../platform/compute/PlatformAbstractTask.java | 15 +-
.../platform/compute/PlatformClosureJob.java | 12 +-
.../platform/compute/PlatformCompute.java | 21 +-
.../platform/compute/PlatformFullJob.java | 15 +-
.../platform/compute/PlatformFullTask.java | 18 +-
.../datastreamer/PlatformDataStreamer.java | 4 +-
.../PlatformStreamReceiverImpl.java | 11 +-
.../datastructures/PlatformAtomicLong.java | 4 +-
.../datastructures/PlatformAtomicReference.java | 8 +-
.../datastructures/PlatformAtomicSequence.java | 2 +-
.../dotnet/PlatformDotNetCacheStore.java | 6 +-
.../platform/events/PlatformEvents.java | 15 +-
.../memory/PlatformInputStreamImpl.java | 14 +-
.../memory/PlatformOutputStreamImpl.java | 14 +-
.../platform/messaging/PlatformMessaging.java | 9 +-
.../services/PlatformAbstractService.java | 25 +-
.../platform/services/PlatformServices.java | 27 +-
.../transactions/PlatformTransactions.java | 8 +-
.../platform/utils/PlatformFutureUtils.java | 18 +-
.../utils/PlatformListenableTarget.java | 62 +
.../platform/utils/PlatformUtils.java | 8 +-
.../processors/query/GridQueryIndexing.java | 23 +-
.../processors/query/GridQueryProcessor.java | 591 ++++++--
.../processors/query/GridQueryProperty.java | 20 +
.../query/GridQueryTypeDescriptor.java | 25 +
.../processors/query/IgniteSQLException.java | 89 ++
.../processors/rest/GridRestProcessor.java | 15 +
.../redis/GridRedisRestCommandHandler.java | 1 +
.../redis/key/GridRedisDelCommandHandler.java | 7 +-
.../key/GridRedisExistsCommandHandler.java | 7 +-
.../server/GridRedisDbSizeCommandHandler.java | 7 +-
.../string/GridRedisAppendCommandHandler.java | 7 +-
.../string/GridRedisGetCommandHandler.java | 34 +-
.../string/GridRedisGetRangeCommandHandler.java | 7 +-
.../string/GridRedisGetSetCommandHandler.java | 7 +-
.../string/GridRedisIncrDecrCommandHandler.java | 70 +-
.../string/GridRedisMGetCommandHandler.java | 7 +-
.../string/GridRedisMSetCommandHandler.java | 7 +-
.../string/GridRedisSetCommandHandler.java | 31 +-
.../string/GridRedisSetRangeCommandHandler.java | 7 +-
.../string/GridRedisStrlenCommandHandler.java | 7 +-
.../tcp/GridTcpMemcachedNioListener.java | 15 +-
.../protocols/tcp/GridTcpRestNioListener.java | 2 +-
.../tcp/redis/GridRedisNioListener.java | 4 +-
.../service/GridServiceProcessor.java | 10 +-
.../ignite/internal/util/GridHandleTable.java | 10 +-
.../apache/ignite/internal/util/GridUnsafe.java | 61 +-
.../ignite/internal/util/IgniteUtils.java | 105 +-
.../ignite/internal/util/StripedExecutor.java | 667 +++++++++
.../util/future/GridCompoundFuture.java | 56 +-
.../util/future/GridFinishedFuture.java | 24 +
.../internal/util/future/GridFutureAdapter.java | 15 +-
.../util/future/GridFutureChainListener.java | 30 +-
.../internal/util/io/GridUnsafeDataInput.java | 12 +-
.../internal/util/io/GridUnsafeDataOutput.java | 12 +-
.../internal/util/ipc/IpcToNioAdapter.java | 2 +-
.../util/lang/IgniteSingletonIterator.java | 56 +
.../util/nio/GridCommunicationClient.java | 4 +-
.../nio/GridConnectionBytesVerifyFilter.java | 15 +-
.../util/nio/GridNioAsyncNotifyFilter.java | 10 +-
.../internal/util/nio/GridNioCodecFilter.java | 17 +-
.../ignite/internal/util/nio/GridNioFilter.java | 16 +-
.../internal/util/nio/GridNioFilterAdapter.java | 10 +-
.../internal/util/nio/GridNioFilterChain.java | 14 +-
.../ignite/internal/util/nio/GridNioFuture.java | 4 +-
.../util/nio/GridNioRecoveryDescriptor.java | 95 +-
.../ignite/internal/util/nio/GridNioServer.java | 1343 ++++++++++++++----
.../internal/util/nio/GridNioSession.java | 11 +
.../internal/util/nio/GridNioSessionImpl.java | 49 +-
.../ignite/internal/util/nio/GridNioWorker.java | 48 +
.../util/nio/GridSelectorNioSessionImpl.java | 157 +-
.../util/nio/GridTcpNioCommunicationClient.java | 49 +-
.../internal/util/nio/SessionWriteRequest.java | 85 ++
.../internal/util/nio/ssl/GridNioSslFilter.java | 10 +-
.../util/nio/ssl/GridNioSslHandler.java | 4 +-
.../util/offheap/unsafe/GridUnsafeMemory.java | 10 +-
.../util/tostring/GridToStringBuilder.java | 2 +-
.../internal/visor/query/VisorQueryJob.java | 2 +-
.../ignite/marshaller/jdk/JdkMarshaller.java | 4 +-
.../optimized/OptimizedMarshaller.java | 8 +-
.../optimized/OptimizedObjectOutputStream.java | 25 +-
.../communication/tcp/TcpCommunicationSpi.java | 324 +++--
.../tcp/TcpCommunicationSpiMBean.java | 40 +
.../ignite/spi/discovery/tcp/ServerImpl.java | 57 +-
.../spi/discovery/tcp/TcpDiscoverySpi.java | 14 +-
.../tcp/internal/TcpDiscoveryStatistics.java | 4 +
.../org/apache/ignite/stream/StreamAdapter.java | 4 +-
.../ignite/thread/IgniteThreadFactory.java | 8 +-
.../resources/META-INF/classnames.properties | 69 +-
.../core/src/main/resources/ignite.properties | 2 +-
.../AbstractAffinityFunctionSelfTest.java | 2 +-
.../BinaryArrayIdentityResolverSelfTest.java | 300 ++++
.../BinaryFieldIdentityResolverSelfTest.java | 333 +++++
.../binary/BinaryFieldsOffheapSelfTest.java | 2 +-
.../BinaryFooterOffsetsOffheapSelfTest.java | 2 +-
...ryIdentityResolverConfigurationSelfTest.java | 138 ++
.../binary/BinaryMarshallerSelfTest.java | 2 +-
.../BinaryObjectBuilderAdditionalSelfTest.java | 157 +-
...naryObjectBuilderDefaultMappersSelfTest.java | 2 +-
.../BinarySerialiedFieldComparatorSelfTest.java | 568 ++++++++
...unicationBalanceMultipleConnectionsTest.java | 28 +
.../IgniteCommunicationBalanceTest.java | 339 +++++
.../communication/IgniteIoTestMessagesTest.java | 95 ++
.../IgniteVariousConnectionNumberTest.java | 166 +++
.../GridDiscoveryManagerAliveCacheSelfTest.java | 2 +-
.../cache/CrossCacheTxRandomOperationsTest.java | 30 +-
...idAbstractCacheInterceptorRebalanceTest.java | 4 +-
.../cache/GridCacheAbstractFullApiSelfTest.java | 4 +-
.../GridCacheMissingCommitVersionSelfTest.java | 6 +-
...CacheOffHeapMultiThreadedUpdateSelfTest.java | 6 +-
.../GridCachePartitionedAffinitySpreadTest.java | 7 +-
.../processors/cache/GridCacheTestEntryEx.java | 3 +-
.../GridCacheTtlManagerEvictionSelfTest.java | 1 +
.../IgniteTxStoreExceptionAbstractSelfTest.java | 1 +
.../GridCacheBinaryObjectsAbstractSelfTest.java | 260 +++-
...achePartitionedAtomicSequenceTxSelfTest.java | 169 +++
.../CacheLockReleaseNodeLeaveTest.java | 135 ++
...eAtomicMessageRecovery10ConnectionsTest.java | 28 +
...cMessageRecoveryNoPairedConnectionsTest.java | 47 +
...acheConnectionRecovery10ConnectionsTest.java | 35 +
.../distributed/IgniteCacheCreatePutTest.java | 2 +-
.../distributed/dht/GridCacheDhtTestUtils.java | 232 ---
.../dht/IgniteCacheMultiTxLockSelfTest.java | 6 +-
...nabledMultiNodeLongTxTimeoutFullApiTest.java | 2 +-
...achePartitionedMultiNodeFullApiSelfTest.java | 37 +-
...edNoStripedPoolMultiNodeFullApiSelfTest.java | 35 +
.../GridCacheRebalancingSyncSelfTest.java | 2 +
...eCacheExpiryPolicyWithStoreAbstractTest.java | 40 +
.../TxDeadlockDetectionNoHangsTest.java | 2 +-
.../TxOptimisticDeadlockDetectionTest.java | 29 +-
...lockMessageSystemPoolStarvationSelfTest.java | 14 +-
.../GridServiceProcessorProxySelfTest.java | 2 +-
.../util/future/GridFutureAdapterSelfTest.java | 122 +-
.../nio/impl/GridNioFilterChainSelfTest.java | 18 +-
.../loadtests/nio/GridNioBenchmarkClient.java | 4 +-
.../p2p/GridP2PRecursionTaskSelfTest.java | 2 +-
...mmunicationSpiConcurrentConnectSelfTest.java | 37 +-
...cpCommunicationSpiMultithreadedSelfTest.java | 9 +-
...dTcpCommunicationSpiRecoveryAckSelfTest.java | 6 +-
...ationSpiRecoveryNoPairedConnectionsTest.java | 28 +
...GridTcpCommunicationSpiRecoverySelfTest.java | 8 +
...CommunicationRecoveryAckClosureSelfTest.java | 6 +-
.../junits/GridTestKernalContext.java | 4 +-
.../IgniteBinaryObjectsTestSuite.java | 10 +
.../IgniteCacheDataStructuresSelfTestSuite.java | 5 +-
.../IgniteCacheFullApiSelfTestSuite.java | 6 +
.../ignite/testsuites/IgniteCacheTestSuite.java | 15 +
.../testsuites/IgniteCacheTestSuite4.java | 3 +
.../testsuites/IgniteCacheTestSuite5.java | 1 +
.../IgniteSpiCommunicationSelfTestSuite.java | 2 +
modules/docker/1.8.0/Dockerfile | 46 +
modules/docker/1.8.0/run.sh | 51 +
modules/docker/Dockerfile | 6 +-
modules/extdata/p2p/pom.xml | 2 +-
.../extdata/uri/modules/uri-dependency/pom.xml | 2 +-
modules/extdata/uri/pom.xml | 2 +-
modules/flink/pom.xml | 2 +-
modules/flume/pom.xml | 2 +-
modules/gce/pom.xml | 2 +-
modules/geospatial/pom.xml | 2 +-
modules/hadoop/pom.xml | 9 +-
.../hadoop/io/PartiallyRawComparator.java | 33 +
.../org/apache/ignite/hadoop/io/RawMemory.java | 86 ++
.../hadoop/io/TextPartiallyRawComparator.java | 115 ++
.../apache/ignite/hadoop/io/package-info.java | 22 +
.../IgniteHadoopClientProtocolProvider.java | 70 +-
.../processors/hadoop/HadoopMapperUtils.java | 56 +
.../hadoop/impl/fs/HadoopFileSystemsUtils.java | 11 +
.../hadoop/impl/proto/HadoopClientProtocol.java | 55 +-
.../hadoop/impl/v2/HadoopV2Context.java | 11 +
...DelegatingPartiallyOffheapRawComparator.java | 54 +
.../processors/hadoop/impl/v2/HadoopV2Job.java | 22 +-
.../impl/v2/HadoopV2JobResourceManager.java | 25 +-
.../hadoop/impl/v2/HadoopV2MapTask.java | 10 +
.../hadoop/impl/v2/HadoopV2TaskContext.java | 21 +
.../processors/hadoop/io/OffheapRawMemory.java | 131 ++
.../hadoop/jobtracker/HadoopJobTracker.java | 8 +-
.../hadoop/mapreduce/MapReduceClient.java | 147 ++
.../hadoop/message/HadoopMessage.java | 27 -
.../hadoop/shuffle/HadoopShuffle.java | 112 +-
.../hadoop/shuffle/HadoopShuffleAck.java | 92 --
.../hadoop/shuffle/HadoopShuffleJob.java | 748 ++++++++--
.../hadoop/shuffle/HadoopShuffleLocalState.java | 67 +
.../hadoop/shuffle/HadoopShuffleMessage.java | 242 ----
.../shuffle/HadoopShuffleRemoteState.java | 61 +
.../shuffle/collections/HadoopMultimapBase.java | 5 +-
.../shuffle/collections/HadoopSkipList.java | 14 +-
.../shuffle/direct/HadoopDirectDataInput.java | 166 +++
.../shuffle/direct/HadoopDirectDataOutput.java | 221 +++
.../direct/HadoopDirectDataOutputContext.java | 100 ++
.../direct/HadoopDirectDataOutputState.java | 54 +
.../shuffle/streams/HadoopDataOutStream.java | 2 +-
.../child/HadoopChildProcessRunner.java | 12 +-
.../HadoopExternalCommunication.java | 4 +-
.../communication/HadoopIpcToNioAdapter.java | 2 +-
.../communication/HadoopMarshallerFilter.java | 6 +-
.../resources/META-INF/classnames.properties | 114 ++
.../hadoop/impl/HadoopAbstractSelfTest.java | 13 +-
.../impl/HadoopAbstractWordCountTest.java | 6 +-
.../hadoop/impl/HadoopFileSystemsTest.java | 9 +
.../hadoop/impl/HadoopJobTrackerSelfTest.java | 4 +-
.../impl/HadoopMapReduceEmbeddedSelfTest.java | 22 +-
.../impl/HadoopTaskExecutionSelfTest.java | 4 +-
.../hadoop/impl/HadoopTeraSortTest.java | 383 +++++
...opClientProtocolMultipleServersSelfTest.java | 93 +-
.../client/HadoopClientProtocolSelfTest.java | 232 +--
.../collections/HadoopAbstractMapTest.java | 6 +
.../HadoopConcurrentHashMultimapSelftest.java | 2 +-
.../collections/HadoopSkipListSelfTest.java | 16 +-
.../HadoopExternalTaskExecutionSelfTest.java | 2 +
.../testsuites/IgniteHadoopTestSuite.java | 3 +
modules/hibernate/pom.xml | 2 +-
modules/indexing/pom.xml | 2 +-
.../cache/query/GridCacheTwoStepQuery.java | 253 ++++
.../query/h2/DmlStatementsProcessor.java | 1083 ++++++++++++++
.../query/h2/GridH2ResultSetIterator.java | 3 +-
.../processors/query/h2/IgniteH2Indexing.java | 130 +-
.../query/h2/dml/FastUpdateArgument.java | 27 +
.../query/h2/dml/FastUpdateArguments.java | 53 +
.../query/h2/dml/KeyValueSupplier.java | 30 +
.../processors/query/h2/dml/UpdateMode.java | 36 +
.../processors/query/h2/dml/UpdatePlan.java | 128 ++
.../query/h2/dml/UpdatePlanBuilder.java | 486 +++++++
.../processors/query/h2/dml/package-info.java | 22 +
.../query/h2/opt/GridH2RowDescriptor.java | 23 +
.../query/h2/opt/GridH2TreeIndex.java | 2 +-
.../processors/query/h2/sql/DmlAstUtils.java | 616 ++++++++
.../processors/query/h2/sql/GridSqlArray.java | 8 +
.../processors/query/h2/sql/GridSqlConst.java | 6 +
.../processors/query/h2/sql/GridSqlDelete.java | 68 +
.../query/h2/sql/GridSqlFunction.java | 5 +-
.../processors/query/h2/sql/GridSqlInsert.java | 149 ++
.../processors/query/h2/sql/GridSqlKeyword.java | 46 +
.../processors/query/h2/sql/GridSqlMerge.java | 143 ++
.../processors/query/h2/sql/GridSqlQuery.java | 44 +-
.../query/h2/sql/GridSqlQueryParser.java | 323 ++++-
.../query/h2/sql/GridSqlQuerySplitter.java | 6 +-
.../processors/query/h2/sql/GridSqlSelect.java | 3 +-
.../query/h2/sql/GridSqlStatement.java | 64 +
.../processors/query/h2/sql/GridSqlUpdate.java | 105 ++
.../h2/twostep/GridReduceQueryExecutor.java | 61 +-
...niteCacheAbstractInsertSqlQuerySelfTest.java | 559 ++++++++
.../IgniteCacheAbstractSqlDmlQuerySelfTest.java | 243 ++++
.../IgniteCacheDeleteSqlQuerySelfTest.java | 106 ++
.../IgniteCacheInsertSqlQuerySelfTest.java | 203 +++
.../cache/IgniteCacheLargeResultSelfTest.java | 15 +-
.../cache/IgniteCacheMergeSqlQuerySelfTest.java | 153 ++
.../IgniteCacheUpdateSqlQuerySelfTest.java | 472 ++++++
.../IgniteCacheAtomicFieldsQuerySelfTest.java | 21 -
.../h2/GridIndexingSpiAbstractSelfTest.java | 37 +-
.../query/h2/sql/GridQueryParsingTest.java | 109 +-
.../IgniteCacheQuerySelfTestSuite.java | 143 +-
.../IgniteCacheQuerySelfTestSuite2.java | 111 +-
.../IgniteH2IndexingSpiTestSuite.java | 16 +-
modules/jcl/pom.xml | 2 +-
modules/jms11/pom.xml | 2 +-
modules/jta/pom.xml | 2 +-
modules/kafka/pom.xml | 2 +-
.../ignite/stream/kafka/KafkaStreamer.java | 50 +-
.../kafka/KafkaIgniteStreamerSelfTest.java | 36 +-
modules/log4j/pom.xml | 2 +-
modules/log4j2/pom.xml | 2 +-
modules/mesos/pom.xml | 2 +-
modules/mqtt/pom.xml | 2 +-
modules/osgi-karaf/pom.xml | 2 +-
modules/osgi-paxlogging/pom.xml | 2 +-
modules/osgi/pom.xml | 3 +-
.../include/ignite/binary/binary_raw_reader.h | 21 +
.../ignite/impl/binary/binary_reader_impl.h | 9 +-
.../src/impl/binary/binary_reader_impl.cpp | 20 +-
.../platforms/cpp/common/include/Makefile.am | 5 +-
.../common/include/ignite/common/concurrent.h | 90 +-
.../include/ignite/common/reference_impl.h | 286 ++++
.../cpp/common/include/ignite/reference.h | 564 ++++++++
.../cpp/common/project/vs/common.vcxproj | 2 +
.../common/project/vs/common.vcxproj.filters | 6 +
modules/platforms/cpp/configure.ac | 2 +-
modules/platforms/cpp/configure.acrel | 2 +-
modules/platforms/cpp/core-test/Makefile.am | 7 +-
.../core-test/config/cache-query-continuous.xml | 87 ++
.../cpp/core-test/config/cache-query.xml | 10 +
.../cpp/core-test/config/cache-test.xml | 1 +
.../platforms/cpp/core-test/config/invalid.xml | 39 +
.../cpp/core-test/project/vs/core-test.vcxproj | 13 +-
.../project/vs/core-test.vcxproj.filters | 11 +-
.../cpp/core-test/src/cache_query_test.cpp | 76 +-
.../cpp/core-test/src/continuous_query_test.cpp | 611 ++++++++
.../cpp/core-test/src/handle_registry_test.cpp | 18 +-
.../cpp/core-test/src/interop_test.cpp | 17 +-
.../cpp/core-test/src/reference_test.cpp | 412 ++++++
modules/platforms/cpp/core/Makefile.am | 1 +
.../cpp/core/include/ignite/cache/cache.h | 104 +-
.../cpp/core/include/ignite/cache/cache_entry.h | 40 +-
.../ignite/cache/event/cache_entry_event.h | 139 ++
.../cache/event/cache_entry_event_listener.h | 71 +
.../cache/query/continuous/continuous_query.h | 239 ++++
.../query/continuous/continuous_query_handle.h | 133 ++
.../core/include/ignite/impl/cache/cache_impl.h | 116 +-
.../continuous/continuous_query_handle_impl.h | 101 ++
.../query/continuous/continuous_query_impl.h | 351 +++++
.../core/include/ignite/impl/handle_registry.h | 62 +-
.../include/ignite/impl/ignite_environment.h | 34 +-
modules/platforms/cpp/core/namespaces.dox | 74 +-
.../platforms/cpp/core/project/vs/core.vcxproj | 7 +
.../cpp/core/project/vs/core.vcxproj.filters | 30 +
modules/platforms/cpp/core/src/ignition.cpp | 15 +-
.../cpp/core/src/impl/cache/cache_impl.cpp | 31 +
.../continuous/continuous_query_handle_impl.cpp | 96 ++
.../cpp/core/src/impl/handle_registry.cpp | 102 +-
.../cpp/core/src/impl/ignite_environment.cpp | 146 +-
modules/platforms/cpp/examples/Makefile.am | 1 +
modules/platforms/cpp/examples/configure.ac | 3 +-
.../continuous-query-example/Makefile.am | 58 +
.../config/continuous-query-example.xml | 52 +
.../project/vs/continuous-query-example.vcxproj | 110 ++
.../vs/continuous-query-example.vcxproj.filters | 35 +
.../src/continuous_query_example.cpp | 142 ++
.../examples/include/ignite/examples/person.h | 2 +-
.../odbc-example/config/example-odbc.xml | 38 +-
.../project/vs/odbc-example.vcxproj | 7 +-
.../project/vs/odbc-example.vcxproj.filters | 8 +
.../examples/odbc-example/src/odbc_example.cpp | 514 ++++++-
.../cpp/examples/project/vs/ignite-examples.sln | 6 +
.../putget-example/src/putget_example.cpp | 2 +-
.../query-example/src/query_example.cpp | 4 +-
.../cpp/jni/include/ignite/jni/exports.h | 3 -
.../platforms/cpp/jni/include/ignite/jni/java.h | 94 +-
modules/platforms/cpp/jni/project/vs/module.def | 6 +-
modules/platforms/cpp/jni/src/exports.cpp | 8 -
modules/platforms/cpp/jni/src/java.cpp | 419 +-----
.../odbc-test/config/queries-test-noodbc.xml | 4 +
.../cpp/odbc-test/config/queries-test.xml | 41 +
.../platforms/cpp/odbc-test/include/Makefile.am | 1 +
.../cpp/odbc-test/include/complex_type.h | 122 ++
.../cpp/odbc-test/project/vs/odbc-test.vcxproj | 5 +-
.../project/vs/odbc-test.vcxproj.filters | 3 +
.../src/application_data_buffer_test.cpp | 2 +-
.../cpp/odbc-test/src/queries_test.cpp | 437 +++++-
.../platforms/cpp/odbc/include/ignite/odbc.h | 14 +-
.../ignite/odbc/app/application_data_buffer.h | 4 +-
.../odbc/include/ignite/odbc/app/parameter.h | 2 +-
.../cpp/odbc/include/ignite/odbc/common_types.h | 3 +
.../cpp/odbc/include/ignite/odbc/message.h | 138 +-
.../odbc/include/ignite/odbc/query/data_query.h | 12 +-
.../cpp/odbc/include/ignite/odbc/query/query.h | 44 +-
.../cpp/odbc/include/ignite/odbc/statement.h | 83 +-
.../cpp/odbc/include/ignite/odbc/type_traits.h | 2 +-
.../cpp/odbc/include/ignite/odbc/utility.h | 11 +-
.../cpp/odbc/install/ignite-odbc-amd64.wxs | 2 +-
.../cpp/odbc/install/ignite-odbc-x86.wxs | 2 +-
.../odbc/src/app/application_data_buffer.cpp | 57 +-
.../platforms/cpp/odbc/src/app/parameter.cpp | 3 +-
modules/platforms/cpp/odbc/src/column.cpp | 41 +-
modules/platforms/cpp/odbc/src/connection.cpp | 23 +-
modules/platforms/cpp/odbc/src/entry_points.cpp | 32 +-
modules/platforms/cpp/odbc/src/odbc.cpp | 25 +-
.../odbc/src/query/column_metadata_query.cpp | 2 +-
.../platforms/cpp/odbc/src/query/data_query.cpp | 6 +-
.../cpp/odbc/src/query/foreign_keys_query.cpp | 2 +-
.../cpp/odbc/src/query/primary_keys_query.cpp | 2 +-
.../odbc/src/query/special_columns_query.cpp | 2 +-
.../cpp/odbc/src/query/table_metadata_query.cpp | 2 +-
.../cpp/odbc/src/query/type_info_query.cpp | 2 +-
modules/platforms/cpp/odbc/src/statement.cpp | 230 ++-
modules/platforms/cpp/odbc/src/type_traits.cpp | 3 +
modules/platforms/cpp/odbc/src/utility.cpp | 22 +-
modules/platforms/cpp/project/vs/ignite.slnrel | 3 +
.../platforms/cpp/project/vs/ignite_x86.slnrel | 3 +
.../Properties/AssemblyInfo.cs | 6 +-
.../Apache.Ignite.AspNet.nuspec | 4 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Binary/BinaryCompactFooterInteropTest.cs | 31 +-
.../Cache/Query/CacheLinqTest.cs | 21 +-
.../Query/CacheQueriesCodeConfigurationTest.cs | 17 +-
.../Cache/Query/CacheQueriesTest.cs | 8 +
.../Examples/Example.cs | 6 +-
.../Examples/ExamplesTest.cs | 7 +-
.../Apache.Ignite.Core.Tests/ExecutableTest.cs | 64 +-
.../Process/IgniteProcess.cs | 21 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Apache.Ignite.Core.Tests/ReconnectTest.cs | 4 +-
.../Services/ServicesTest.cs | 46 +-
.../Apache.Ignite.Core.Tests/TestUtils.cs | 3 +-
.../Apache.Ignite.Core.csproj | 2 +
.../dotnet/Apache.Ignite.Core/Binary/IBinary.cs | 3 +-
.../Apache.Ignite.Core/Cache/Query/QueryBase.cs | 15 +-
.../Apache.Ignite.Core/IgniteConfiguration.cs | 1 +
.../Impl/Binary/BinaryUtils.cs | 16 +
.../Impl/Binary/Io/BinaryStreamBase.cs | 4 +-
.../Apache.Ignite.Core/Impl/Cache/CacheImpl.cs | 29 +-
.../Apache.Ignite.Core/Impl/Common/Future.cs | 13 +-
.../Impl/Common/Listenable.cs | 49 +
.../Impl/Compute/ComputeImpl.cs | 4 +-
.../Impl/Compute/ComputeTaskHolder.cs | 14 +-
.../Apache.Ignite.Core/Impl/PlatformTarget.cs | 2 +-
.../Impl/Unmanaged/IgniteJniNativeMethods.cs | 8 -
.../Impl/Unmanaged/UnmanagedCallbackHandlers.cs | 79 +-
.../Impl/Unmanaged/UnmanagedCallbackOp.cs | 86 ++
.../Impl/Unmanaged/UnmanagedCallbacks.cs | 1229 ++++++++--------
.../Impl/Unmanaged/UnmanagedUtils.cs | 5 -
.../Properties/AssemblyInfo.cs | 6 +-
.../EntityFrameworkCacheTest.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Impl/CacheQueryExpressionVisitor.cs | 12 +-
.../Apache.Ignite.Linq/Impl/MethodVisitor.cs | 34 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
modules/platforms/dotnet/Apache.Ignite.sln | 7 +
.../Apache.Ignite/Config/ArgsConfigurator.cs | 7 +-
.../dotnet/Apache.Ignite/Config/Configurator.cs | 10 +
.../Apache.Ignite/Properties/AssemblyInfo.cs | 6 +-
modules/platforms/dotnet/DEVNOTES.txt | 12 +-
modules/platforms/dotnet/README.md | 150 ++
modules/platforms/dotnet/build.bat | 14 +
modules/platforms/dotnet/build.ps1 | 211 +++
.../Datagrid/MultiTieredCacheExample.cs | 8 +-
.../Misc/ClientReconnectExample.cs | 18 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
modules/rest-http/pom.xml | 2 +-
modules/scalar-2.10/pom.xml | 2 +-
modules/scalar/pom.xml | 2 +-
modules/schedule/pom.xml | 2 +-
modules/schema-import-db/pom.xml | 2 +-
modules/schema-import/pom.xml | 2 +-
modules/slf4j/pom.xml | 2 +-
modules/spark-2.10/pom.xml | 2 +-
modules/spark/pom.xml | 2 +-
modules/spring/pom.xml | 2 +-
modules/ssh/pom.xml | 2 +-
modules/storm/pom.xml | 2 +-
modules/tools/pom.xml | 2 +-
.../ignite/tools/classgen/ClassesGenerator.java | 8 +-
modules/twitter/pom.xml | 2 +-
modules/urideploy/pom.xml | 2 +-
modules/visor-console-2.10/pom.xml | 2 +-
modules/visor-console/pom.xml | 2 +-
modules/visor-plugins/pom.xml | 2 +-
modules/web-console/backend/app/agent.js | 32 +-
modules/web-console/backend/app/browser.js | 13 +
modules/web-console/backend/app/mongo.js | 6 +
.../backend/config/settings.json.sample | 7 -
modules/web-console/backend/index.js | 6 +-
modules/web-console/backend/middlewares/host.js | 7 +-
modules/web-console/backend/routes/agent.js | 4 +-
modules/web-console/backend/services/agents.js | 2 +-
modules/web-console/backend/services/caches.js | 2 +
.../docker/compose/backend/.dockerignore | 2 +
.../docker/compose/backend/Dockerfile | 6 +-
.../web-console/docker/compose/backend/build.sh | 4 +-
.../docker/compose/docker-compose.yml | 5 -
.../docker/compose/frontend/DockerfileBuild | 4 +-
.../docker/compose/frontend/build.sh | 6 +-
.../compose/frontend/nginx/web-console.conf | 9 +
.../web-console/docker/standalone/.dockerignore | 5 +
.../web-console/docker/standalone/Dockerfile | 10 +-
modules/web-console/docker/standalone/build.sh | 4 +-
.../docker/standalone/docker-compose.yml | 7 +-
.../docker/standalone/nginx/web-console.conf | 9 +
.../frontend/app/data/pom-dependencies.json | 2 +-
.../directives/ui-ace-pojos/ui-ace-pojos.jade | 2 +-
.../frontend/app/filters/duration.filter.js | 3 +
.../helpers/jade/form/form-field-checkbox.jade | 2 +-
.../helpers/jade/form/form-field-datalist.jade | 2 +-
.../helpers/jade/form/form-field-dropdown.jade | 2 +-
.../helpers/jade/form/form-field-number.jade | 2 +-
.../helpers/jade/form/form-field-password.jade | 2 +-
.../app/helpers/jade/form/form-field-text.jade | 2 +-
.../frontend/app/helpers/jade/mixins.jade | 24 +-
.../modules/configuration/generator/Beans.js | 6 +
.../generator/ConfigurationGenerator.js | 165 ++-
.../generator/JavaTransformer.service.js | 15 +-
.../generator/Properties.service.js | 19 +
.../generator/SpringTransformer.service.js | 22 +-
.../generator/defaults/cache.provider.js | 8 +
.../generator/defaults/cluster.provider.js | 2 +-
.../app/modules/form/field/tooltip.directive.js | 2 +-
.../app/modules/form/group/tooltip.directive.js | 2 +-
.../app/modules/form/panel/field.directive.js | 4 +-
.../app/modules/sql/scan-filter-input.jade | 2 +-
.../frontend/app/modules/sql/sql.controller.js | 6 +-
.../configuration/caches/client-near-cache.jade | 2 +-
.../configuration/caches/concurrency.jade | 2 +-
.../states/configuration/caches/general.jade | 2 +-
.../states/configuration/caches/memory.jade | 2 +-
.../configuration/caches/near-cache-client.jade | 2 +-
.../configuration/caches/near-cache-server.jade | 2 +-
.../configuration/caches/node-filter.jade | 2 +-
.../states/configuration/caches/query.jade | 2 +-
.../states/configuration/caches/rebalance.jade | 2 +-
.../states/configuration/caches/statistics.jade | 2 +-
.../states/configuration/caches/store.jade | 20 +-
.../states/configuration/clusters/atomic.jade | 2 +-
.../configuration/clusters/attributes.jade | 2 +-
.../states/configuration/clusters/binary.jade | 2 +-
.../configuration/clusters/cache-key-cfg.jade | 2 +-
.../configuration/clusters/checkpoint.jade | 8 +-
.../configuration/clusters/checkpoint/fs.jade | 2 +-
.../configuration/clusters/checkpoint/jdbc.jade | 41 +-
.../configuration/clusters/checkpoint/s3.jade | 229 +--
.../configuration/clusters/collision.jade | 12 +-
.../clusters/collision/custom.jade | 2 +-
.../clusters/collision/fifo-queue.jade | 2 +-
.../clusters/collision/job-stealing.jade | 2 +-
.../clusters/collision/priority-queue.jade | 2 +-
.../configuration/clusters/communication.jade | 2 +-
.../configuration/clusters/connector.jade | 2 +-
.../configuration/clusters/deployment.jade | 2 +-
.../configuration/clusters/discovery.jade | 2 +-
.../states/configuration/clusters/events.jade | 2 +-
.../states/configuration/clusters/failover.jade | 2 +-
.../states/configuration/clusters/general.jade | 2 +-
.../clusters/general/discovery/cloud.jade | 2 +-
.../clusters/general/discovery/google.jade | 2 +-
.../clusters/general/discovery/jdbc.jade | 3 +-
.../clusters/general/discovery/multicast.jade | 2 +-
.../clusters/general/discovery/s3.jade | 2 +-
.../clusters/general/discovery/shared.jade | 2 +-
.../clusters/general/discovery/vm.jade | 2 +-
.../clusters/general/discovery/zookeeper.jade | 2 +-
.../bounded-exponential-backoff.jade | 2 +-
.../discovery/zookeeper/retrypolicy/custom.jade | 2 +-
.../retrypolicy/exponential-backoff.jade | 2 +-
.../zookeeper/retrypolicy/forever.jade | 2 +-
.../zookeeper/retrypolicy/n-times.jade | 2 +-
.../zookeeper/retrypolicy/one-time.jade | 2 +-
.../zookeeper/retrypolicy/until-elapsed.jade | 2 +-
.../states/configuration/clusters/igfs.jade | 2 +-
.../configuration/clusters/load-balancing.jade | 2 +-
.../states/configuration/clusters/logger.jade | 2 +-
.../configuration/clusters/logger/custom.jade | 2 +-
.../configuration/clusters/logger/log4j.jade | 2 +-
.../configuration/clusters/logger/log4j2.jade | 2 +-
.../configuration/clusters/marshaller.jade | 2 +-
.../states/configuration/clusters/metrics.jade | 2 +-
.../states/configuration/clusters/odbc.jade | 2 +-
.../states/configuration/clusters/ssl.jade | 2 +-
.../states/configuration/clusters/swap.jade | 2 +-
.../states/configuration/clusters/thread.jade | 2 +-
.../states/configuration/clusters/time.jade | 2 +-
.../configuration/clusters/transactions.jade | 2 +-
.../states/configuration/domains/general.jade | 2 +-
.../states/configuration/domains/query.jade | 16 +-
.../states/configuration/domains/store.jade | 12 +-
.../modules/states/configuration/igfs/dual.jade | 2 +-
.../states/configuration/igfs/fragmentizer.jade | 2 +-
.../states/configuration/igfs/general.jade | 2 +-
.../modules/states/configuration/igfs/ipc.jade | 2 +-
.../modules/states/configuration/igfs/misc.jade | 6 +-
.../states/configuration/igfs/secondary.jade | 2 +-
.../configuration/summary/summary.controller.js | 12 +-
.../frontend/controllers/clusters-controller.js | 10 +
.../frontend/controllers/domains-controller.js | 8 +-
.../frontend/gulpfile.babel.js/tasks/jade.js | 4 +-
.../frontend/gulpfile.babel.js/tasks/test.js | 92 --
.../gulpfile.babel.js/webpack/common.js | 5 +-
.../webpack/environments/development.js | 5 +
modules/web-console/frontend/package.json | 2 +-
.../stylesheets/_font-awesome-custom.scss | 18 +
.../frontend/public/stylesheets/style.scss | 13 +-
.../frontend/views/configuration/caches.jade | 22 +-
.../frontend/views/configuration/clusters.jade | 50 +-
.../views/configuration/domains-import.jade | 4 +-
.../frontend/views/configuration/domains.jade | 8 +-
.../frontend/views/configuration/igfs.jade | 14 +-
.../frontend/views/configuration/summary.jade | 2 +-
.../frontend/views/includes/header.jade | 15 +-
.../frontend/views/settings/profile.jade | 2 +-
modules/web-console/frontend/views/sql/sql.jade | 2 +-
.../views/templates/agent-download.jade | 2 +-
.../frontend/views/templates/batch-confirm.jade | 2 +-
.../frontend/views/templates/clone.jade | 2 +-
.../frontend/views/templates/confirm.jade | 2 +-
modules/web-console/pom.xml | 2 +-
modules/web-console/web-agent/README.txt | 4 +-
.../web-agent/bin/ignite-web-agent.bat | 7 +-
.../web-agent/bin/ignite-web-agent.sh | 6 +-
modules/web-console/web-agent/pom.xml | 2 +-
.../console/agent/AgentConfiguration.java | 5 +-
.../ignite/console/agent/AgentLauncher.java | 6 +-
.../ignite/console/demo/AgentClusterDemo.java | 1 +
modules/web/ignite-appserver-test/pom.xml | 2 +-
modules/web/ignite-websphere-test/pom.xml | 2 +-
modules/web/pom.xml | 2 +-
.../config/benchmark-bin-identity.properties | 94 ++
.../config/benchmark-multicast.properties | 15 +
.../config/benchmark-sql-dml.properties | 72 +
modules/yardstick/config/ignite-base-config.xml | 71 +-
.../config/ignite-bin-multicast-config.xml | 86 ++
modules/yardstick/pom.xml | 2 +-
.../yardstick/IgniteAbstractBenchmark.java | 30 +
.../yardstick/IgniteBenchmarkArguments.java | 11 +
.../ignite/yardstick/IgniteBenchmarkUtils.java | 42 +-
.../apache/ignite/yardstick/PreloadLogger.java | 155 ++
.../yardstick/cache/CacheEntryEventProbe.java | 2 +-
.../cache/IgniteBinaryIdentityBenchmark.java | 108 ++
.../cache/IgniteBinaryIdentityGetBenchmark.java | 34 +
.../cache/IgniteBinaryIdentityPutBenchmark.java | 35 +
.../IgniteFieldsBinaryIdentityGetBenchmark.java | 30 +
.../IgniteFieldsBinaryIdentityPutBenchmark.java | 30 +
.../yardstick/cache/IgniteIoTestBenchmark.java | 73 +
.../IgniteLegacyBinaryIdentityGetBenchmark.java | 30 +
.../IgniteLegacyBinaryIdentityPutBenchmark.java | 30 +
...IgnitePutIfAbsentIndexedValue1Benchmark.java | 45 +
.../IgniteReplaceIndexedValue1Benchmark.java | 79 ++
.../cache/dml/IgniteSqlDeleteBenchmark.java | 83 ++
.../dml/IgniteSqlDeleteFilteredBenchmark.java | 88 ++
.../IgniteSqlInsertIndexedValue1Benchmark.java | 48 +
.../IgniteSqlInsertIndexedValue2Benchmark.java | 48 +
.../IgniteSqlInsertIndexedValue8Benchmark.java | 48 +
.../cache/dml/IgniteSqlMergeAllBenchmark.java | 82 ++
.../cache/dml/IgniteSqlMergeBenchmark.java | 42 +
.../IgniteSqlMergeIndexedValue1Benchmark.java | 43 +
.../IgniteSqlMergeIndexedValue2Benchmark.java | 43 +
.../IgniteSqlMergeIndexedValue8Benchmark.java | 43 +
.../cache/dml/IgniteSqlMergeQueryBenchmark.java | 116 ++
.../cache/dml/IgniteSqlUpdateBenchmark.java | 82 ++
.../dml/IgniteSqlUpdateFilteredBenchmark.java | 88 ++
.../IgniteCacheRandomOperationBenchmark.java | 22 +-
.../yardstick/cache/model/SampleValue.java | 2 +
.../io/IgniteIoTestAbstractBenchmark.java | 61 +
.../io/IgniteIoTestSendAllBenchmark.java | 32 +
.../io/IgniteIoTestSendRandomBenchmark.java | 35 +
modules/yarn/pom.xml | 2 +-
modules/zookeeper/pom.xml | 2 +-
pom.xml | 2 +-
853 files changed, 34702 insertions(+), 8345 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
index 366c59f,d72d041..a355d71
--- a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
@@@ -487,12 -493,9 +493,15 @@@ public final class IgniteSystemProperti
@Deprecated
public static final String IGNITE_BINARY_DONT_WRAP_TREE_STRUCTURES = "IGNITE_BINARY_DONT_WRAP_TREE_STRUCTURES";
+ /**
+ * When set to {@code true}, for consistent id will calculate by host name, without port, and you can use
+ * only one node for host in cluster.
+ */
+ public static final String IGNITE_CONSISTENT_ID_BY_HOST_WITHOUT_PORT = "IGNITE_CONSISTENT_ID_BY_HOST_WITHOUT_PORT";
+
+ /** */
+ public static final String IGNITE_IO_BALANCE_PERIOD = "IGNITE_IO_BALANCE_PERIOD";
+
/**
* When set to {@code true} fields are written by BinaryMarshaller in sorted order. Otherwise
* the natural order is used.
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/GridTopic.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/GridTopic.java
index d049912,7c1c484..c86e572
--- a/modules/core/src/main/java/org/apache/ignite/internal/GridTopic.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/GridTopic.java
@@@ -96,11 -99,11 +99,10 @@@ public enum GridTopic
/** */
TOPIC_TX,
-- /** */
- TOPIC_IO_TEST,
+ TOPIC_SNAPSHOT,
/** */
- TOPIC_BACKUP;
+ TOPIC_IO_TEST;
/** Enum values. */
private static final GridTopic[] VALS = values();
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
index 8c6cfa6,81b7312..2980eb7
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
@@@ -167,12 -172,8 +173,13 @@@ public class GridIoMessageFactory imple
Message msg = null;
switch (type) {
- case -38:
++ case -46:
+ msg = new GridChangeGlobalStateMessageResponse();
+
+ break;
- case -37:
- msg = new GridDhtAtomicSingleUpdateRequest();
++
+ case -45:
- msg = new BackupFinishedMessage();
++ msg = new SnapshotFinishedMessage();
break;
@@@ -801,7 -832,7 +838,7 @@@
break;
- // [-3..119] [124-127] [-23..-29] [-36..-37] - this
- // [-3..119] [124..127] [-36..-45]- this
++ // [-3..119] [124..127] [-23..-27] [-36..-45]- this
// [120..123] - DR
// [-4..-22, -30..-35] - SQL
default:
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/SnapshotFinishedMessage.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/SnapshotFinishedMessage.java
index 614ef6b,0000000..a62d339
mode 100644,000000..100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/SnapshotFinishedMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/SnapshotFinishedMessage.java
@@@ -1,136 -1,0 +1,136 @@@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.ignite.internal.pagemem.snapshot;
+
+import java.nio.ByteBuffer;
+import org.apache.ignite.plugin.extensions.communication.Message;
+import org.apache.ignite.plugin.extensions.communication.MessageReader;
+import org.apache.ignite.plugin.extensions.communication.MessageWriter;
+
+/**
+ * Message indicating that snapshot has been finished on a single node.
+ */
+public class SnapshotFinishedMessage implements Message {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** */
+ private long snapshotId;
+
+ /** */
+ private boolean success;
+
+ /**
+ *
+ */
+ public SnapshotFinishedMessage() {
+ }
+
+ /**
+ * @param snapshotId Snapshot ID.
+ */
+ public SnapshotFinishedMessage(long snapshotId, boolean success) {
+ this.snapshotId = snapshotId;
+ this.success = success;
+ }
+
+ /**
+ * @return Snapshot ID.
+ */
+ public long snapshotId() {
+ return snapshotId;
+ }
+
+ public boolean success() {
+ return success;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
+ writer.setBuffer(buf);
+
+ if (!writer.isHeaderWritten()) {
+ if (!writer.writeHeader(directType(), fieldsCount()))
+ return false;
+
+ writer.onHeaderWritten();
+ }
+
+ switch (writer.state()) {
+ case 0:
+ if (!writer.writeLong("snapshotId", snapshotId))
+ return false;
+
+ writer.incrementState();
+
+ case 1:
+ if (!writer.writeBoolean("success", success))
+ return false;
+
+ writer.incrementState();
+
+ }
+
+ return true;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
+ reader.setBuffer(buf);
+
+ if (!reader.beforeMessageRead())
+ return false;
+
+ switch (reader.state()) {
+ case 0:
+ snapshotId = reader.readLong("snapshotId");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 1:
+ success = reader.readBoolean("success");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ }
+
+ return reader.afterMessageRead(SnapshotFinishedMessage.class);
+ }
+
+ /** {@inheritDoc} */
+ @Override public byte directType() {
- return -27;
++ return -45;
+ }
+
+ /** {@inheritDoc} */
+ @Override public byte fieldsCount() {
+ return 2;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void onAckReceived() {
+ // No-op
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
index 9115a16,15c060a..6a9ea1b
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
@@@ -56,8 -58,9 +58,9 @@@ import org.apache.ignite.internal.Ignit
import org.apache.ignite.internal.cluster.ClusterTopologyCheckedException;
import org.apache.ignite.internal.events.DiscoveryCustomEvent;
import org.apache.ignite.internal.managers.eventstorage.GridLocalEventListener;
-import org.apache.ignite.internal.pagemem.backup.StartFullBackupAckDiscoveryMessage;
+import org.apache.ignite.internal.pagemem.snapshot.StartFullSnapshotAckDiscoveryMessage;
import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
+ import org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache;
import org.apache.ignite.internal.processors.cache.distributed.dht.GridClientPartitionTopology;
import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionState;
import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionTopology;
@@@ -862,17 -885,31 +863,23 @@@ public class GridCachePartitionExchange
ready = cacheCtx.started();
if (ready) {
- GridDhtPartitionFullMap locMap = cacheCtx.topology().partitionMap(true);
+ GridAffinityAssignmentCache affCache = cacheCtx.affinity().affinityCache();
+
+ if (affCache != null) {
+ GridDhtPartitionFullMap locMap = cacheCtx.topology().partitionMap(true);
- if (useOldApi) {
- locMap = new GridDhtPartitionFullMap(locMap.nodeId(),
- locMap.nodeOrder(),
- locMap.updateSequence(),
- locMap,
- true);
- }
-
- addFullPartitionsMap(m,
- dupData,
- compress,
- cacheCtx.cacheId(),
- locMap,
- affCache.similarAffinityKey());
+ addFullPartitionsMap(m,
+ dupData,
+ compress,
+ cacheCtx.cacheId(),
+ locMap,
+ cacheCtx.affinity().affinityCache().similarAffinityKey());
- if (exchId != null)
- m.addPartitionUpdateCounters(cacheCtx.cacheId(), cacheCtx.topology().updateCounters(true));
+ if (exchId != null)
+ m.addPartitionUpdateCounters(cacheCtx.cacheId(), cacheCtx.topology().updateCounters(true));
+ }
+ else
+ assert cctx.cacheContext(cacheCtx.cacheId()) == null : cacheCtx.name();
}
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedTtlCleanupManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManager.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManager.java
index b3871e6,abe1b45..a336a80
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManager.java
@@@ -20,7 -21,7 +21,8 @@@ import java.util.concurrent.atomic.Atom
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteException;
import org.apache.ignite.configuration.CacheConfiguration;
+import org.apache.ignite.internal.processors.cache.distributed.near.GridNearCacheAdapter;
+ import org.apache.ignite.internal.IgniteInterruptedCheckedException;
import org.apache.ignite.internal.processors.cache.distributed.near.GridNearCacheEntry;
import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
import org.apache.ignite.internal.util.GridConcurrentSkipListSet;
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridChangeGlobalStateMessageResponse.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridChangeGlobalStateMessageResponse.java
index f871245,0000000..4a7cfb7
mode 100644,000000..100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridChangeGlobalStateMessageResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridChangeGlobalStateMessageResponse.java
@@@ -1,177 -1,0 +1,177 @@@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.processors.cache;
+
+import java.nio.ByteBuffer;
+import java.util.UUID;
+import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.internal.GridDirectTransient;
+import org.apache.ignite.internal.util.typedef.internal.CU;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.plugin.extensions.communication.MessageReader;
+import org.apache.ignite.plugin.extensions.communication.MessageWriter;
+
+/**
+ *
+ */
+public class GridChangeGlobalStateMessageResponse extends GridCacheMessage{
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Request id. */
+ private UUID requestId;
+
+ /** Activation error. */
+ @GridDirectTransient
+ private Throwable err;
+
+ /** Serialized activation error. */
+ private byte[] errBytes;
+
+ /**
+ * Default constructor.
+ */
+ public GridChangeGlobalStateMessageResponse() {
+ /* No-op. */
+ }
+
+ /**
+ *
+ */
+ public GridChangeGlobalStateMessageResponse(UUID requestId, Throwable err) {
+ this.requestId = requestId;
+ this.err = err;
+ }
+
+ /**
+ *
+ */
+ public UUID getRequestId() {
+ return requestId;
+ }
+
+ /**
+ *
+ */
+ public Throwable getError() {
+ return err;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void prepareMarshal(GridCacheSharedContext ctx) throws IgniteCheckedException {
+ super.prepareMarshal(ctx);
+
+ if (err != null && errBytes == null)
+ errBytes = CU.marshal(ctx, false, err);
+
+ }
+
+ /** {@inheritDoc} */
+ @Override public void finishUnmarshal(GridCacheSharedContext ctx, ClassLoader ldr) throws IgniteCheckedException {
+ super.finishUnmarshal(ctx, ldr);
+
+ if (errBytes != null && err == null)
+ err = ctx.marshaller().unmarshal(errBytes, U.resolveClassLoader(ldr, ctx.gridConfig()));
+
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
+ writer.setBuffer(buf);
+
+ if (!super.writeTo(buf, writer))
+ return false;
+
+ if (!writer.isHeaderWritten()) {
+ if (!writer.writeHeader(directType(), fieldsCount()))
+ return false;
+
+ writer.onHeaderWritten();
+ }
+
+ switch (writer.state()) {
+ case 3:
+ if (!writer.writeByteArray("errBytes", errBytes))
+ return false;
+
+ writer.incrementState();
+
+ case 4:
+ if (!writer.writeUuid("requestId", requestId))
+ return false;
+
+ writer.incrementState();
+
+ }
+
+ return true;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
+ reader.setBuffer(buf);
+
+ if (!reader.beforeMessageRead())
+ return false;
+
+ if (!super.readFrom(buf, reader))
+ return false;
+
+ switch (reader.state()) {
+ case 3:
+ errBytes = reader.readByteArray("errBytes");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 4:
+ requestId = reader.readUuid("requestId");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ }
+
+ return reader.afterMessageRead(GridChangeGlobalStateMessageResponse.class);
+ }
+
+ /** {@inheritDoc} */
+ @Override public byte directType() {
- return -38;
++ return -46;
+ }
+
+ /** {@inheritDoc} */
+ @Override public byte fieldsCount() {
+ return 5;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return false;
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(GridChangeGlobalStateMessageResponse.class, this, super.toString());
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
index e78c1c5,47a8103..ea3b7c6
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
@@@ -680,10 -672,10 +671,10 @@@ import static org.apache.ignite.interna
if (locPart != null) {
GridDhtPartitionState state = locPart.state();
- if (state == MOVING && cctx.shared().cache().globalState() == CacheState.ACTIVE) {
+ if (state == MOVING && cctx.kernalContext().state().active()) {
locPart.rent(false);
- updateLocal(p, loc.id(), locPart.state(), updateSeq);
+ updateSeq = updateLocal(p, locPart.state(), updateSeq);
changed = true;
@@@ -1811,18 -1863,6 +1823,18 @@@
}
/** {@inheritDoc} */
+ @Nullable @Override public GridDhtPartitionMap2 partitions(UUID nodeId) {
- lock.readLock().lock();
++ lock.readLock().lock();
+
- try {
- return node2part.get(nodeId);
- }
- finally {
- lock.readLock().unlock();
++ try {
++ return node2part.get(nodeId);
++ }
++ finally {
++ lock.readLock().unlock();
++ }
+ }
- }
+
+ /** {@inheritDoc} */
@Override public Map<Integer, T2<Long, Long>> updateCounters(boolean skipZeros) {
lock.readLock().lock();
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicSingleUpdateRequest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractSingleUpdateRequest.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractSingleUpdateRequest.java
index e127afb,c3cceae..9160865
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractSingleUpdateRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractSingleUpdateRequest.java
@@@ -65,7 -65,6 +65,7 @@@ public abstract class GridNearAtomicAbs
/** Return value flag. */
private static final int RET_VAL_FLAG_MASK = 0x40;
- /** Return value flag. */
++ /** Recovery flag mask. */
private static final int RECOVERY_FLAG_MASK = 0x80;
/** Target node ID. */
@@@ -391,7 -378,15 +379,19 @@@
setFlag(val, HAS_PRIMARY_FLAG_MASK);
}
+ /** {@inheritDoc} */
+ @Override public boolean recovery() {
+ return isFlag(RECOVERY_FLAG_MASK);
+ }
+
++ /**
++ * Sets recovery flag value.
++ */
+ public void recovery(boolean val) {
+ setFlag(val, RECOVERY_FLAG_MASK);
+ }
+
+ /** {@inheritDoc} */
@Nullable @Override public CacheEntryPredicate[] filter() {
return NO_FILTER;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateRequest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamProcessor.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/GridCacheAtomicSequenceImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformProcessorImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryIndexing.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java
index bc31b09,3f04785..8486d7f
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java
@@@ -435,8 -435,15 +436,15 @@@ public class GridRestProcessor extends
}
/** {@inheritDoc} */
- @Override public void start() throws IgniteCheckedException {
+ @Override public void start(boolean activeOnStart) throws IgniteCheckedException {
if (isRestEnabled()) {
+ if (notStartOnClient()) {
+ U.quietAndInfo(log, "REST protocols do not start on client node. " +
+ "To start the protocols on client node set '-DIGNITE_REST_START_ON_CLIENT=true' system property.");
+
+ return;
+ }
+
// Register handlers.
addHandler(new GridCacheCommandHandler(ctx));
addHandler(new GridTaskCommandHandler(ctx));
@@@ -472,8 -479,15 +480,15 @@@
}
}
+ /**
+ * @return {@code True} if rest processor should not start on client node.
+ */
+ private boolean notStartOnClient() {
+ return ctx.clientNode() && !IgniteSystemProperties.getBoolean(IGNITE_REST_START_ON_CLIENT);
+ }
+
/** {@inheritDoc} */
- @Override public void onKernalStart() throws IgniteCheckedException {
+ @Override public void onKernalStart(boolean activeOnStart) throws IgniteCheckedException {
if (isRestEnabled()) {
for (GridRestProtocol proto : protos)
proto.onKernalStart();
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/protocols/tcp/GridTcpRestNioListener.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/resources/META-INF/classnames.properties
----------------------------------------------------------------------
diff --cc modules/core/src/main/resources/META-INF/classnames.properties
index 6d3dbe8,ac3a992..5df5aea
--- a/modules/core/src/main/resources/META-INF/classnames.properties
+++ b/modules/core/src/main/resources/META-INF/classnames.properties
@@@ -700,8 -713,6 +713,7 @@@ org.apache.ignite.internal.processors.c
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture$1
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture$2
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture$3
+org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture$4
- org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicFullUpdateRequest
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateRequest
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateResponse
org.apache.ignite.internal.processors.cache.distributed.dht.colocated.GridDhtColocatedCache
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManagerEvictionSelfTest.java
----------------------------------------------------------------------
diff --cc modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManagerEvictionSelfTest.java
index c79f30c,0d96e17..c2e48a7
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManagerEvictionSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManagerEvictionSelfTest.java
@@@ -17,10 -17,8 +17,11 @@@
package org.apache.ignite.internal.processors.cache;
+import java.util.concurrent.TimeUnit;
+import javax.cache.expiry.CreatedExpiryPolicy;
+import javax.cache.expiry.Duration;
import org.apache.ignite.IgniteCache;
+ import org.apache.ignite.IgniteException;
import org.apache.ignite.Ignition;
import org.apache.ignite.cache.CacheMemoryMode;
import org.apache.ignite.cache.CacheMode;
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiMultithreadedSelfTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridTestKernalContext.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite5.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
index 67cbcc8,1445e16..c82c73d
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
@@@ -92,7 -91,7 +94,8 @@@ import org.apache.ignite.internal.proce
import org.apache.ignite.internal.processors.query.GridQueryIndexing;
import org.apache.ignite.internal.processors.query.GridQueryProperty;
import org.apache.ignite.internal.processors.query.GridQueryTypeDescriptor;
+ import org.apache.ignite.internal.processors.query.IgniteSQLException;
+import org.apache.ignite.internal.processors.query.h2.database.H2PkHashIndex;
import org.apache.ignite.internal.processors.query.h2.opt.GridH2DefaultTableEngine;
import org.apache.ignite.internal.processors.query.h2.database.H2RowFactory;
import org.apache.ignite.internal.processors.query.h2.database.H2TreeIndex;
@@@ -139,9 -139,9 +143,10 @@@ import org.apache.ignite.spi.indexing.I
import org.h2.api.ErrorCode;
import org.h2.api.JavaObjectSerializer;
import org.h2.command.CommandInterface;
+ import org.h2.command.Prepared;
import org.h2.engine.Session;
import org.h2.engine.SysProperties;
+import org.h2.index.Cursor;
import org.h2.index.Index;
import org.h2.index.SpatialIndex;
import org.h2.jdbc.JdbcConnection;
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
index 7548bce,51f8bef..4576cec
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
@@@ -590,8 -584,8 +584,6 @@@ public class GridReduceQueryExecutor
mapQrys.add(new GridCacheSqlQuery("EXPLAIN " + mapQry.query(), mapQry.parameters()));
}
- boolean retry = false;
- IgniteProductVersion minNodeVer = cctx.shared().exchange().minimumNodeVersion(topVer);
--
final boolean distributedJoins = qry.distributedJoins();
cancel.set(new Runnable() {
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite.java
index 529b594,b48d253..fbbdf76
--- a/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite.java
@@@ -146,11 -172,14 +172,16 @@@ public class IgniteCacheQuerySelfTestSu
suite.addTestSuite(IgniteCacheJoinPartitionedAndReplicatedTest.class);
suite.addTestSuite(IgniteCacheDistributedJoinNoIndexTest.class);
suite.addTestSuite(IgniteCrossCachesJoinsQueryTest.class);
- suite.addTestSuite(IgniteCacheCrossCacheJoinRandomTest.class);
- suite.addTestSuite(IgniteCacheDistributedJoinCustomAffinityMapper.class);
+ suite.addTestSuite(IgniteCacheMultipleIndexedTypesTest.class);
+
+ suite.addTestSuite(IgniteCacheDistributedJoinCustomAffinityMapper.class);
+
+ suite.addTestSuite(IgniteCacheMergeSqlQuerySelfTest.class);
+ suite.addTestSuite(IgniteCacheInsertSqlQuerySelfTest.class);
+ suite.addTestSuite(IgniteCacheUpdateSqlQuerySelfTest.class);
+ suite.addTestSuite(IgniteCacheDeleteSqlQuerySelfTest.class);
+
suite.addTestSuite(IgniteBinaryObjectQueryArgumentsTest.class);
suite.addTestSuite(IgniteBinaryObjectQueryArgumentsOffheapTest.class);
suite.addTestSuite(IgniteBinaryObjectQueryArgumentsOffheapLocalTest.class);
http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/demo/AgentClusterDemo.java
----------------------------------------------------------------------
[42/50] [abbrv] ignite git commit: ignite-gg-11650 Stabilize
8.0.2.ea1 fix cache template config
Posted by ag...@apache.org.
ignite-gg-11650 Stabilize 8.0.2.ea1 fix cache template config
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/e8f6a540
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/e8f6a540
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/e8f6a540
Branch: refs/heads/ignite-3477
Commit: e8f6a540a95728c04da921b84b8c7376c35e47a2
Parents: cb56333
Author: Dmitriy Govorukhin <dg...@gridgain.com>
Authored: Mon Dec 26 19:37:43 2016 +0300
Committer: Dmitriy Govorukhin <dg...@gridgain.com>
Committed: Mon Dec 26 19:37:43 2016 +0300
----------------------------------------------------------------------
.../processors/cache/GridCacheProcessor.java | 35 ++++----------------
1 file changed, 7 insertions(+), 28 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e8f6a540/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 554d062..4f299dd 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
@@ -645,8 +645,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
* @param cfg Cache configuration.
* @throws IgniteCheckedException If failed.
*/
- private void registerCache(CacheConfiguration<?, ?> cfg)
- throws IgniteCheckedException {
+ private void registerCache(CacheConfiguration<?, ?> cfg) throws IgniteCheckedException {
cloneCheckSerializable(cfg);
CacheObjectContext cacheObjCtx = ctx.cacheObjects().contextForCache(cfg);
@@ -784,9 +783,8 @@ public class GridCacheProcessor extends GridProcessorAdapter {
activeOnStart = currentStatus;
}
- if (activeOnStart)
- if (!ctx.clientNode())
- sharedCtx.database().lock();
+ if (activeOnStart && !ctx.clientNode() && !ctx.isDaemon())
+ sharedCtx.database().lock();
//must start database before start first cache
sharedCtx.database().onKernalStart(false);
@@ -832,7 +830,6 @@ public class GridCacheProcessor extends GridProcessorAdapter {
}
}
}
- //todo if in active caches not started on start
finally {
cacheStartedLatch.countDown();
}
@@ -849,10 +846,6 @@ public class GridCacheProcessor extends GridProcessorAdapter {
for (GridCacheAdapter<?, ?> cache : caches.values())
onKernalStart(cache);
- //todo
- /* if (!ctx.state().active())
- return;*/
-
ctx.marshallerContext().onMarshallerCacheStarted(ctx);
if (!ctx.config().isDaemon())
@@ -1024,19 +1017,6 @@ public class GridCacheProcessor extends GridProcessorAdapter {
onKernalStop(entry.getValue(), cancel);
}
}
-
- //todo chek it
- /*cancelFutures();
-
- List<? extends GridCacheSharedManager<?, ?>> sharedMgrs = sharedCtx.managers();
-
- for (ListIterator<? extends GridCacheSharedManager<?, ?>> it = sharedMgrs.listIterator(sharedMgrs.size());
- it.hasPrevious(); ) {
- GridCacheSharedManager<?, ?> mgr = it.previous();
-
- if (mgr != exch)
- mgr.onKernalStop(cancel);
- }*/
}
/** {@inheritDoc} */
@@ -2458,9 +2438,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
* @return Future that will be completed when all caches are deployed.
*/
public IgniteInternalFuture<?> dynamicStartCaches(
- Collection<CacheConfiguration> ccfgList,
- boolean failIfExists,
- boolean checkThreadTx
+ Collection<CacheConfiguration> ccfgList, boolean failIfExists, boolean checkThreadTx
) {
return dynamicStartCaches(ccfgList, CacheType.USER, failIfExists, checkThreadTx);
}
@@ -2681,6 +2659,8 @@ public class GridCacheProcessor extends GridProcessorAdapter {
req.startCacheConfiguration(cfg);
+ req.template(cfg.getName() != null && cfg.getName().endsWith("*"));
+
req.nearCacheConfiguration(cfg.getNearConfiguration());
req.deploymentId(IgniteUuid.randomUuid());
@@ -2704,8 +2684,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
*/
@SuppressWarnings("TypeMayBeWeakened")
private Collection<DynamicCacheStartFuture> initiateCacheChanges(
- Collection<DynamicCacheChangeRequest> reqs,
- boolean failIfExists
+ Collection<DynamicCacheChangeRequest> reqs, boolean failIfExists
) {
Collection<DynamicCacheStartFuture> res = new ArrayList<>(reqs.size());
[21/50] [abbrv] ignite git commit: Merge with master - WIP.
Posted by ag...@apache.org.
Merge with master - WIP.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/2e55963e
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/2e55963e
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/2e55963e
Branch: refs/heads/ignite-3477
Commit: 2e55963eb987f4fb24b716178f6408782b590f28
Parents: 100f9bb 41dddb8
Author: Ilya Lantukh <il...@gridgain.com>
Authored: Thu Dec 22 15:50:58 2016 +0300
Committer: Ilya Lantukh <il...@gridgain.com>
Committed: Thu Dec 22 15:50:58 2016 +0300
----------------------------------------------------------------------
.gitignore | 1 +
assembly/release-base.xml | 5 +
bin/ignite.sh | 9 +
config/dotnet/default-dotnet.xml | 45 +
examples/pom-standalone.xml | 6 +
modules/cassandra/pom.xml | 24 +-
.../processors/cache/GridCacheAdapter.java | 748 +++++------
.../GridCachePartitionExchangeManager.java | 39 +-
.../processors/cache/GridCacheProcessor.java | 2 +-
.../processors/cache/GridCacheUtils.java | 10 +-
.../processors/cache/IgniteCacheProxy.java | 8 -
.../distributed/GridCacheTxRecoveryFuture.java | 4 +-
.../GridDistributedTxFinishResponse.java | 6 -
.../cache/distributed/dht/GridDhtGetFuture.java | 2 +-
.../distributed/dht/GridDhtLockFuture.java | 4 +-
.../distributed/dht/GridDhtTxFinishFuture.java | 74 +-
.../cache/distributed/dht/GridDhtTxLocal.java | 125 +-
.../distributed/dht/GridDhtTxLocalAdapter.java | 7 +-
.../distributed/dht/GridDhtTxPrepareFuture.java | 4 +-
.../dht/atomic/GridDhtAtomicCache.java | 448 ++++---
.../dht/colocated/GridDhtColocatedCache.java | 13 -
.../colocated/GridDhtColocatedLockFuture.java | 4 +-
.../GridDhtPartitionsExchangeFuture.java | 6 +-
.../distributed/near/GridNearAtomicCache.java | 65 +-
.../distributed/near/GridNearLockFuture.java | 4 +-
...arOptimisticSerializableTxPrepareFuture.java | 4 +-
.../near/GridNearOptimisticTxPrepareFuture.java | 15 +-
.../GridNearPessimisticTxPrepareFuture.java | 4 +-
.../near/GridNearTxFinishFuture.java | 46 +-
.../cache/distributed/near/GridNearTxLocal.java | 48 +-
.../local/atomic/GridLocalAtomicCache.java | 177 +--
.../cache/store/CacheStoreManager.java | 4 +-
.../store/GridCacheStoreManagerAdapter.java | 34 +-
.../cache/store/GridCacheWriteBehindStore.java | 6 +-
.../cache/transactions/IgniteTxHandler.java | 13 +-
.../transactions/IgniteTxLocalAdapter.java | 30 +-
.../cache/transactions/IgniteTxManager.java | 7 +-
.../GridCacheAtomicSequenceImpl.java | 12 +-
.../processors/hadoop/HadoopClassLoader.java | 11 +
.../processors/hadoop/HadoopJobProperty.java | 16 +-
.../processors/hadoop/HadoopTaskContext.java | 8 +
.../io/PartiallyOffheapRawComparatorEx.java | 33 +
.../cache/PlatformCacheEntryFilterImpl.java | 4 +-
.../cache/PlatformCacheEntryProcessorImpl.java | 43 +-
.../affinity/PlatformAffinityFunction.java | 52 +-
.../callback/PlatformCallbackGateway.java | 266 ++--
.../platform/callback/PlatformCallbackOp.java | 206 +++
.../callback/PlatformCallbackUtils.java | 544 +-------
.../platform/compute/PlatformAbstractJob.java | 2 +-
.../platform/compute/PlatformAbstractTask.java | 15 +-
.../platform/compute/PlatformClosureJob.java | 12 +-
.../platform/compute/PlatformFullJob.java | 15 +-
.../platform/compute/PlatformFullTask.java | 18 +-
.../PlatformStreamReceiverImpl.java | 3 +
.../dotnet/PlatformDotNetCacheStore.java | 6 +-
.../services/PlatformAbstractService.java | 25 +-
.../platform/utils/PlatformFutureUtils.java | 4 +-
.../platform/utils/PlatformUtils.java | 8 +-
.../util/future/GridCompoundFuture.java | 56 +-
.../ignite/spi/discovery/tcp/ServerImpl.java | 2 +-
.../spi/discovery/tcp/TcpDiscoverySpi.java | 14 +-
.../GridCacheMissingCommitVersionSelfTest.java | 6 +-
.../IgniteTxStoreExceptionAbstractSelfTest.java | 1 +
...achePartitionedAtomicSequenceTxSelfTest.java | 169 +++
.../CacheLockReleaseNodeLeaveTest.java | 135 ++
...nabledMultiNodeLongTxTimeoutFullApiTest.java | 2 +-
...achePartitionedMultiNodeFullApiSelfTest.java | 37 +-
...lockMessageSystemPoolStarvationSelfTest.java | 14 +-
.../IgniteCacheDataStructuresSelfTestSuite.java | 2 +
modules/hadoop/pom.xml | 7 +
.../hadoop/io/PartiallyRawComparator.java | 33 +
.../org/apache/ignite/hadoop/io/RawMemory.java | 86 ++
.../hadoop/io/TextPartiallyRawComparator.java | 115 ++
.../apache/ignite/hadoop/io/package-info.java | 22 +
.../IgniteHadoopClientProtocolProvider.java | 70 +-
.../hadoop/impl/fs/HadoopFileSystemsUtils.java | 11 +
.../hadoop/impl/proto/HadoopClientProtocol.java | 55 +-
...DelegatingPartiallyOffheapRawComparator.java | 54 +
.../processors/hadoop/impl/v2/HadoopV2Job.java | 22 +-
.../impl/v2/HadoopV2JobResourceManager.java | 25 +-
.../hadoop/impl/v2/HadoopV2TaskContext.java | 21 +
.../processors/hadoop/io/OffheapRawMemory.java | 131 ++
.../hadoop/mapreduce/MapReduceClient.java | 147 +++
.../hadoop/shuffle/HadoopShuffleJob.java | 2 +-
.../shuffle/collections/HadoopMultimapBase.java | 5 +-
.../shuffle/collections/HadoopSkipList.java | 14 +-
.../hadoop/impl/HadoopAbstractSelfTest.java | 13 +-
.../impl/HadoopAbstractWordCountTest.java | 6 +-
.../hadoop/impl/HadoopFileSystemsTest.java | 9 +
.../hadoop/impl/HadoopJobTrackerSelfTest.java | 4 +-
.../impl/HadoopTaskExecutionSelfTest.java | 4 +-
.../hadoop/impl/HadoopTeraSortTest.java | 383 ++++++
...opClientProtocolMultipleServersSelfTest.java | 93 +-
.../client/HadoopClientProtocolSelfTest.java | 232 ++--
.../collections/HadoopAbstractMapTest.java | 6 +
.../collections/HadoopSkipListSelfTest.java | 14 +-
.../HadoopExternalTaskExecutionSelfTest.java | 2 +
.../testsuites/IgniteHadoopTestSuite.java | 3 +
.../cache/IgniteCacheLargeResultSelfTest.java | 15 +-
.../IgniteCacheQuerySelfTestSuite.java | 130 +-
.../IgniteCacheQuerySelfTestSuite2.java | 111 +-
.../IgniteH2IndexingSpiTestSuite.java | 16 +-
.../include/ignite/binary/binary_raw_reader.h | 21 +
.../ignite/impl/binary/binary_reader_impl.h | 9 +-
.../src/impl/binary/binary_reader_impl.cpp | 17 +
.../platforms/cpp/common/include/Makefile.am | 5 +-
.../common/include/ignite/common/concurrent.h | 90 +-
.../include/ignite/common/reference_impl.h | 286 ++++
.../cpp/common/include/ignite/reference.h | 564 ++++++++
.../cpp/common/project/vs/common.vcxproj | 2 +
.../common/project/vs/common.vcxproj.filters | 6 +
modules/platforms/cpp/core-test/Makefile.am | 7 +-
.../core-test/config/cache-query-continuous.xml | 87 ++
.../cpp/core-test/config/cache-test.xml | 1 +
.../platforms/cpp/core-test/config/invalid.xml | 39 +
.../cpp/core-test/project/vs/core-test.vcxproj | 13 +-
.../project/vs/core-test.vcxproj.filters | 11 +-
.../cpp/core-test/src/cache_query_test.cpp | 76 +-
.../cpp/core-test/src/continuous_query_test.cpp | 611 +++++++++
.../cpp/core-test/src/handle_registry_test.cpp | 18 +-
.../cpp/core-test/src/interop_test.cpp | 17 +-
.../cpp/core-test/src/reference_test.cpp | 412 ++++++
modules/platforms/cpp/core/Makefile.am | 1 +
.../cpp/core/include/ignite/cache/cache.h | 104 +-
.../cpp/core/include/ignite/cache/cache_entry.h | 40 +-
.../ignite/cache/event/cache_entry_event.h | 139 ++
.../cache/event/cache_entry_event_listener.h | 71 +
.../cache/query/continuous/continuous_query.h | 239 ++++
.../query/continuous/continuous_query_handle.h | 133 ++
.../core/include/ignite/impl/cache/cache_impl.h | 116 +-
.../continuous/continuous_query_handle_impl.h | 101 ++
.../query/continuous/continuous_query_impl.h | 351 +++++
.../core/include/ignite/impl/handle_registry.h | 62 +-
.../include/ignite/impl/ignite_environment.h | 34 +-
modules/platforms/cpp/core/namespaces.dox | 74 +-
.../platforms/cpp/core/project/vs/core.vcxproj | 7 +
.../cpp/core/project/vs/core.vcxproj.filters | 30 +
modules/platforms/cpp/core/src/ignition.cpp | 15 +-
.../cpp/core/src/impl/cache/cache_impl.cpp | 31 +
.../continuous/continuous_query_handle_impl.cpp | 96 ++
.../cpp/core/src/impl/handle_registry.cpp | 102 +-
.../cpp/core/src/impl/ignite_environment.cpp | 146 ++-
modules/platforms/cpp/examples/Makefile.am | 1 +
modules/platforms/cpp/examples/configure.ac | 1 +
.../continuous-query-example/Makefile.am | 58 +
.../config/continuous-query-example.xml | 52 +
.../project/vs/continuous-query-example.vcxproj | 110 ++
.../vs/continuous-query-example.vcxproj.filters | 35 +
.../src/continuous_query_example.cpp | 142 ++
.../examples/include/ignite/examples/person.h | 2 +-
.../cpp/examples/project/vs/ignite-examples.sln | 6 +
.../platforms/cpp/jni/include/ignite/jni/java.h | 87 +-
modules/platforms/cpp/jni/project/vs/module.def | 4 +-
modules/platforms/cpp/jni/src/java.cpp | 343 +----
.../cpp/odbc-test/config/queries-test.xml | 37 +
.../platforms/cpp/odbc-test/include/Makefile.am | 1 +
.../cpp/odbc-test/include/complex_type.h | 122 ++
.../cpp/odbc-test/project/vs/odbc-test.vcxproj | 5 +-
.../project/vs/odbc-test.vcxproj.filters | 3 +
.../cpp/odbc-test/src/queries_test.cpp | 101 +-
modules/platforms/cpp/odbc/src/column.cpp | 41 +-
modules/platforms/cpp/odbc/src/type_traits.cpp | 3 +
modules/platforms/cpp/project/vs/ignite.slnrel | 3 +
.../platforms/cpp/project/vs/ignite_x86.slnrel | 3 +
.../Cache/Query/CacheLinqTest.cs | 21 +-
.../Query/CacheQueriesCodeConfigurationTest.cs | 17 +-
.../Cache/Query/CacheQueriesTest.cs | 8 +
.../Services/ServicesTest.cs | 3 +-
.../Apache.Ignite.Core.Tests/TestUtils.cs | 3 +-
.../Apache.Ignite.Core.csproj | 1 +
.../dotnet/Apache.Ignite.Core/Binary/IBinary.cs | 3 +-
.../Apache.Ignite.Core/Cache/Query/QueryBase.cs | 15 +-
.../Impl/Binary/BinaryUtils.cs | 16 +
.../Impl/Binary/Io/BinaryStreamBase.cs | 4 +-
.../Apache.Ignite.Core/Impl/Cache/CacheImpl.cs | 29 +-
.../Impl/Compute/ComputeTaskHolder.cs | 14 +-
.../Impl/Unmanaged/UnmanagedCallbackHandlers.cs | 79 +-
.../Impl/Unmanaged/UnmanagedCallbackOp.cs | 86 ++
.../Impl/Unmanaged/UnmanagedCallbacks.cs | 1229 +++++++++---------
.../Impl/CacheQueryExpressionVisitor.cs | 12 +-
.../Apache.Ignite.Linq/Impl/MethodVisitor.cs | 34 +-
modules/platforms/dotnet/Apache.Ignite.sln | 2 +
modules/platforms/dotnet/DEVNOTES.txt | 12 +-
modules/platforms/dotnet/build.bat | 14 +
modules/platforms/dotnet/build.ps1 | 211 +++
.../yardstick/IgniteAbstractBenchmark.java | 30 +
.../yardstick/IgniteBenchmarkArguments.java | 11 +
.../ignite/yardstick/IgniteBenchmarkUtils.java | 42 +-
.../apache/ignite/yardstick/PreloadLogger.java | 155 +++
.../IgniteCacheRandomOperationBenchmark.java | 22 +-
190 files changed, 9267 insertions(+), 3803 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
index 4c62371,74d1553..b89d618
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
@@@ -487,8 -467,8 +472,8 @@@ public abstract class GridCacheAdapter<
}
/** {@inheritDoc} */
- @Override public GridCacheProxyImpl<K, V> forSubjectId(UUID subjId) {
+ @Override public final GridCacheProxyImpl<K, V> forSubjectId(UUID subjId) {
- CacheOperationContext opCtx = new CacheOperationContext(false, subjId, false, null, false, null);
+ CacheOperationContext opCtx = new CacheOperationContext(false, subjId, false, null, false, null, false);
return new GridCacheProxyImpl<>(ctx, this, opCtx);
}
@@@ -499,15 -479,15 +484,15 @@@
}
/** {@inheritDoc} */
- @Override public GridCacheProxyImpl<K, V> setSkipStore(boolean skipStore) {
+ @Override public final GridCacheProxyImpl<K, V> setSkipStore(boolean skipStore) {
- CacheOperationContext opCtx = new CacheOperationContext(true, null, false, null, false, null);
+ CacheOperationContext opCtx = new CacheOperationContext(true, null, false, null, false, null, false);
return new GridCacheProxyImpl<>(ctx, this, opCtx);
}
/** {@inheritDoc} */
- @Override public <K1, V1> GridCacheProxyImpl<K1, V1> keepBinary() {
+ @Override public final <K1, V1> GridCacheProxyImpl<K1, V1> keepBinary() {
- CacheOperationContext opCtx = new CacheOperationContext(false, null, true, null, false, null);
+ CacheOperationContext opCtx = new CacheOperationContext(false, null, true, null, false, null, false);
return new GridCacheProxyImpl<>((GridCacheContext<K1, V1>)ctx, (GridCacheAdapter<K1, V1>)this, opCtx);
}
@@@ -529,8 -509,8 +514,8 @@@
}
/** {@inheritDoc} */
- @Override public IgniteInternalCache<K, V> withNoRetries() {
+ @Override public final IgniteInternalCache<K, V> withNoRetries() {
- CacheOperationContext opCtx = new CacheOperationContext(false, null, false, null, true, null);
+ CacheOperationContext opCtx = new CacheOperationContext(false, null, false, null, true, null, false);
return new GridCacheProxyImpl<>(ctx, this, opCtx);
}
@@@ -635,9 -615,9 +620,9 @@@
}
/** {@inheritDoc} */
- @Override public boolean isEmpty() {
+ @Override public final boolean isEmpty() {
try {
- return localSize(CachePeekModes.ONHEAP_ONLY) == 0;
+ return localSize(null) == 0;
}
catch (IgniteCheckedException e) {
throw new IgniteException(e);
@@@ -682,11 -662,9 +667,11 @@@
}
/** {@inheritDoc} */
- @Override public IgniteInternalFuture<Boolean> containsKeysAsync(final Collection<? extends K> keys) {
+ @Override public final IgniteInternalFuture<Boolean> containsKeysAsync(final Collection<? extends K> keys) {
A.notNull(keys, "keys");
+ CacheOperationContext opCtx = ctx.operationContextPerCall();
+
return getAllAsync(
keys,
/*force primary*/false,
@@@ -1029,13 -997,8 +1014,13 @@@
return entrySet((CacheEntryPredicate[])null);
}
- /** {@inheritDoc} */
+ /**
- * Gets entry set containing internal entries.
- *
- * @param filter Filter.
- * @return Entry set.
- */
- private Set<Cache.Entry<K, V>> entrySetx(final CacheEntryPredicate... filter) {
++ * Gets entry set containing internal entries.
++ *
++ * @param filter Filter.
++ * @return Entry set.
++ */
+ @Override public final Set<Cache.Entry<K, V>> entrySetx(final CacheEntryPredicate... filter) {
boolean keepBinary = ctx.keepBinary();
return new EntrySet(map.entrySet(filter), keepBinary);
@@@ -1333,19 -1296,9 +1318,19 @@@
}
/** {@inheritDoc} */
+ @Override public Collection<Integer> lostPartitions() {
+ if (isLocal())
+ return Collections.emptyList();
+
+ return ctx.topology().lostPartitions();
+ }
+
+ /** {@inheritDoc} */
- @Override public V getForcePrimary(K key) throws IgniteCheckedException {
+ @Override public final V getForcePrimary(K key) throws IgniteCheckedException {
String taskName = ctx.kernalContext().job().currentTaskName();
+ CacheOperationContext opCtx = ctx.operationContextPerCall();
+
return getAllAsync(
F.asList(key),
/*force primary*/true,
@@@ -1361,11 -1313,9 +1346,11 @@@
}
/** {@inheritDoc} */
- @Override public IgniteInternalFuture<V> getForcePrimaryAsync(final K key) {
+ @Override public final IgniteInternalFuture<V> getForcePrimaryAsync(final K key) {
String taskName = ctx.kernalContext().job().currentTaskName();
+ CacheOperationContext opCtx = ctx.operationContextPerCall();
+
return getAllAsync(
Collections.singletonList(key),
/*force primary*/true,
@@@ -1384,11 -1334,9 +1369,11 @@@
}
/** {@inheritDoc} */
- @Override public V getTopologySafe(K key) throws IgniteCheckedException {
- public final V getTopologySafe(K key) throws IgniteCheckedException {
++ @Override public final V getTopologySafe(K key) throws IgniteCheckedException {
String taskName = ctx.kernalContext().job().currentTaskName();
+ CacheOperationContext opCtx = ctx.operationContextPerCall();
+
return getAllAsync(
F.asList(key),
/*force primary*/false,
@@@ -1409,32 -1356,20 +1394,23 @@@
}
/** {@inheritDoc} */
- @Override public IgniteInternalFuture<Map<K, V>> getAllOutTxAsync(Set<? extends K> keys) {
+ @Override public final IgniteInternalFuture<Map<K, V>> getAllOutTxAsync(Set<? extends K> keys) {
String taskName = ctx.kernalContext().job().currentTaskName();
+ CacheOperationContext opCtx = ctx.operationContextPerCall();
+
return getAllAsync(keys,
!ctx.config().isReadFromBackup(),
/*skip tx*/true,
null,
taskName,
- !ctx.keepBinary(),
- /*skip values*/false,
- /*can remap*/true,
- false);
+ !(opCtx != null && opCtx.isKeepBinary()),
+ opCtx != null && opCtx.recovery(),
+ /*skip values*/
+ /*can remap*/false,
+ true, false);
}
- /**
- * @param key Key.
- * @param topVer Topology version.
- * @return Entry.
- */
- @Nullable protected GridCacheEntryEx entryExSafe(KeyCacheObject key, AffinityTopologyVersion topVer) {
- return entryEx(key);
- }
-
/** {@inheritDoc} */
@Nullable @Override public V get(K key) throws IgniteCheckedException {
A.notNull(key, "key");
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
index 27bc542,ef8c994e..15c060a
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
@@@ -58,8 -56,8 +58,9 @@@ import org.apache.ignite.internal.Ignit
import org.apache.ignite.internal.cluster.ClusterTopologyCheckedException;
import org.apache.ignite.internal.events.DiscoveryCustomEvent;
import org.apache.ignite.internal.managers.eventstorage.GridLocalEventListener;
+import org.apache.ignite.internal.pagemem.backup.StartFullBackupAckDiscoveryMessage;
import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
+ import org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache;
import org.apache.ignite.internal.processors.cache.distributed.dht.GridClientPartitionTopology;
import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionState;
import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionTopology;
@@@ -884,25 -853,30 +885,31 @@@ public class GridCachePartitionExchange
ready = cacheCtx.started();
if (ready) {
- GridDhtPartitionFullMap locMap = cacheCtx.topology().partitionMap(true);
+ GridAffinityAssignmentCache affCache = cacheCtx.affinity().affinityCache();
- if (useOldApi) {
- locMap = new GridDhtPartitionFullMap(locMap.nodeId(),
- locMap.nodeOrder(),
- locMap.updateSequence(),
- locMap,
- true);
- }
+ if (affCache != null) {
+ GridDhtPartitionFullMap locMap = cacheCtx.topology().partitionMap(true);
- addFullPartitionsMap(m,
- dupData,
- compress,
- cacheCtx.cacheId(),
- locMap,
- cacheCtx.affinity().affinityCache().similarAffinityKey());
+ if (useOldApi) {
+ locMap = new GridDhtPartitionFullMap(locMap.nodeId(),
+ locMap.nodeOrder(),
+ locMap.updateSequence(),
- locMap);
++ locMap,
++ true);
+ }
- if (exchId != null)
- m.addPartitionUpdateCounters(cacheCtx.cacheId(), cacheCtx.topology().updateCounters(true));
+ addFullPartitionsMap(m,
+ dupData,
+ compress,
+ cacheCtx.cacheId(),
+ locMap,
+ affCache.similarAffinityKey());
+
+ if (exchId != null)
+ m.addPartitionUpdateCounters(cacheCtx.cacheId(), cacheCtx.topology().updateCounters(true));
+ }
+ else
+ assert cctx.cacheContext(cacheCtx.cacheId()) == null : cacheCtx.name();
}
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
index 0119afa,9487589..58fe61d
mode 100644,100755..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
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtGetFuture.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
index be32767,07b9dad..2f2706e
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
@@@ -461,7 -468,8 +466,7 @@@ public class GridDhtAtomicCache<K, V> e
}
/** {@inheritDoc} */
- @Nullable @Override public V get(K key, boolean deserializeBinary, boolean needVer) throws IgniteCheckedException {
- @Override protected V get0(K key, String taskName, boolean deserializeBinary, boolean needVer)
- throws IgniteCheckedException {
++ @Nullable @Override public V get0(K key, boolean deserializeBinary, boolean needVer) throws IgniteCheckedException {
ctx.checkSecurity(SecurityPermission.CACHE_READ);
if (keyCheck)
@@@ -554,6 -571,43 +574,44 @@@
final boolean canRemap,
final boolean needVer
) {
+ return getAllAsyncInternal(keys,
+ forcePrimary,
+ skipTx,
+ subjId,
+ taskName,
+ deserializeBinary,
+ skipVals,
+ canRemap,
+ needVer,
+ true);
+ }
+
+ /**
+ * @param keys Keys.
+ * @param forcePrimary Force primary flag.
+ * @param skipTx Skip tx flag.
+ * @param subjId Subject ID.
+ * @param taskName Task name.
+ * @param deserializeBinary Deserialize binary flag.
+ * @param skipVals Skip values flag.
+ * @param canRemap Can remap flag.
+ * @param needVer Need version flag.
+ * @param asyncOp Async operation flag.
+ * @return Future.
+ */
+ private IgniteInternalFuture<Map<K, V>> getAllAsyncInternal(
+ @Nullable final Collection<? extends K> keys,
+ final boolean forcePrimary,
+ boolean skipTx,
+ @Nullable UUID subjId,
+ final String taskName,
+ final boolean deserializeBinary,
++ final boolean recovery,
+ final boolean skipVals,
+ final boolean canRemap,
+ final boolean needVer,
+ boolean asyncOp
+ ) {
ctx.checkSecurity(SecurityPermission.CACHE_READ);
if (F.isEmpty(keys))
@@@ -572,21 -626,34 +630,34 @@@
final boolean skipStore = opCtx != null && opCtx.skipStore();
- return asyncOp(new CO<IgniteInternalFuture<Map<K, V>>>() {
- if (asyncOp) {
- return asyncOp(new CO<IgniteInternalFuture<Map<K, V>>>() {
- @Override public IgniteInternalFuture<Map<K, V>> apply() {
- return getAllAsync0(ctx.cacheKeysView(keys),
- forcePrimary,
- subjId0,
- taskName,
- deserializeBinary,
- expiryPlc,
- skipVals,
- skipStore,
- canRemap,
- needVer);
- }
- });
- }
++ if (asyncOp) {return asyncOp(new CO<IgniteInternalFuture<Map<K, V>>>() {
+ @Override public IgniteInternalFuture<Map<K, V>> apply() {
+ return getAllAsync0(ctx.cacheKeysView(keys),
+ forcePrimary,
+ subjId0,
+ taskName,
+ deserializeBinary,
+ recovery,
+ expiryPlc,
+ skipVals,
+ skipStore,
+ canRemap,
+ needVer);
+ }
- });
++ });}
+ else {
+ return getAllAsync0(ctx.cacheKeysView(keys),
+ forcePrimary,
+ subjId0,
+ taskName,
+ deserializeBinary,
++ recovery,
+ expiryPlc,
+ skipVals,
+ skipStore,
+ canRemap,
+ needVer);
+ }
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/atomic/GridLocalAtomicCache.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/atomic/GridLocalAtomicCache.java
index f1ff668,a26d2f3..7aaa476
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/atomic/GridLocalAtomicCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/atomic/GridLocalAtomicCache.java
@@@ -399,12 -295,15 +295,14 @@@ public class GridLocalAtomicCache<K, V
}
/** {@inheritDoc} */
-
@SuppressWarnings("unchecked")
- @Override @Nullable public V get(K key, boolean deserializeBinary, boolean needVer) throws IgniteCheckedException {
- String taskName = ctx.kernalContext().job().currentTaskName();
-
+ @Override protected V get0(
+ final K key,
+ String taskName,
+ boolean deserializeBinary,
+ boolean needVer) throws IgniteCheckedException
+ {
Map<K, V> m = getAllInternal(Collections.singleton(key),
- ctx.isSwapOrOffheapEnabled(),
ctx.readThrough(),
taskName,
deserializeBinary,
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/store/CacheStoreManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/store/GridCacheStoreManagerAdapter.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/store/GridCacheStoreManagerAdapter.java
index 18e40bb,8b93afa..253197d
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/store/GridCacheStoreManagerAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/store/GridCacheStoreManagerAdapter.java
@@@ -555,7 -554,7 +555,7 @@@ public abstract class GridCacheStoreMan
}
/** {@inheritDoc} */
- @Override public boolean put(@Nullable IgniteInternalTx tx, KeyCacheObject key, CacheObject val, GridCacheVersion ver)
- @Override public final boolean put(@Nullable IgniteInternalTx tx, Object key, Object val, GridCacheVersion ver)
++ @Override public final boolean put(@Nullable IgniteInternalTx tx, KeyCacheObject key, CacheObject val, GridCacheVersion ver)
throws IgniteCheckedException {
if (store != null) {
// Never persist internal keys.
@@@ -600,10 -599,7 +600,10 @@@
}
/** {@inheritDoc} */
- @Override public boolean putAll(
- @Override public final boolean putAll(@Nullable IgniteInternalTx tx, Map map) throws IgniteCheckedException {
++ @Override public final boolean putAll(
+ @Nullable IgniteInternalTx tx,
+ Map<? extends KeyCacheObject, IgniteBiTuple<? extends CacheObject, GridCacheVersion>> map
+ ) throws IgniteCheckedException {
if (F.isEmpty(map))
return true;
@@@ -662,7 -658,7 +662,7 @@@
}
/** {@inheritDoc} */
- @Override public boolean remove(@Nullable IgniteInternalTx tx, KeyCacheObject key) throws IgniteCheckedException {
- @Override public final boolean remove(@Nullable IgniteInternalTx tx, Object key) throws IgniteCheckedException {
++ @Override public final boolean remove(@Nullable IgniteInternalTx tx, KeyCacheObject key) throws IgniteCheckedException {
if (store != null) {
// Never remove internal key from store as it is never persisted.
if (key instanceof GridCacheInternal)
@@@ -705,10 -701,7 +705,10 @@@
}
/** {@inheritDoc} */
- @Override public boolean removeAll(
- @Override public final boolean removeAll(@Nullable IgniteInternalTx tx, Collection keys) throws IgniteCheckedException {
++ @Override public final boolean removeAll(
+ @Nullable IgniteInternalTx tx,
+ Collection<? extends KeyCacheObject> keys
+ ) throws IgniteCheckedException {
if (F.isEmpty(keys))
return true;
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteTxStoreExceptionAbstractSelfTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedMultiNodeFullApiSelfTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheLargeResultSelfTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite.java
index babd332,1e98eb5..b48d253
--- a/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite.java
@@@ -43,13 -58,11 +58,12 @@@ import org.apache.ignite.internal.proce
import org.apache.ignite.internal.processors.cache.IgniteCacheJoinQueryWithAffinityKeyTest;
import org.apache.ignite.internal.processors.cache.IgniteCacheLargeResultSelfTest;
import org.apache.ignite.internal.processors.cache.IgniteCacheMergeSqlQuerySelfTest;
+import org.apache.ignite.internal.processors.cache.IgniteCacheMultipleIndexedTypesTest;
+ import org.apache.ignite.internal.processors.cache.IgniteCacheNoClassQuerySelfTest;
import org.apache.ignite.internal.processors.cache.IgniteCacheOffheapEvictQueryTest;
import org.apache.ignite.internal.processors.cache.IgniteCacheOffheapIndexScanTest;
- import org.apache.ignite.internal.processors.cache.IgniteCacheOffheapTieredMultithreadedSelfTest;
- import org.apache.ignite.internal.processors.cache.IgniteCachePartitionedQueryMultiThreadedSelfTest;
+ import org.apache.ignite.internal.processors.cache.IgniteCacheP2pUnmarshallingQueryErrorTest;
import org.apache.ignite.internal.processors.cache.IgniteCachePrimitiveFieldsQuerySelfTest;
- import org.apache.ignite.internal.processors.cache.IgniteCacheQueryEvictsMultiThreadedSelfTest;
import org.apache.ignite.internal.processors.cache.IgniteCacheQueryH2IndexingLeakTest;
import org.apache.ignite.internal.processors.cache.IgniteCacheQueryIndexSelfTest;
import org.apache.ignite.internal.processors.cache.IgniteCacheQueryLoadSelfTest;
@@@ -166,8 -187,58 +188,60 @@@ public class IgniteCacheQuerySelfTestSu
suite.addTestSuite(IndexingSpiQuerySelfTest.class);
suite.addTestSuite(IndexingSpiQueryTxSelfTest.class);
+ suite.addTestSuite(IgniteCacheMultipleIndexedTypesTest.class);
+
+ // Fields queries.
+ suite.addTestSuite(SqlFieldsQuerySelfTest.class);
+ suite.addTestSuite(IgniteCacheLocalFieldsQuerySelfTest.class);
+ suite.addTestSuite(IgniteCacheReplicatedFieldsQuerySelfTest.class);
+ suite.addTestSuite(IgniteCacheReplicatedFieldsQueryP2PEnabledSelfTest.class);
+ suite.addTestSuite(IgniteCachePartitionedFieldsQuerySelfTest.class);
+ suite.addTestSuite(IgniteCacheAtomicFieldsQuerySelfTest.class);
+ suite.addTestSuite(IgniteCacheAtomicNearEnabledFieldsQuerySelfTest.class);
+ suite.addTestSuite(IgniteCachePartitionedFieldsQueryP2PEnabledSelfTest.class);
+ suite.addTestSuite(IgniteCacheFieldsQueryNoDataSelfTest.class);
+
+ suite.addTestSuite(GridCacheQueryIndexingDisabledSelfTest.class);
+
+ suite.addTestSuite(GridCacheSwapScanQuerySelfTest.class);
+
+ suite.addTestSuite(GridOrderedMessageCancelSelfTest.class);
+
+ suite.addTestSuite(CacheQueryOffheapEvictDataLostTest.class);
+
+ // Ignite cache and H2 comparison.
+ suite.addTestSuite(BaseH2CompareQueryTest.class);
+ suite.addTestSuite(H2CompareBigQueryTest.class);
+
+ // Cache query metrics.
+ suite.addTestSuite(CacheLocalQueryMetricsSelfTest.class);
+ suite.addTestSuite(CachePartitionedQueryMetricsDistributedSelfTest.class);
+ suite.addTestSuite(CachePartitionedQueryMetricsLocalSelfTest.class);
+ suite.addTestSuite(CacheReplicatedQueryMetricsDistributedSelfTest.class);
+ suite.addTestSuite(CacheReplicatedQueryMetricsLocalSelfTest.class);
+
+ // Cache query metrics.
+ suite.addTestSuite(CacheLocalQueryDetailMetricsSelfTest.class);
+ suite.addTestSuite(CachePartitionedQueryDetailMetricsDistributedSelfTest.class);
+ suite.addTestSuite(CachePartitionedQueryDetailMetricsLocalSelfTest.class);
+ suite.addTestSuite(CacheReplicatedQueryDetailMetricsDistributedSelfTest.class);
+ suite.addTestSuite(CacheReplicatedQueryDetailMetricsLocalSelfTest.class);
+
+ // Unmarshalling query test.
+ suite.addTestSuite(IgniteCacheP2pUnmarshallingQueryErrorTest.class);
+ suite.addTestSuite(IgniteCacheNoClassQuerySelfTest.class);
+
+ // Cancellation.
+
+ suite.addTestSuite(IgniteCacheDistributedQueryCancelSelfTest.class);
+ suite.addTestSuite(IgniteCacheLocalQueryCancelOrTimeoutSelfTest.class);
+ suite.addTestSuite(IgniteCacheQueryStopOnCancelOrTimeoutDistributedJoinSelfTest.class);
+
+ // Other.
+ suite.addTestSuite(CacheQueryNewClientSelfTest.class);
+ suite.addTestSuite(CacheOffheapBatchIndexingSingleTypeTest.class);
+ suite.addTestSuite(CacheSqlQueryValueCopySelfTest.class);
+
return suite;
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/yardstick/src/main/java/org/apache/ignite/yardstick/IgniteAbstractBenchmark.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/yardstick/src/main/java/org/apache/ignite/yardstick/IgniteBenchmarkArguments.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2e55963e/modules/yardstick/src/main/java/org/apache/ignite/yardstick/IgniteBenchmarkUtils.java
----------------------------------------------------------------------
[35/50] [abbrv] ignite git commit: Merge remote-tracking branch
'professional/ignite-gg-8.0.2.ea1' into ignite-gg-8.0.2.ea1
Posted by ag...@apache.org.
Merge remote-tracking branch 'professional/ignite-gg-8.0.2.ea1' into ignite-gg-8.0.2.ea1
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/302a28fa
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/302a28fa
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/302a28fa
Branch: refs/heads/ignite-3477
Commit: 302a28fad46cbf186ca114ccb8a26ab6450044d5
Parents: 6d45ace bb485f6
Author: Dmitriy Govorukhin <dg...@gridgain.com>
Authored: Fri Dec 23 12:28:25 2016 +0300
Committer: Dmitriy Govorukhin <dg...@gridgain.com>
Committed: Fri Dec 23 12:28:25 2016 +0300
----------------------------------------------------------------------
.../java/org/apache/ignite/internal/visor/VisorMultiNodeTask.java | 2 +-
.../java/org/apache/ignite/internal/visor/VisorTaskArgument.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
[03/50] [abbrv] ignite git commit: ignite-gg-11650 Stabilize
8.0.2.ea1 branch after merging activation/deactivation minor update
Posted by ag...@apache.org.
ignite-gg-11650 Stabilize 8.0.2.ea1 branch after merging activation/deactivation minor update
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/a290fdde
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/a290fdde
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/a290fdde
Branch: refs/heads/ignite-3477
Commit: a290fddee1333f2a6ec0ec2dfb530f452c63b3ea
Parents: ad29cc9
Author: Dmitriy Govorukhin <dg...@gridgain.com>
Authored: Mon Dec 19 20:19:14 2016 +0300
Committer: Dmitriy Govorukhin <dg...@gridgain.com>
Committed: Mon Dec 19 20:19:14 2016 +0300
----------------------------------------------------------------------
.../preloader/GridDhtPartitionsExchangeFuture.java | 4 ++--
.../processors/cluster/GridClusterStateProcessor.java | 14 +-------------
2 files changed, 3 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/a290fdde/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
index 8f4fb9c..dadcda4 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
@@ -651,6 +651,8 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT
private ExchangeType onCacheChangeRequest(boolean crd) throws IgniteCheckedException {
assert !F.isEmpty(reqs) : this;
+ boolean clientOnly = cctx.affinity().onCacheChangeRequest(this, crd, reqs);
+
GridClusterStateProcessor stateProc = cctx.kernalContext().state();
if (exchangeOnChangeGlobalState = stateProc.changeGlobalState(reqs, topologyVersion())){
@@ -660,8 +662,6 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT
changeGlobalStateExceptions.put(cctx.localNodeId(), changeGlobalStateException);
}
- boolean clientOnly = cctx.affinity().onCacheChangeRequest(this, crd, reqs);
-
if (clientOnly) {
boolean clientCacheStarted = false;
http://git-wip-us.apache.org/repos/asf/ignite/blob/a290fdde/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
index 673ef04..f42a8ba 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
@@ -331,7 +331,7 @@ public class GridClusterStateProcessor extends GridProcessorAdapter {
if (req.globalStateChange()) {
ChangeGlobalStateContext cgsCtx = lastCgsCtx;
- assert cgsCtx != null;
+ assert cgsCtx != null : "reqs: " + Arrays.toString(reqs.toArray());
cgsCtx.topologyVersion(topVer);
@@ -427,18 +427,6 @@ public class GridClusterStateProcessor extends GridProcessorAdapter {
sharedCtx.wal().onActivate(ctx);
- if (sharedCtx.pageStore() != null) {
- for (DynamicCacheChangeRequest req : cgsCtx.batch.requests()) {
- if (req.startCacheConfiguration() != null && CU.isSystemCache(req.startCacheConfiguration().getName()))
- sharedCtx.pageStore().initializeForCache(req.startCacheConfiguration());
- }
-
- for (DynamicCacheChangeRequest req : cgsCtx.batch.requests()) {
- if (req.startCacheConfiguration() != null && !CU.isSystemCache(req.startCacheConfiguration().getName()))
- sharedCtx.pageStore().initializeForCache(req.startCacheConfiguration());
- }
- }
-
sharedCtx.database().onActivate(ctx);
if (sharedCtx.pageStore() != null)
[28/50] [abbrv] ignite git commit: Merge with master.
Posted by ag...@apache.org.
Merge with master.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/cecaf7e8
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/cecaf7e8
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/cecaf7e8
Branch: refs/heads/ignite-3477
Commit: cecaf7e8f5b581316873d02fbbf623b0496d0d6b
Parents: 842c1b7 88a7eda
Author: Ilya Lantukh <il...@gridgain.com>
Authored: Thu Dec 22 17:50:29 2016 +0300
Committer: Ilya Lantukh <il...@gridgain.com>
Committed: Thu Dec 22 17:50:29 2016 +0300
----------------------------------------------------------------------
.gitignore | 35 +-
README.md | 8 +
RELEASE_NOTES.txt | 22 +
assembly/dependencies-fabric-lgpl.xml | 1 +
assembly/dependencies-fabric.xml | 1 +
assembly/release-base.xml | 5 +
assembly/release-fabric-base.xml | 1 +
bin/ignite.sh | 9 +
config/dotnet/default-dotnet.xml | 45 +
examples/pom-standalone.xml | 6 +
examples/pom.xml | 2 +-
examples/redis/redis-example.php | 82 ++
examples/redis/redis-example.py | 62 +
examples/schema-import/pom.xml | 2 +-
.../ignite/examples/ExampleNodeStartup.java | 2 +-
.../examples/datagrid/CachePutGetExample.java | 2 +-
.../examples/datagrid/CacheQueryDmlExample.java | 163 +++
.../scalar/examples/ScalarJvmCloudExample.scala | 2 +-
.../CacheExamplesMultiNodeSelfTest.java | 7 +
.../ignite/examples/CacheExamplesSelfTest.java | 8 +
modules/aop/pom.xml | 2 +-
modules/apache-license-gen/pom.xml | 2 +-
modules/aws/pom.xml | 2 +-
modules/benchmarks/pom.xml | 2 +-
.../jmh/misc/JmhIncrementBenchmark.java | 95 ++
modules/camel/pom.xml | 2 +-
modules/cassandra/pom.xml | 16 +-
modules/cassandra/serializers/README.txt | 7 +-
modules/cassandra/serializers/pom.xml | 4 +-
modules/cassandra/store/pom.xml | 4 +-
modules/clients/pom.xml | 12 +-
.../clients/src/test/config/jdbc-bin-config.xml | 54 +
.../jdbc2/JdbcAbstractDmlStatementSelfTest.java | 263 ++++
.../JdbcAbstractUpdateStatementSelfTest.java | 37 +
...BinaryMarshallerInsertStatementSelfTest.java | 37 +
...cBinaryMarshallerMergeStatementSelfTest.java | 37 +
.../jdbc2/JdbcDeleteStatementSelfTest.java | 49 +
.../jdbc2/JdbcInsertStatementSelfTest.java | 122 ++
.../jdbc2/JdbcMergeStatementSelfTest.java | 91 ++
.../internal/jdbc2/JdbcNoDefaultCacheTest.java | 40 +-
.../internal/jdbc2/JdbcResultSetSelfTest.java | 18 +
.../rest/ClientMemcachedProtocolSelfTest.java | 4 +-
.../rest/RestProcessorMultiStartSelfTest.java | 48 +-
.../rest/protocols/tcp/MockNioSession.java | 11 +
.../tcp/redis/RedisProtocolSelfTest.java | 101 +-
.../jdbc/suite/IgniteJdbcDriverTestSuite.java | 5 +
modules/cloud/pom.xml | 2 +-
modules/codegen/pom.xml | 2 +-
modules/core/pom.xml | 2 +-
.../java/org/apache/ignite/IgniteCache.java | 2 +
.../apache/ignite/IgniteSystemProperties.java | 17 +
.../binary/BinaryAbstractIdentityResolver.java | 53 +
.../binary/BinaryArrayIdentityResolver.java | 224 +++
.../binary/BinaryFieldIdentityResolver.java | 307 ++++
.../ignite/binary/BinaryIdentityResolver.java | 42 +
.../ignite/binary/BinaryTypeConfiguration.java | 27 +-
.../org/apache/ignite/cache/QueryEntity.java | 27 +
.../rendezvous/RendezvousAffinityFunction.java | 80 +-
.../ignite/cache/query/SqlFieldsQuery.java | 2 +-
.../cache/store/CacheLoadOnlyStoreAdapter.java | 6 +-
.../configuration/CacheConfiguration.java | 19 +-
.../configuration/IgniteConfiguration.java | 48 +
.../internal/GridEventConsumeHandler.java | 2 +-
.../ignite/internal/GridJobContextImpl.java | 4 +-
.../ignite/internal/GridKernalContext.java | 9 +
.../ignite/internal/GridKernalContextImpl.java | 16 +-
.../internal/GridPerformanceSuggestions.java | 2 +-
.../org/apache/ignite/internal/GridTopic.java | 4 +-
.../ignite/internal/IgniteInternalFuture.java | 11 +
.../apache/ignite/internal/IgniteKernal.java | 71 +-
.../org/apache/ignite/internal/IgnitionEx.java | 32 +-
.../internal/binary/BinaryClassDescriptor.java | 15 +
.../ignite/internal/binary/BinaryContext.java | 76 +-
.../ignite/internal/binary/BinaryFieldImpl.java | 10 +-
.../internal/binary/BinaryObjectExImpl.java | 90 +-
.../internal/binary/BinaryObjectImpl.java | 48 +-
.../binary/BinaryObjectOffheapImpl.java | 42 +-
.../internal/binary/BinaryPrimitives.java | 30 +-
.../binary/BinarySerializedFieldComparator.java | 343 +++++
.../ignite/internal/binary/BinaryUtils.java | 2 +-
.../internal/binary/BinaryWriterExImpl.java | 47 +-
.../internal/binary/GridBinaryMarshaller.java | 2 +-
.../binary/builder/BinaryBuilderReader.java | 11 +
.../binary/builder/BinaryBuilderSerializer.java | 4 +
.../binary/builder/BinaryObjectBuilderImpl.java | 16 +
.../streams/BinaryAbstractInputStream.java | 5 +
.../streams/BinaryAbstractOutputStream.java | 5 +
.../streams/BinaryByteBufferInputStream.java | 10 +
.../binary/streams/BinaryHeapInputStream.java | 9 +-
.../binary/streams/BinaryHeapOutputStream.java | 7 +-
.../streams/BinaryMemoryAllocatorChunk.java | 3 +-
.../streams/BinaryOffheapInputStream.java | 14 +-
.../streams/BinaryOffheapOutputStream.java | 8 +-
.../internal/binary/streams/BinaryStream.java | 12 +-
.../GridClientConnectionManagerAdapter.java | 1 +
.../router/impl/GridRouterClientImpl.java | 2 +-
.../ignite/internal/jdbc2/JdbcConnection.java | 17 +
.../internal/jdbc2/JdbcPreparedStatement.java | 71 +-
.../ignite/internal/jdbc2/JdbcQueryTask.java | 5 +-
.../ignite/internal/jdbc2/JdbcQueryTaskV2.java | 406 ++++++
.../ignite/internal/jdbc2/JdbcResultSet.java | 72 +-
.../internal/jdbc2/JdbcSqlFieldsQuery.java | 49 +
.../ignite/internal/jdbc2/JdbcStatement.java | 213 ++-
.../apache/ignite/internal/jdbc2/JdbcUtils.java | 25 +-
.../managers/communication/GridIoManager.java | 33 +-
.../managers/communication/GridIoMessage.java | 13 +
.../communication/GridIoMessageFactory.java | 62 +-
.../communication/IgniteIoTestMessage.java | 13 +-
.../discovery/GridDiscoveryManager.java | 118 +-
.../snapshot/SnapshotFinishedMessage.java | 2 +-
.../processors/cache/GridCacheAdapter.java | 741 ++++------
.../processors/cache/GridCacheEntryEx.java | 4 +-
.../processors/cache/GridCacheMapEntry.java | 41 +-
.../processors/cache/GridCacheMessage.java | 7 +
.../GridCachePartitionExchangeManager.java | 121 +-
.../processors/cache/GridCachePreloader.java | 8 +-
.../cache/GridCachePreloaderAdapter.java | 9 +-
.../processors/cache/GridCacheProcessor.java | 2 +-
.../processors/cache/GridCacheProxyImpl.java | 24 +-
.../cache/GridCacheSharedTtlCleanupManager.java | 5 +-
.../processors/cache/GridCacheTtlManager.java | 4 +
.../processors/cache/GridCacheUtils.java | 62 +-
.../GridChangeGlobalStateMessageResponse.java | 2 +-
.../processors/cache/IgniteInternalCache.java | 8 +
.../processors/cache/QueryCursorImpl.java | 31 +-
.../binary/CacheObjectBinaryProcessorImpl.java | 3 +-
.../distributed/GridCacheTxRecoveryFuture.java | 4 +-
.../distributed/GridDistributedLockRequest.java | 5 +
.../GridDistributedUnlockRequest.java | 5 +
.../dht/GridClientPartitionTopology.java | 38 +-
.../distributed/dht/GridDhtCacheAdapter.java | 3 +-
.../cache/distributed/dht/GridDhtGetFuture.java | 2 +-
.../distributed/dht/GridDhtLockFuture.java | 27 +-
.../distributed/dht/GridDhtLockResponse.java | 9 +-
.../dht/GridDhtPartitionTopology.java | 10 +
.../dht/GridDhtPartitionTopologyImpl.java | 171 ++-
.../distributed/dht/GridDhtTxFinishFuture.java | 74 +-
.../cache/distributed/dht/GridDhtTxLocal.java | 125 +-
.../distributed/dht/GridDhtTxLocalAdapter.java | 7 +-
.../distributed/dht/GridDhtTxPrepareFuture.java | 4 +-
.../dht/atomic/GridDhtAtomicCache.java | 453 +++---
.../GridDhtAtomicSingleUpdateRequest.java | 5 +
.../dht/atomic/GridDhtAtomicUpdateRequest.java | 5 +
...idNearAtomicAbstractSingleUpdateRequest.java | 28 +-
.../atomic/GridNearAtomicFullUpdateRequest.java | 69 +-
...GridNearAtomicSingleUpdateInvokeRequest.java | 6 +-
.../GridNearAtomicSingleUpdateRequest.java | 5 +
.../dht/colocated/GridDhtColocatedCache.java | 13 -
.../colocated/GridDhtColocatedLockFuture.java | 4 +-
.../dht/preloader/GridDhtPartitionDemander.java | 233 +--
.../dht/preloader/GridDhtPartitionFullMap.java | 18 +-
.../dht/preloader/GridDhtPartitionMap2.java | 4 +
.../GridDhtPartitionsExchangeFuture.java | 2 +-
.../dht/preloader/GridDhtPreloader.java | 13 +-
.../distributed/near/GridNearAtomicCache.java | 65 +-
.../distributed/near/GridNearGetRequest.java | 5 +
.../distributed/near/GridNearLockFuture.java | 4 +-
...arOptimisticSerializableTxPrepareFuture.java | 4 +-
.../near/GridNearOptimisticTxPrepareFuture.java | 15 +-
.../GridNearPessimisticTxPrepareFuture.java | 4 +-
.../near/GridNearTxFinishFuture.java | 46 +-
.../cache/distributed/near/GridNearTxLocal.java | 48 +-
.../local/atomic/GridLocalAtomicCache.java | 174 +--
.../query/GridCacheDistributedQueryManager.java | 2 +-
.../cache/query/GridCacheQueryManager.java | 18 +-
.../cache/query/GridCacheQueryRequest.java | 6 +-
.../cache/query/GridCacheTwoStepQuery.java | 253 ----
.../cache/query/IgniteQueryErrorCode.java | 91 ++
.../cache/store/CacheStoreManager.java | 4 +-
.../store/GridCacheStoreManagerAdapter.java | 34 +-
.../cache/store/GridCacheWriteBehindStore.java | 6 +-
.../cache/transactions/IgniteTxHandler.java | 17 +-
.../transactions/IgniteTxLocalAdapter.java | 38 +-
.../cache/transactions/IgniteTxManager.java | 15 +-
.../datastreamer/DataStreamProcessor.java | 22 +-
.../GridCacheAtomicSequenceImpl.java | 12 +-
.../processors/hadoop/HadoopClassLoader.java | 11 +
.../internal/processors/hadoop/HadoopJobId.java | 79 +-
.../processors/hadoop/HadoopJobProperty.java | 64 +-
.../hadoop/HadoopMapperAwareTaskOutput.java | 32 +
.../processors/hadoop/HadoopTaskContext.java | 8 +
.../processors/hadoop/HadoopTaskInfo.java | 43 +
.../io/PartiallyOffheapRawComparatorEx.java | 33 +
.../hadoop/message/HadoopMessage.java | 27 +
.../shuffle/HadoopDirectShuffleMessage.java | 243 ++++
.../hadoop/shuffle/HadoopShuffleAck.java | 170 +++
.../shuffle/HadoopShuffleFinishRequest.java | 172 +++
.../shuffle/HadoopShuffleFinishResponse.java | 142 ++
.../hadoop/shuffle/HadoopShuffleMessage.java | 361 +++++
.../internal/processors/igfs/IgfsContext.java | 4 +-
.../processors/igfs/IgfsDataManager.java | 6 +-
.../internal/processors/igfs/IgfsImpl.java | 2 +-
.../processors/odbc/OdbcMessageParser.java | 16 +
.../processors/odbc/OdbcNioListener.java | 2 +-
.../odbc/OdbcQueryGetParamsMetaRequest.java | 60 +
.../odbc/OdbcQueryGetParamsMetaResult.java | 40 +
.../internal/processors/odbc/OdbcRequest.java | 3 +
.../processors/odbc/OdbcRequestHandler.java | 175 ++-
.../internal/processors/odbc/OdbcUtils.java | 4 +-
.../platform/PlatformAbstractTarget.java | 268 +---
.../platform/PlatformAsyncTarget.java | 44 +
.../platform/PlatformNoopProcessor.java | 41 +-
.../processors/platform/PlatformProcessor.java | 42 +-
.../platform/PlatformProcessorImpl.java | 87 +-
.../processors/platform/PlatformTarget.java | 103 +-
.../platform/PlatformTargetProxy.java | 126 ++
.../platform/PlatformTargetProxyImpl.java | 222 +++
.../binary/PlatformBinaryProcessor.java | 6 +-
.../platform/cache/PlatformCache.java | 15 +-
.../cache/PlatformCacheEntryFilterImpl.java | 4 +-
.../cache/PlatformCacheEntryProcessorImpl.java | 43 +-
.../platform/cache/PlatformCacheIterator.java | 2 +-
.../cache/affinity/PlatformAffinity.java | 4 +-
.../affinity/PlatformAffinityFunction.java | 59 +-
.../PlatformAffinityFunctionTarget.java | 4 +-
.../query/PlatformAbstractQueryCursor.java | 4 +-
.../query/PlatformContinuousQueryProxy.java | 3 +-
.../callback/PlatformCallbackGateway.java | 272 ++--
.../platform/callback/PlatformCallbackOp.java | 206 +++
.../callback/PlatformCallbackUtils.java | 544 +------
.../platform/cluster/PlatformClusterGroup.java | 18 +-
.../platform/compute/PlatformAbstractJob.java | 2 +-
.../platform/compute/PlatformAbstractTask.java | 15 +-
.../platform/compute/PlatformClosureJob.java | 12 +-
.../platform/compute/PlatformCompute.java | 21 +-
.../platform/compute/PlatformFullJob.java | 15 +-
.../platform/compute/PlatformFullTask.java | 18 +-
.../datastreamer/PlatformDataStreamer.java | 4 +-
.../PlatformStreamReceiverImpl.java | 11 +-
.../datastructures/PlatformAtomicLong.java | 4 +-
.../datastructures/PlatformAtomicReference.java | 8 +-
.../datastructures/PlatformAtomicSequence.java | 2 +-
.../dotnet/PlatformDotNetCacheStore.java | 6 +-
.../platform/events/PlatformEvents.java | 15 +-
.../memory/PlatformInputStreamImpl.java | 14 +-
.../memory/PlatformOutputStreamImpl.java | 14 +-
.../platform/messaging/PlatformMessaging.java | 9 +-
.../services/PlatformAbstractService.java | 25 +-
.../platform/services/PlatformServices.java | 27 +-
.../transactions/PlatformTransactions.java | 8 +-
.../platform/utils/PlatformFutureUtils.java | 18 +-
.../utils/PlatformListenableTarget.java | 62 +
.../platform/utils/PlatformUtils.java | 8 +-
.../processors/query/GridQueryIndexing.java | 23 +-
.../processors/query/GridQueryProcessor.java | 591 ++++++--
.../processors/query/GridQueryProperty.java | 20 +
.../query/GridQueryTypeDescriptor.java | 25 +
.../processors/query/IgniteSQLException.java | 89 ++
.../processors/rest/GridRestProcessor.java | 15 +
.../redis/GridRedisRestCommandHandler.java | 1 +
.../redis/key/GridRedisDelCommandHandler.java | 7 +-
.../key/GridRedisExistsCommandHandler.java | 7 +-
.../server/GridRedisDbSizeCommandHandler.java | 7 +-
.../string/GridRedisAppendCommandHandler.java | 7 +-
.../string/GridRedisGetCommandHandler.java | 34 +-
.../string/GridRedisGetRangeCommandHandler.java | 7 +-
.../string/GridRedisGetSetCommandHandler.java | 7 +-
.../string/GridRedisIncrDecrCommandHandler.java | 70 +-
.../string/GridRedisMGetCommandHandler.java | 7 +-
.../string/GridRedisMSetCommandHandler.java | 7 +-
.../string/GridRedisSetCommandHandler.java | 31 +-
.../string/GridRedisSetRangeCommandHandler.java | 7 +-
.../string/GridRedisStrlenCommandHandler.java | 7 +-
.../tcp/GridTcpMemcachedNioListener.java | 15 +-
.../protocols/tcp/GridTcpRestNioListener.java | 2 +-
.../tcp/redis/GridRedisNioListener.java | 4 +-
.../service/GridServiceProcessor.java | 10 +-
.../ignite/internal/util/GridHandleTable.java | 10 +-
.../apache/ignite/internal/util/GridUnsafe.java | 61 +-
.../ignite/internal/util/IgniteUtils.java | 105 +-
.../ignite/internal/util/StripedExecutor.java | 667 +++++++++
.../util/future/GridCompoundFuture.java | 56 +-
.../util/future/GridFinishedFuture.java | 24 +
.../internal/util/future/GridFutureAdapter.java | 15 +-
.../util/future/GridFutureChainListener.java | 30 +-
.../internal/util/io/GridUnsafeDataInput.java | 12 +-
.../internal/util/io/GridUnsafeDataOutput.java | 12 +-
.../internal/util/ipc/IpcToNioAdapter.java | 2 +-
.../util/lang/IgniteSingletonIterator.java | 56 +
.../util/nio/GridCommunicationClient.java | 4 +-
.../nio/GridConnectionBytesVerifyFilter.java | 15 +-
.../util/nio/GridNioAsyncNotifyFilter.java | 10 +-
.../internal/util/nio/GridNioCodecFilter.java | 17 +-
.../ignite/internal/util/nio/GridNioFilter.java | 16 +-
.../internal/util/nio/GridNioFilterAdapter.java | 10 +-
.../internal/util/nio/GridNioFilterChain.java | 14 +-
.../ignite/internal/util/nio/GridNioFuture.java | 4 +-
.../util/nio/GridNioRecoveryDescriptor.java | 95 +-
.../ignite/internal/util/nio/GridNioServer.java | 1343 ++++++++++++++----
.../internal/util/nio/GridNioSession.java | 11 +
.../internal/util/nio/GridNioSessionImpl.java | 49 +-
.../ignite/internal/util/nio/GridNioWorker.java | 48 +
.../util/nio/GridSelectorNioSessionImpl.java | 157 +-
.../util/nio/GridTcpNioCommunicationClient.java | 49 +-
.../internal/util/nio/SessionWriteRequest.java | 85 ++
.../internal/util/nio/ssl/GridNioSslFilter.java | 10 +-
.../util/nio/ssl/GridNioSslHandler.java | 4 +-
.../util/offheap/unsafe/GridUnsafeMemory.java | 10 +-
.../util/tostring/GridToStringBuilder.java | 2 +-
.../internal/visor/query/VisorQueryJob.java | 2 +-
.../ignite/marshaller/jdk/JdkMarshaller.java | 4 +-
.../optimized/OptimizedMarshaller.java | 8 +-
.../optimized/OptimizedObjectOutputStream.java | 25 +-
.../communication/tcp/TcpCommunicationSpi.java | 324 +++--
.../tcp/TcpCommunicationSpiMBean.java | 40 +
.../ignite/spi/discovery/tcp/ServerImpl.java | 57 +-
.../spi/discovery/tcp/TcpDiscoverySpi.java | 14 +-
.../tcp/internal/TcpDiscoveryStatistics.java | 4 +
.../org/apache/ignite/stream/StreamAdapter.java | 4 +-
.../ignite/thread/IgniteThreadFactory.java | 8 +-
.../resources/META-INF/classnames.properties | 69 +-
.../core/src/main/resources/ignite.properties | 2 +-
.../AbstractAffinityFunctionSelfTest.java | 2 +-
.../BinaryArrayIdentityResolverSelfTest.java | 300 ++++
.../BinaryFieldIdentityResolverSelfTest.java | 333 +++++
.../binary/BinaryFieldsOffheapSelfTest.java | 2 +-
.../BinaryFooterOffsetsOffheapSelfTest.java | 2 +-
...ryIdentityResolverConfigurationSelfTest.java | 138 ++
.../binary/BinaryMarshallerSelfTest.java | 2 +-
.../BinaryObjectBuilderAdditionalSelfTest.java | 157 +-
...naryObjectBuilderDefaultMappersSelfTest.java | 2 +-
.../BinarySerialiedFieldComparatorSelfTest.java | 568 ++++++++
...unicationBalanceMultipleConnectionsTest.java | 28 +
.../IgniteCommunicationBalanceTest.java | 339 +++++
.../communication/IgniteIoTestMessagesTest.java | 95 ++
.../IgniteVariousConnectionNumberTest.java | 166 +++
.../GridDiscoveryManagerAliveCacheSelfTest.java | 2 +-
.../cache/CrossCacheTxRandomOperationsTest.java | 30 +-
...idAbstractCacheInterceptorRebalanceTest.java | 4 +-
.../cache/GridCacheAbstractFullApiSelfTest.java | 4 +-
.../GridCacheMissingCommitVersionSelfTest.java | 6 +-
...CacheOffHeapMultiThreadedUpdateSelfTest.java | 6 +-
.../GridCachePartitionedAffinitySpreadTest.java | 7 +-
.../processors/cache/GridCacheTestEntryEx.java | 3 +-
.../GridCacheTtlManagerEvictionSelfTest.java | 1 +
.../IgniteTxStoreExceptionAbstractSelfTest.java | 1 +
.../GridCacheBinaryObjectsAbstractSelfTest.java | 260 +++-
...achePartitionedAtomicSequenceTxSelfTest.java | 169 +++
.../CacheLockReleaseNodeLeaveTest.java | 135 ++
...eAtomicMessageRecovery10ConnectionsTest.java | 28 +
...cMessageRecoveryNoPairedConnectionsTest.java | 47 +
...acheConnectionRecovery10ConnectionsTest.java | 35 +
.../distributed/IgniteCacheCreatePutTest.java | 2 +-
.../distributed/dht/GridCacheDhtTestUtils.java | 232 ---
.../dht/IgniteCacheMultiTxLockSelfTest.java | 6 +-
...nabledMultiNodeLongTxTimeoutFullApiTest.java | 2 +-
...achePartitionedMultiNodeFullApiSelfTest.java | 37 +-
...edNoStripedPoolMultiNodeFullApiSelfTest.java | 35 +
.../GridCacheRebalancingSyncSelfTest.java | 2 +
...eCacheExpiryPolicyWithStoreAbstractTest.java | 40 +
.../TxDeadlockDetectionNoHangsTest.java | 2 +-
.../TxOptimisticDeadlockDetectionTest.java | 29 +-
...lockMessageSystemPoolStarvationSelfTest.java | 14 +-
.../GridServiceProcessorProxySelfTest.java | 2 +-
.../util/future/GridFutureAdapterSelfTest.java | 122 +-
.../nio/impl/GridNioFilterChainSelfTest.java | 18 +-
.../loadtests/nio/GridNioBenchmarkClient.java | 4 +-
.../p2p/GridP2PRecursionTaskSelfTest.java | 2 +-
...mmunicationSpiConcurrentConnectSelfTest.java | 37 +-
...cpCommunicationSpiMultithreadedSelfTest.java | 9 +-
...dTcpCommunicationSpiRecoveryAckSelfTest.java | 6 +-
...ationSpiRecoveryNoPairedConnectionsTest.java | 28 +
...GridTcpCommunicationSpiRecoverySelfTest.java | 8 +
...CommunicationRecoveryAckClosureSelfTest.java | 6 +-
.../junits/GridTestKernalContext.java | 4 +-
.../IgniteBinaryObjectsTestSuite.java | 10 +
.../IgniteCacheDataStructuresSelfTestSuite.java | 5 +-
.../IgniteCacheFullApiSelfTestSuite.java | 4 +
.../ignite/testsuites/IgniteCacheTestSuite.java | 15 +
.../testsuites/IgniteCacheTestSuite4.java | 3 +
.../testsuites/IgniteCacheTestSuite5.java | 1 +
.../IgniteSpiCommunicationSelfTestSuite.java | 2 +
modules/docker/1.8.0/Dockerfile | 46 +
modules/docker/1.8.0/run.sh | 51 +
modules/docker/Dockerfile | 6 +-
modules/extdata/p2p/pom.xml | 2 +-
.../extdata/uri/modules/uri-dependency/pom.xml | 2 +-
modules/extdata/uri/pom.xml | 2 +-
modules/flink/pom.xml | 2 +-
modules/flume/pom.xml | 2 +-
modules/gce/pom.xml | 2 +-
modules/geospatial/pom.xml | 2 +-
modules/hadoop/pom.xml | 9 +-
.../hadoop/io/PartiallyRawComparator.java | 33 +
.../org/apache/ignite/hadoop/io/RawMemory.java | 86 ++
.../hadoop/io/TextPartiallyRawComparator.java | 115 ++
.../apache/ignite/hadoop/io/package-info.java | 22 +
.../IgniteHadoopClientProtocolProvider.java | 70 +-
.../processors/hadoop/HadoopMapperUtils.java | 56 +
.../hadoop/impl/fs/HadoopFileSystemsUtils.java | 11 +
.../hadoop/impl/proto/HadoopClientProtocol.java | 55 +-
.../hadoop/impl/v2/HadoopV2Context.java | 11 +
...DelegatingPartiallyOffheapRawComparator.java | 54 +
.../processors/hadoop/impl/v2/HadoopV2Job.java | 22 +-
.../impl/v2/HadoopV2JobResourceManager.java | 25 +-
.../hadoop/impl/v2/HadoopV2MapTask.java | 10 +
.../hadoop/impl/v2/HadoopV2TaskContext.java | 21 +
.../processors/hadoop/io/OffheapRawMemory.java | 131 ++
.../hadoop/jobtracker/HadoopJobTracker.java | 8 +-
.../hadoop/mapreduce/MapReduceClient.java | 147 ++
.../hadoop/message/HadoopMessage.java | 27 -
.../hadoop/shuffle/HadoopShuffle.java | 112 +-
.../hadoop/shuffle/HadoopShuffleAck.java | 92 --
.../hadoop/shuffle/HadoopShuffleJob.java | 748 ++++++++--
.../hadoop/shuffle/HadoopShuffleLocalState.java | 67 +
.../hadoop/shuffle/HadoopShuffleMessage.java | 242 ----
.../shuffle/HadoopShuffleRemoteState.java | 61 +
.../shuffle/collections/HadoopMultimapBase.java | 5 +-
.../shuffle/collections/HadoopSkipList.java | 14 +-
.../shuffle/direct/HadoopDirectDataInput.java | 166 +++
.../shuffle/direct/HadoopDirectDataOutput.java | 221 +++
.../direct/HadoopDirectDataOutputContext.java | 100 ++
.../direct/HadoopDirectDataOutputState.java | 54 +
.../shuffle/streams/HadoopDataOutStream.java | 2 +-
.../child/HadoopChildProcessRunner.java | 12 +-
.../HadoopExternalCommunication.java | 4 +-
.../communication/HadoopIpcToNioAdapter.java | 2 +-
.../communication/HadoopMarshallerFilter.java | 6 +-
.../resources/META-INF/classnames.properties | 114 ++
.../hadoop/impl/HadoopAbstractSelfTest.java | 13 +-
.../impl/HadoopAbstractWordCountTest.java | 6 +-
.../hadoop/impl/HadoopFileSystemsTest.java | 9 +
.../hadoop/impl/HadoopJobTrackerSelfTest.java | 4 +-
.../impl/HadoopMapReduceEmbeddedSelfTest.java | 22 +-
.../impl/HadoopTaskExecutionSelfTest.java | 4 +-
.../hadoop/impl/HadoopTeraSortTest.java | 383 +++++
...opClientProtocolMultipleServersSelfTest.java | 93 +-
.../client/HadoopClientProtocolSelfTest.java | 232 +--
.../collections/HadoopAbstractMapTest.java | 6 +
.../HadoopConcurrentHashMultimapSelftest.java | 2 +-
.../collections/HadoopSkipListSelfTest.java | 16 +-
.../HadoopExternalTaskExecutionSelfTest.java | 2 +
.../testsuites/IgniteHadoopTestSuite.java | 3 +
modules/hibernate/pom.xml | 2 +-
modules/indexing/pom.xml | 2 +-
.../cache/query/GridCacheTwoStepQuery.java | 253 ++++
.../query/h2/DmlStatementsProcessor.java | 1083 ++++++++++++++
.../query/h2/GridH2ResultSetIterator.java | 3 +-
.../processors/query/h2/IgniteH2Indexing.java | 130 +-
.../query/h2/dml/FastUpdateArgument.java | 27 +
.../query/h2/dml/FastUpdateArguments.java | 53 +
.../query/h2/dml/KeyValueSupplier.java | 30 +
.../processors/query/h2/dml/UpdateMode.java | 36 +
.../processors/query/h2/dml/UpdatePlan.java | 128 ++
.../query/h2/dml/UpdatePlanBuilder.java | 486 +++++++
.../processors/query/h2/dml/package-info.java | 22 +
.../query/h2/opt/GridH2RowDescriptor.java | 23 +
.../query/h2/opt/GridH2TreeIndex.java | 2 +-
.../processors/query/h2/sql/DmlAstUtils.java | 616 ++++++++
.../processors/query/h2/sql/GridSqlArray.java | 8 +
.../processors/query/h2/sql/GridSqlConst.java | 6 +
.../processors/query/h2/sql/GridSqlDelete.java | 68 +
.../query/h2/sql/GridSqlFunction.java | 5 +-
.../processors/query/h2/sql/GridSqlInsert.java | 149 ++
.../processors/query/h2/sql/GridSqlKeyword.java | 46 +
.../processors/query/h2/sql/GridSqlMerge.java | 143 ++
.../processors/query/h2/sql/GridSqlQuery.java | 44 +-
.../query/h2/sql/GridSqlQueryParser.java | 323 ++++-
.../query/h2/sql/GridSqlQuerySplitter.java | 6 +-
.../processors/query/h2/sql/GridSqlSelect.java | 3 +-
.../query/h2/sql/GridSqlStatement.java | 64 +
.../processors/query/h2/sql/GridSqlUpdate.java | 105 ++
.../h2/twostep/GridReduceQueryExecutor.java | 61 +-
...niteCacheAbstractInsertSqlQuerySelfTest.java | 559 ++++++++
.../IgniteCacheAbstractSqlDmlQuerySelfTest.java | 243 ++++
.../IgniteCacheDeleteSqlQuerySelfTest.java | 106 ++
.../IgniteCacheInsertSqlQuerySelfTest.java | 203 +++
.../cache/IgniteCacheLargeResultSelfTest.java | 15 +-
.../cache/IgniteCacheMergeSqlQuerySelfTest.java | 153 ++
.../IgniteCacheUpdateSqlQuerySelfTest.java | 472 ++++++
.../IgniteCacheAtomicFieldsQuerySelfTest.java | 21 -
.../h2/GridIndexingSpiAbstractSelfTest.java | 37 +-
.../query/h2/sql/GridQueryParsingTest.java | 109 +-
.../IgniteCacheQuerySelfTestSuite.java | 143 +-
.../IgniteCacheQuerySelfTestSuite2.java | 111 +-
.../IgniteH2IndexingSpiTestSuite.java | 16 +-
modules/jcl/pom.xml | 2 +-
modules/jms11/pom.xml | 2 +-
modules/jta/pom.xml | 2 +-
modules/kafka/pom.xml | 2 +-
.../ignite/stream/kafka/KafkaStreamer.java | 50 +-
.../kafka/KafkaIgniteStreamerSelfTest.java | 36 +-
modules/log4j/pom.xml | 2 +-
modules/log4j2/pom.xml | 2 +-
modules/mesos/pom.xml | 2 +-
modules/mqtt/pom.xml | 2 +-
modules/osgi-karaf/pom.xml | 2 +-
modules/osgi-paxlogging/pom.xml | 2 +-
modules/osgi/pom.xml | 3 +-
.../include/ignite/binary/binary_raw_reader.h | 21 +
.../ignite/impl/binary/binary_reader_impl.h | 9 +-
.../src/impl/binary/binary_reader_impl.cpp | 20 +-
.../platforms/cpp/common/include/Makefile.am | 5 +-
.../common/include/ignite/common/concurrent.h | 90 +-
.../include/ignite/common/reference_impl.h | 286 ++++
.../cpp/common/include/ignite/reference.h | 564 ++++++++
.../cpp/common/project/vs/common.vcxproj | 2 +
.../common/project/vs/common.vcxproj.filters | 6 +
modules/platforms/cpp/configure.ac | 2 +-
modules/platforms/cpp/configure.acrel | 2 +-
modules/platforms/cpp/core-test/Makefile.am | 7 +-
.../core-test/config/cache-query-continuous.xml | 87 ++
.../cpp/core-test/config/cache-query.xml | 10 +
.../cpp/core-test/config/cache-test.xml | 1 +
.../platforms/cpp/core-test/config/invalid.xml | 39 +
.../cpp/core-test/project/vs/core-test.vcxproj | 13 +-
.../project/vs/core-test.vcxproj.filters | 11 +-
.../cpp/core-test/src/cache_query_test.cpp | 76 +-
.../cpp/core-test/src/continuous_query_test.cpp | 611 ++++++++
.../cpp/core-test/src/handle_registry_test.cpp | 18 +-
.../cpp/core-test/src/interop_test.cpp | 17 +-
.../cpp/core-test/src/reference_test.cpp | 412 ++++++
modules/platforms/cpp/core/Makefile.am | 1 +
.../cpp/core/include/ignite/cache/cache.h | 104 +-
.../cpp/core/include/ignite/cache/cache_entry.h | 40 +-
.../ignite/cache/event/cache_entry_event.h | 139 ++
.../cache/event/cache_entry_event_listener.h | 71 +
.../cache/query/continuous/continuous_query.h | 239 ++++
.../query/continuous/continuous_query_handle.h | 133 ++
.../core/include/ignite/impl/cache/cache_impl.h | 116 +-
.../continuous/continuous_query_handle_impl.h | 101 ++
.../query/continuous/continuous_query_impl.h | 351 +++++
.../core/include/ignite/impl/handle_registry.h | 62 +-
.../include/ignite/impl/ignite_environment.h | 34 +-
modules/platforms/cpp/core/namespaces.dox | 74 +-
.../platforms/cpp/core/project/vs/core.vcxproj | 7 +
.../cpp/core/project/vs/core.vcxproj.filters | 30 +
modules/platforms/cpp/core/src/ignition.cpp | 15 +-
.../cpp/core/src/impl/cache/cache_impl.cpp | 31 +
.../continuous/continuous_query_handle_impl.cpp | 96 ++
.../cpp/core/src/impl/handle_registry.cpp | 102 +-
.../cpp/core/src/impl/ignite_environment.cpp | 146 +-
modules/platforms/cpp/examples/Makefile.am | 1 +
modules/platforms/cpp/examples/configure.ac | 3 +-
.../continuous-query-example/Makefile.am | 58 +
.../config/continuous-query-example.xml | 52 +
.../project/vs/continuous-query-example.vcxproj | 110 ++
.../vs/continuous-query-example.vcxproj.filters | 35 +
.../src/continuous_query_example.cpp | 142 ++
.../examples/include/ignite/examples/person.h | 2 +-
.../odbc-example/config/example-odbc.xml | 38 +-
.../project/vs/odbc-example.vcxproj | 7 +-
.../project/vs/odbc-example.vcxproj.filters | 8 +
.../examples/odbc-example/src/odbc_example.cpp | 514 ++++++-
.../cpp/examples/project/vs/ignite-examples.sln | 6 +
.../putget-example/src/putget_example.cpp | 2 +-
.../query-example/src/query_example.cpp | 4 +-
.../cpp/jni/include/ignite/jni/exports.h | 3 -
.../platforms/cpp/jni/include/ignite/jni/java.h | 94 +-
modules/platforms/cpp/jni/project/vs/module.def | 6 +-
modules/platforms/cpp/jni/src/exports.cpp | 8 -
modules/platforms/cpp/jni/src/java.cpp | 419 +-----
.../odbc-test/config/queries-test-noodbc.xml | 4 +
.../cpp/odbc-test/config/queries-test.xml | 41 +
.../platforms/cpp/odbc-test/include/Makefile.am | 1 +
.../cpp/odbc-test/include/complex_type.h | 122 ++
.../cpp/odbc-test/project/vs/odbc-test.vcxproj | 5 +-
.../project/vs/odbc-test.vcxproj.filters | 3 +
.../src/application_data_buffer_test.cpp | 2 +-
.../cpp/odbc-test/src/queries_test.cpp | 437 +++++-
.../platforms/cpp/odbc/include/ignite/odbc.h | 14 +-
.../ignite/odbc/app/application_data_buffer.h | 4 +-
.../odbc/include/ignite/odbc/app/parameter.h | 2 +-
.../cpp/odbc/include/ignite/odbc/common_types.h | 3 +
.../cpp/odbc/include/ignite/odbc/message.h | 138 +-
.../odbc/include/ignite/odbc/query/data_query.h | 12 +-
.../cpp/odbc/include/ignite/odbc/query/query.h | 44 +-
.../cpp/odbc/include/ignite/odbc/statement.h | 83 +-
.../cpp/odbc/include/ignite/odbc/type_traits.h | 2 +-
.../cpp/odbc/include/ignite/odbc/utility.h | 11 +-
.../cpp/odbc/install/ignite-odbc-amd64.wxs | 2 +-
.../cpp/odbc/install/ignite-odbc-x86.wxs | 2 +-
.../odbc/src/app/application_data_buffer.cpp | 57 +-
.../platforms/cpp/odbc/src/app/parameter.cpp | 3 +-
modules/platforms/cpp/odbc/src/column.cpp | 41 +-
modules/platforms/cpp/odbc/src/connection.cpp | 23 +-
modules/platforms/cpp/odbc/src/entry_points.cpp | 32 +-
modules/platforms/cpp/odbc/src/odbc.cpp | 25 +-
.../odbc/src/query/column_metadata_query.cpp | 2 +-
.../platforms/cpp/odbc/src/query/data_query.cpp | 6 +-
.../cpp/odbc/src/query/foreign_keys_query.cpp | 2 +-
.../cpp/odbc/src/query/primary_keys_query.cpp | 2 +-
.../odbc/src/query/special_columns_query.cpp | 2 +-
.../cpp/odbc/src/query/table_metadata_query.cpp | 2 +-
.../cpp/odbc/src/query/type_info_query.cpp | 2 +-
modules/platforms/cpp/odbc/src/statement.cpp | 230 ++-
modules/platforms/cpp/odbc/src/type_traits.cpp | 3 +
modules/platforms/cpp/odbc/src/utility.cpp | 22 +-
modules/platforms/cpp/project/vs/ignite.slnrel | 3 +
.../platforms/cpp/project/vs/ignite_x86.slnrel | 3 +
.../Properties/AssemblyInfo.cs | 6 +-
.../Apache.Ignite.AspNet.nuspec | 4 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Binary/BinaryCompactFooterInteropTest.cs | 31 +-
.../Cache/Query/CacheLinqTest.cs | 21 +-
.../Query/CacheQueriesCodeConfigurationTest.cs | 17 +-
.../Cache/Query/CacheQueriesTest.cs | 8 +
.../Examples/Example.cs | 6 +-
.../Examples/ExamplesTest.cs | 7 +-
.../Apache.Ignite.Core.Tests/ExecutableTest.cs | 64 +-
.../Process/IgniteProcess.cs | 21 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Apache.Ignite.Core.Tests/ReconnectTest.cs | 4 +-
.../Services/ServicesTest.cs | 46 +-
.../Apache.Ignite.Core.Tests/TestUtils.cs | 3 +-
.../Apache.Ignite.Core.csproj | 2 +
.../dotnet/Apache.Ignite.Core/Binary/IBinary.cs | 3 +-
.../Apache.Ignite.Core/Cache/Query/QueryBase.cs | 15 +-
.../Apache.Ignite.Core/IgniteConfiguration.cs | 1 +
.../Impl/Binary/BinaryUtils.cs | 16 +
.../Impl/Binary/Io/BinaryStreamBase.cs | 4 +-
.../Apache.Ignite.Core/Impl/Cache/CacheImpl.cs | 29 +-
.../Apache.Ignite.Core/Impl/Common/Future.cs | 13 +-
.../Impl/Common/Listenable.cs | 49 +
.../Impl/Compute/ComputeImpl.cs | 4 +-
.../Impl/Compute/ComputeTaskHolder.cs | 14 +-
.../Apache.Ignite.Core/Impl/PlatformTarget.cs | 2 +-
.../Impl/Unmanaged/IgniteJniNativeMethods.cs | 8 -
.../Impl/Unmanaged/UnmanagedCallbackHandlers.cs | 79 +-
.../Impl/Unmanaged/UnmanagedCallbackOp.cs | 86 ++
.../Impl/Unmanaged/UnmanagedCallbacks.cs | 1229 ++++++++--------
.../Impl/Unmanaged/UnmanagedUtils.cs | 5 -
.../Properties/AssemblyInfo.cs | 6 +-
.../EntityFrameworkCacheTest.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Impl/CacheQueryExpressionVisitor.cs | 12 +-
.../Apache.Ignite.Linq/Impl/MethodVisitor.cs | 34 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
modules/platforms/dotnet/Apache.Ignite.sln | 7 +
.../Apache.Ignite/Config/ArgsConfigurator.cs | 7 +-
.../dotnet/Apache.Ignite/Config/Configurator.cs | 10 +
.../Apache.Ignite/Properties/AssemblyInfo.cs | 6 +-
modules/platforms/dotnet/DEVNOTES.txt | 12 +-
modules/platforms/dotnet/README.md | 150 ++
modules/platforms/dotnet/build.bat | 14 +
modules/platforms/dotnet/build.ps1 | 211 +++
.../Datagrid/MultiTieredCacheExample.cs | 8 +-
.../Misc/ClientReconnectExample.cs | 18 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
modules/rest-http/pom.xml | 2 +-
modules/scalar-2.10/pom.xml | 2 +-
modules/scalar/pom.xml | 2 +-
modules/schedule/pom.xml | 2 +-
modules/schema-import-db/pom.xml | 2 +-
modules/schema-import/pom.xml | 2 +-
modules/slf4j/pom.xml | 2 +-
modules/spark-2.10/pom.xml | 2 +-
modules/spark/pom.xml | 2 +-
modules/spring/pom.xml | 2 +-
modules/ssh/pom.xml | 2 +-
modules/storm/pom.xml | 2 +-
modules/tools/pom.xml | 2 +-
.../ignite/tools/classgen/ClassesGenerator.java | 8 +-
modules/twitter/pom.xml | 2 +-
modules/urideploy/pom.xml | 2 +-
modules/visor-console-2.10/pom.xml | 2 +-
modules/visor-console/pom.xml | 2 +-
modules/visor-plugins/pom.xml | 2 +-
modules/web-console/backend/app/agent.js | 32 +-
modules/web-console/backend/app/browser.js | 13 +
modules/web-console/backend/app/mongo.js | 6 +
.../backend/config/settings.json.sample | 7 -
modules/web-console/backend/index.js | 6 +-
modules/web-console/backend/middlewares/host.js | 7 +-
modules/web-console/backend/routes/agent.js | 4 +-
modules/web-console/backend/services/agents.js | 2 +-
modules/web-console/backend/services/caches.js | 2 +
.../docker/compose/backend/.dockerignore | 2 +
.../docker/compose/backend/Dockerfile | 6 +-
.../web-console/docker/compose/backend/build.sh | 4 +-
.../docker/compose/docker-compose.yml | 5 -
.../docker/compose/frontend/DockerfileBuild | 4 +-
.../docker/compose/frontend/build.sh | 6 +-
.../compose/frontend/nginx/web-console.conf | 9 +
.../web-console/docker/standalone/.dockerignore | 5 +
.../web-console/docker/standalone/Dockerfile | 10 +-
modules/web-console/docker/standalone/build.sh | 4 +-
.../docker/standalone/docker-compose.yml | 7 +-
.../docker/standalone/nginx/web-console.conf | 9 +
.../frontend/app/data/pom-dependencies.json | 2 +-
.../directives/ui-ace-pojos/ui-ace-pojos.jade | 2 +-
.../frontend/app/filters/duration.filter.js | 3 +
.../helpers/jade/form/form-field-checkbox.jade | 2 +-
.../helpers/jade/form/form-field-datalist.jade | 2 +-
.../helpers/jade/form/form-field-dropdown.jade | 2 +-
.../helpers/jade/form/form-field-number.jade | 2 +-
.../helpers/jade/form/form-field-password.jade | 2 +-
.../app/helpers/jade/form/form-field-text.jade | 2 +-
.../frontend/app/helpers/jade/mixins.jade | 24 +-
.../modules/configuration/generator/Beans.js | 6 +
.../generator/ConfigurationGenerator.js | 165 ++-
.../generator/JavaTransformer.service.js | 15 +-
.../generator/Properties.service.js | 19 +
.../generator/SpringTransformer.service.js | 22 +-
.../generator/defaults/cache.provider.js | 8 +
.../generator/defaults/cluster.provider.js | 2 +-
.../app/modules/form/field/tooltip.directive.js | 2 +-
.../app/modules/form/group/tooltip.directive.js | 2 +-
.../app/modules/form/panel/field.directive.js | 4 +-
.../app/modules/sql/scan-filter-input.jade | 2 +-
.../frontend/app/modules/sql/sql.controller.js | 6 +-
.../configuration/caches/client-near-cache.jade | 2 +-
.../configuration/caches/concurrency.jade | 2 +-
.../states/configuration/caches/general.jade | 2 +-
.../states/configuration/caches/memory.jade | 2 +-
.../configuration/caches/near-cache-client.jade | 2 +-
.../configuration/caches/near-cache-server.jade | 2 +-
.../configuration/caches/node-filter.jade | 2 +-
.../states/configuration/caches/query.jade | 2 +-
.../states/configuration/caches/rebalance.jade | 2 +-
.../states/configuration/caches/statistics.jade | 2 +-
.../states/configuration/caches/store.jade | 20 +-
.../states/configuration/clusters/atomic.jade | 2 +-
.../configuration/clusters/attributes.jade | 2 +-
.../states/configuration/clusters/binary.jade | 2 +-
.../configuration/clusters/cache-key-cfg.jade | 2 +-
.../configuration/clusters/checkpoint.jade | 8 +-
.../configuration/clusters/checkpoint/fs.jade | 2 +-
.../configuration/clusters/checkpoint/jdbc.jade | 41 +-
.../configuration/clusters/checkpoint/s3.jade | 229 +--
.../configuration/clusters/collision.jade | 12 +-
.../clusters/collision/custom.jade | 2 +-
.../clusters/collision/fifo-queue.jade | 2 +-
.../clusters/collision/job-stealing.jade | 2 +-
.../clusters/collision/priority-queue.jade | 2 +-
.../configuration/clusters/communication.jade | 2 +-
.../configuration/clusters/connector.jade | 2 +-
.../configuration/clusters/deployment.jade | 2 +-
.../configuration/clusters/discovery.jade | 2 +-
.../states/configuration/clusters/events.jade | 2 +-
.../states/configuration/clusters/failover.jade | 2 +-
.../states/configuration/clusters/general.jade | 2 +-
.../clusters/general/discovery/cloud.jade | 2 +-
.../clusters/general/discovery/google.jade | 2 +-
.../clusters/general/discovery/jdbc.jade | 3 +-
.../clusters/general/discovery/multicast.jade | 2 +-
.../clusters/general/discovery/s3.jade | 2 +-
.../clusters/general/discovery/shared.jade | 2 +-
.../clusters/general/discovery/vm.jade | 2 +-
.../clusters/general/discovery/zookeeper.jade | 2 +-
.../bounded-exponential-backoff.jade | 2 +-
.../discovery/zookeeper/retrypolicy/custom.jade | 2 +-
.../retrypolicy/exponential-backoff.jade | 2 +-
.../zookeeper/retrypolicy/forever.jade | 2 +-
.../zookeeper/retrypolicy/n-times.jade | 2 +-
.../zookeeper/retrypolicy/one-time.jade | 2 +-
.../zookeeper/retrypolicy/until-elapsed.jade | 2 +-
.../states/configuration/clusters/igfs.jade | 2 +-
.../configuration/clusters/load-balancing.jade | 2 +-
.../states/configuration/clusters/logger.jade | 2 +-
.../configuration/clusters/logger/custom.jade | 2 +-
.../configuration/clusters/logger/log4j.jade | 2 +-
.../configuration/clusters/logger/log4j2.jade | 2 +-
.../configuration/clusters/marshaller.jade | 2 +-
.../states/configuration/clusters/metrics.jade | 2 +-
.../states/configuration/clusters/odbc.jade | 2 +-
.../states/configuration/clusters/ssl.jade | 2 +-
.../states/configuration/clusters/swap.jade | 2 +-
.../states/configuration/clusters/thread.jade | 2 +-
.../states/configuration/clusters/time.jade | 2 +-
.../configuration/clusters/transactions.jade | 2 +-
.../states/configuration/domains/general.jade | 2 +-
.../states/configuration/domains/query.jade | 16 +-
.../states/configuration/domains/store.jade | 12 +-
.../modules/states/configuration/igfs/dual.jade | 2 +-
.../states/configuration/igfs/fragmentizer.jade | 2 +-
.../states/configuration/igfs/general.jade | 2 +-
.../modules/states/configuration/igfs/ipc.jade | 2 +-
.../modules/states/configuration/igfs/misc.jade | 6 +-
.../states/configuration/igfs/secondary.jade | 2 +-
.../configuration/summary/summary.controller.js | 12 +-
.../frontend/controllers/clusters-controller.js | 10 +
.../frontend/controllers/domains-controller.js | 8 +-
.../frontend/gulpfile.babel.js/tasks/jade.js | 4 +-
.../frontend/gulpfile.babel.js/tasks/test.js | 92 --
.../gulpfile.babel.js/webpack/common.js | 5 +-
.../webpack/environments/development.js | 5 +
modules/web-console/frontend/package.json | 2 +-
.../stylesheets/_font-awesome-custom.scss | 18 +
.../frontend/public/stylesheets/style.scss | 13 +-
.../frontend/views/configuration/caches.jade | 22 +-
.../frontend/views/configuration/clusters.jade | 50 +-
.../views/configuration/domains-import.jade | 4 +-
.../frontend/views/configuration/domains.jade | 8 +-
.../frontend/views/configuration/igfs.jade | 14 +-
.../frontend/views/configuration/summary.jade | 2 +-
.../frontend/views/includes/header.jade | 15 +-
.../frontend/views/settings/profile.jade | 2 +-
modules/web-console/frontend/views/sql/sql.jade | 2 +-
.../views/templates/agent-download.jade | 2 +-
.../frontend/views/templates/batch-confirm.jade | 2 +-
.../frontend/views/templates/clone.jade | 2 +-
.../frontend/views/templates/confirm.jade | 2 +-
modules/web-console/pom.xml | 2 +-
modules/web-console/web-agent/README.txt | 4 +-
.../web-agent/bin/ignite-web-agent.bat | 7 +-
.../web-agent/bin/ignite-web-agent.sh | 6 +-
modules/web-console/web-agent/pom.xml | 2 +-
.../console/agent/AgentConfiguration.java | 5 +-
.../ignite/console/agent/AgentLauncher.java | 6 +-
.../ignite/console/demo/AgentClusterDemo.java | 1 +
modules/web/ignite-appserver-test/pom.xml | 2 +-
modules/web/ignite-websphere-test/pom.xml | 2 +-
modules/web/pom.xml | 2 +-
.../config/benchmark-bin-identity.properties | 94 ++
.../config/benchmark-multicast.properties | 15 +
.../config/benchmark-sql-dml.properties | 72 +
modules/yardstick/config/ignite-base-config.xml | 71 +-
.../config/ignite-bin-multicast-config.xml | 86 ++
modules/yardstick/pom.xml | 2 +-
.../yardstick/IgniteAbstractBenchmark.java | 30 +
.../yardstick/IgniteBenchmarkArguments.java | 11 +
.../ignite/yardstick/IgniteBenchmarkUtils.java | 42 +-
.../apache/ignite/yardstick/PreloadLogger.java | 155 ++
.../yardstick/cache/CacheEntryEventProbe.java | 2 +-
.../cache/IgniteBinaryIdentityBenchmark.java | 108 ++
.../cache/IgniteBinaryIdentityGetBenchmark.java | 34 +
.../cache/IgniteBinaryIdentityPutBenchmark.java | 35 +
.../IgniteFieldsBinaryIdentityGetBenchmark.java | 30 +
.../IgniteFieldsBinaryIdentityPutBenchmark.java | 30 +
.../yardstick/cache/IgniteIoTestBenchmark.java | 73 +
.../IgniteLegacyBinaryIdentityGetBenchmark.java | 30 +
.../IgniteLegacyBinaryIdentityPutBenchmark.java | 30 +
...IgnitePutIfAbsentIndexedValue1Benchmark.java | 45 +
.../IgniteReplaceIndexedValue1Benchmark.java | 79 ++
.../cache/dml/IgniteSqlDeleteBenchmark.java | 83 ++
.../dml/IgniteSqlDeleteFilteredBenchmark.java | 88 ++
.../IgniteSqlInsertIndexedValue1Benchmark.java | 48 +
.../IgniteSqlInsertIndexedValue2Benchmark.java | 48 +
.../IgniteSqlInsertIndexedValue8Benchmark.java | 48 +
.../cache/dml/IgniteSqlMergeAllBenchmark.java | 82 ++
.../cache/dml/IgniteSqlMergeBenchmark.java | 42 +
.../IgniteSqlMergeIndexedValue1Benchmark.java | 43 +
.../IgniteSqlMergeIndexedValue2Benchmark.java | 43 +
.../IgniteSqlMergeIndexedValue8Benchmark.java | 43 +
.../cache/dml/IgniteSqlMergeQueryBenchmark.java | 116 ++
.../cache/dml/IgniteSqlUpdateBenchmark.java | 82 ++
.../dml/IgniteSqlUpdateFilteredBenchmark.java | 88 ++
.../IgniteCacheRandomOperationBenchmark.java | 22 +-
.../yardstick/cache/model/SampleValue.java | 2 +
.../io/IgniteIoTestAbstractBenchmark.java | 61 +
.../io/IgniteIoTestSendAllBenchmark.java | 32 +
.../io/IgniteIoTestSendRandomBenchmark.java | 35 +
modules/yarn/pom.xml | 2 +-
modules/zookeeper/pom.xml | 2 +-
pom.xml | 2 +-
853 files changed, 34666 insertions(+), 8262 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/cecaf7e8/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
index 857c813,2980eb7..979e8db
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
@@@ -168,12 -173,7 +174,13 @@@ public class GridIoMessageFactory imple
Message msg = null;
switch (type) {
- case -39:
++ case -47:
+ msg = new SnapshotProgressMessage();
+
+ break;
+
- case -38:
++
+ case -46:
msg = new GridChangeGlobalStateMessageResponse();
break;
@@@ -807,7 -838,7 +845,7 @@@
break;
- // [-3..119] [124-127] [-23..-29] [-36..-37] - this
- // [-3..119] [124..127] [-23..-27] [-36..-45]- this
++ // [-3..119] [124..127] [-23..-27] [-36..-47]- this
// [120..123] - DR
// [-4..-22, -30..-35] - SQL
default:
http://git-wip-us.apache.org/repos/asf/ignite/blob/cecaf7e8/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/cecaf7e8/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/cecaf7e8/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
----------------------------------------------------------------------
[19/50] [abbrv] ignite git commit: ignite-gg-11650 Stabilize
8.0.2.ea1 branch after merging activation/deactivation fix join inactive node
to active cluster
Posted by ag...@apache.org.
ignite-gg-11650 Stabilize 8.0.2.ea1 branch after merging activation/deactivation fix join inactive node to active cluster
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/094a1b8c
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/094a1b8c
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/094a1b8c
Branch: refs/heads/ignite-3477
Commit: 094a1b8c5d6fe47e642c13b23904714e70cdacbf
Parents: 9f9be20
Author: Dmitriy Govorukhin <dg...@gridgain.com>
Authored: Thu Dec 22 15:21:14 2016 +0300
Committer: Dmitriy Govorukhin <dg...@gridgain.com>
Committed: Thu Dec 22 15:21:14 2016 +0300
----------------------------------------------------------------------
.../processors/cache/GridCacheProcessor.java | 117 ++++++++++++++-----
.../IgniteCacheDatabaseSharedManager.java | 7 ++
.../cluster/GridClusterStateProcessor.java | 11 +-
.../datastructures/DataStructuresProcessor.java | 11 +-
.../service/GridServiceProcessor.java | 42 +------
5 files changed, 113 insertions(+), 75 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/094a1b8c/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 3834189..6514287 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
@@ -569,7 +569,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
"Deployment mode for cache is not CONTINUOUS or SHARED.");
}
- initializeInternalCachesNames();
+ initializeInternalCacheNames();
sharedCtx = createSharedContext(
ctx, CU.startStoreSessionListeners(ctx, ctx.config().getCacheStoreSessionListenerFactories()));
@@ -580,12 +580,25 @@ public class GridCacheProcessor extends GridProcessorAdapter {
for (GridCacheSharedManager mgr : sharedCtx.managers())
mgr.start(sharedCtx);
- //if inActivate on start then skip start caches
+ //if inActivate on start then skip registrate caches
if (!activeOnStart)
return;
CacheConfiguration[] cfgs = ctx.config().getCacheConfiguration();
+ registerCacheFromConfig(cfgs);
+
+ registerCacheFromPersistentStore(cfgs);
+
+ if (log.isDebugEnabled())
+ log.debug("Started cache processor.");
+ }
+
+ /**
+ * @param cfgs Cache configurations.
+ * @throws IgniteCheckedException If failed.
+ */
+ private void registerCacheFromConfig(CacheConfiguration[] cfgs) throws IgniteCheckedException {
for (int i = 0; i < cfgs.length; i++) {
if (ctx.config().isDaemon() && !CU.isMarshallerCache(cfgs[i].getName()))
continue;
@@ -596,7 +609,13 @@ public class GridCacheProcessor extends GridProcessorAdapter {
registerCache(cfg);
}
+ }
+ /**
+ * @param cfgs Cache configurations.
+ * @throws IgniteCheckedException If failed.
+ */
+ private void registerCacheFromPersistentStore(CacheConfiguration[] cfgs) throws IgniteCheckedException {
if (sharedCtx.pageStore() != null &&
sharedCtx.database().persistenceEnabled() &&
!ctx.config().isDaemon()) {
@@ -610,7 +629,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
savedCacheNames.remove(name);
if (!F.isEmpty(savedCacheNames)) {
- log.info("Will start persisted dynamic caches: " + savedCacheNames);
+ log.info("Registrate persistent caches: " + savedCacheNames);
for (String name : savedCacheNames) {
CacheConfiguration cfg = sharedCtx.pageStore().readConfiguration(name);
@@ -620,9 +639,6 @@ public class GridCacheProcessor extends GridProcessorAdapter {
}
}
}
-
- if (log.isDebugEnabled())
- log.debug("Started cache processor.");
}
/**
@@ -664,8 +680,8 @@ public class GridCacheProcessor extends GridProcessorAdapter {
boolean template = cfg.getName() != null && cfg.getName().endsWith("*");
- DynamicCacheDescriptor desc = new DynamicCacheDescriptor(ctx, cfg, cacheType, template,
- IgniteUuid.randomUuid());
+ DynamicCacheDescriptor desc = new DynamicCacheDescriptor(
+ ctx, cfg, cacheType, template, IgniteUuid.randomUuid());
desc.locallyConfigured(true);
desc.staticallyConfigured(true);
@@ -697,8 +713,8 @@ public class GridCacheProcessor extends GridProcessorAdapter {
}
if (cfg.getName() == null) { // Use cache configuration with null name as template.
- DynamicCacheDescriptor desc0 =
- new DynamicCacheDescriptor(ctx, cfg, cacheType, true, IgniteUuid.randomUuid());
+ DynamicCacheDescriptor desc0 = new DynamicCacheDescriptor(
+ ctx, cfg, cacheType, true, IgniteUuid.randomUuid());
desc0.locallyConfigured(true);
desc0.staticallyConfigured(true);
@@ -710,7 +726,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
/**
* Initialize internal cache names
*/
- private void initializeInternalCachesNames() {
+ private void initializeInternalCacheNames() {
FileSystemConfiguration[] igfsCfgs = ctx.grid().configuration().getFileSystemConfiguration();
if (igfsCfgs != null) {
@@ -734,13 +750,43 @@ public class GridCacheProcessor extends GridProcessorAdapter {
try {
checkConsistency();
- //must be here, because we must start database before start first cache
- if (activeOnStart) {
+ boolean currentStatus = ctx.state().active();
+
+ //if we start as inactive node, and join to active cluster, we must registrate all caches which
+ //was receive on join
+ if (!ctx.isDaemon() && currentStatus && !activeOnStart) {
+ CacheConfiguration[] cacheCfgs = ctx.config().getCacheConfiguration();
+
+ CacheConfiguration[] newCacheCfg = new CacheConfiguration[cacheCfgs.length];
+
+ for (int i = 0; i < cacheCfgs.length; i++) {
+ CacheConfiguration conf = cacheCfgs[i];
+
+ for (DynamicCacheDescriptor desc : registeredCaches.values()) {
+ CacheConfiguration c = desc.cacheConfiguration();
+ IgnitePredicate filter = conf.getNodeFilter();
+
+ if (c.getName().equals(conf.getName()) &&
+ (desc.receivedOnDiscovery() || CU.isSystemCache(c.getName()))) {
+
+ newCacheCfg[i] = c;
+
+ break;
+ }
+ }
+ }
+
+ ctx.config().setCacheConfiguration(newCacheCfg);
+
+ activeOnStart = ctx.state().active();
+ }
+
+ if (activeOnStart)
if (!ctx.clientNode())
sharedCtx.database().lock();
- sharedCtx.database().onKernalStart(false);
- }
+ //must start database before start first cache
+ sharedCtx.database().onKernalStart(false);
// Start dynamic caches received from collect discovery data.
for (DynamicCacheDescriptor desc : registeredCaches.values()) {
@@ -783,6 +829,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
}
}
}
+ //todo if in active caches not started on start
finally {
cacheStartedLatch.countDown();
}
@@ -792,6 +839,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
if (sharedCtx.database() != mgr)
mgr.onKernalStart(false);
+ // Escape if start active on start false
if (!activeOnStart)
return;
@@ -811,7 +859,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
IgnitePredicate filter = cfg.getNodeFilter();
- if (desc.locallyConfigured() || desc.receivedOnDiscovery() && CU.affinityNode(locNode, filter)) {
+ if (desc.locallyConfigured() || (desc.receivedOnDiscovery() && CU.affinityNode(locNode, filter))) {
GridCacheAdapter cache = caches.get(maskNull(cfg.getName()));
if (cache != null) {
@@ -843,7 +891,8 @@ public class GridCacheProcessor extends GridProcessorAdapter {
DeploymentMode locDepMode = ctx.config().getDeploymentMode();
DeploymentMode rmtDepMode = n.attribute(IgniteNodeAttributes.ATTR_DEPLOYMENT_MODE);
- CU.checkAttributeMismatch(log, null, n.id(), "deploymentMode", "Deployment mode",
+ CU.checkAttributeMismatch(
+ log, null, n.id(), "deploymentMode", "Deployment mode",
locDepMode, rmtDepMode, true);
for (DynamicCacheDescriptor desc : registeredCaches.values()) {
@@ -1784,6 +1833,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
GridCacheContext cacheCtx = createCache(ccfg, null, cacheType, cacheObjCtx, true);
cacheCtx.startTopologyVersion(topVer);
+
cacheCtx.dynamicDeploymentId(deploymentId);
GridCacheAdapter cache = cacheCtx.cache();
@@ -2024,7 +2074,8 @@ public class GridCacheProcessor extends GridProcessorAdapter {
reqs = new ArrayList<>(registeredCaches.size() + registeredTemplates.size() + 1);
for (DynamicCacheDescriptor desc : registeredCaches.values()) {
- DynamicCacheChangeRequest req = new DynamicCacheChangeRequest(UUID.randomUUID(), desc.cacheConfiguration().getName(), null);
+ DynamicCacheChangeRequest req = new DynamicCacheChangeRequest(
+ UUID.randomUUID(), desc.cacheConfiguration().getName(), null);
req.startCacheConfiguration(desc.cacheConfiguration());
@@ -2038,7 +2089,8 @@ public class GridCacheProcessor extends GridProcessorAdapter {
}
for (DynamicCacheDescriptor desc : registeredTemplates.values()) {
- DynamicCacheChangeRequest req = new DynamicCacheChangeRequest(UUID.randomUUID(), desc.cacheConfiguration().getName(), null);
+ DynamicCacheChangeRequest req = new DynamicCacheChangeRequest(
+ UUID.randomUUID(), desc.cacheConfiguration().getName(), null);
req.startCacheConfiguration(desc.cacheConfiguration());
@@ -2551,29 +2603,29 @@ public class GridCacheProcessor extends GridProcessorAdapter {
public Collection<DynamicCacheChangeRequest> startAllCachesRequests() throws IgniteCheckedException {
List<DynamicCacheChangeRequest> reqs = new ArrayList<>();
- if (!ctx.config().isDaemon() && sharedCtx.pageStore() != null && sharedCtx.database().persistenceEnabled()) {
+ if (!ctx.config().isDaemon() &&
+ sharedCtx.pageStore() != null &&
+ sharedCtx.database().persistenceEnabled()) {
Set<String> savedCacheNames = sharedCtx.pageStore().savedCacheNames();
for (String name : savedCacheNames) {
CacheConfiguration cfg = sharedCtx.pageStore().readConfiguration(name);
if (cfg != null)
- reqs.add(createRequest(cfg));
+ reqs.add(createRequest(cfg, false));
}
for (CacheConfiguration cfg : ctx.config().getCacheConfiguration()) {
if (!savedCacheNames.contains(cfg.getName()))
- reqs.add(createRequest(cfg));
+ reqs.add(createRequest(cfg, true));
}
-
- return reqs;
}
else {
for (CacheConfiguration cfg : ctx.config().getCacheConfiguration())
- reqs.add(createRequest(cfg));
-
- return reqs;
+ reqs.add(createRequest(cfg, true));
}
+
+ return reqs;
}
/**
@@ -2601,14 +2653,19 @@ public class GridCacheProcessor extends GridProcessorAdapter {
/**
* @param cfg Cache configuration.
*/
- private DynamicCacheChangeRequest createRequest(CacheConfiguration cfg) throws IgniteCheckedException {
+ private DynamicCacheChangeRequest createRequest(
+ CacheConfiguration cfg,
+ boolean needInit
+ ) throws IgniteCheckedException {
assert cfg != null;
cloneCheckSerializable(cfg);
- CacheObjectContext cacheObjCtx = ctx.cacheObjects().contextForCache(cfg);
+ if (needInit){
+ CacheObjectContext cacheObjCtx = ctx.cacheObjects().contextForCache(cfg);
- initialize(cfg, cacheObjCtx);
+ initialize(cfg, cacheObjCtx);
+ }
String cacheName = cfg.getName();
http://git-wip-us.apache.org/repos/asf/ignite/blob/094a1b8c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/IgniteCacheDatabaseSharedManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/IgniteCacheDatabaseSharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/IgniteCacheDatabaseSharedManager.java
index 1fb1543..7c3d06d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/IgniteCacheDatabaseSharedManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/IgniteCacheDatabaseSharedManager.java
@@ -75,6 +75,13 @@ public class IgniteCacheDatabaseSharedManager extends GridCacheSharedManagerAdap
}
/**
+ *
+ */
+ public void initDataBase() throws IgniteCheckedException{
+
+ }
+
+ /**
* @return Node-global free list.
*/
public FreeList globalFreeList() {
http://git-wip-us.apache.org/repos/asf/ignite/blob/094a1b8c/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
index c1ff5e4..725c9f3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
@@ -128,7 +128,6 @@ public class GridClusterStateProcessor extends GridProcessorAdapter {
@Override public void start(boolean activeOnStart) throws IgniteCheckedException {
super.start(activeOnStart);
- //todo get file lock if active on start true
globalState = activeOnStart ? ACTIVE : INACTIVE;
cacheProc = ctx.cache();
sharedCtx = cacheProc.context();
@@ -440,8 +439,13 @@ public class GridClusterStateProcessor extends GridProcessorAdapter {
if (!client) {
sharedCtx.database().lock();
+ if (sharedCtx.pageStore() != null)
+ sharedCtx.pageStore().onActivate(ctx);
+
sharedCtx.wal().onActivate(ctx);
+ sharedCtx.database().initDataBase();
+
for (CacheConfiguration cfg : cfgs)
if (CU.isSystemCache(cfg.getName()))
sharedCtx.pageStore().initializeForCache(cfg);
@@ -451,9 +455,6 @@ public class GridClusterStateProcessor extends GridProcessorAdapter {
sharedCtx.pageStore().initializeForCache(cfg);
sharedCtx.database().onActivate(ctx);
-
- if (sharedCtx.pageStore() != null)
- sharedCtx.pageStore().onActivate(ctx);
}
if (log.isInfoEnabled())
@@ -571,6 +572,8 @@ public class GridClusterStateProcessor extends GridProcessorAdapter {
sharedCtx.pageStore().onDeActivate(ctx);
sharedCtx.wal().onDeActivate(ctx);
+
+ sharedCtx.affinity().removeAllCacheInfo();
}
}
catch (Exception e) {
http://git-wip-us.apache.org/repos/asf/ignite/blob/094a1b8c/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java
index 2f6b7ce..77fc295 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java
@@ -215,16 +215,19 @@ public final class DataStructuresProcessor extends GridProcessorAdapter implemen
/** {@inheritDoc} */
@SuppressWarnings("unchecked")
@Override public void onKernalStart(boolean activeOnStart) throws IgniteCheckedException {
- if (ctx.config().isDaemon() || !activeOnStart)
+ if (ctx.config().isDaemon() || !ctx.state().active())
return;
- onKernalStart0();
+ onKernalStart0(activeOnStart);
}
/**
*
*/
- private void onKernalStart0(){
+ private void onKernalStart0(boolean activeOnStart){
+ if (!activeOnStart && ctx.state().active())
+ ctx.event().addLocalEventListener(lsnr, EVT_NODE_LEFT, EVT_NODE_FAILED);
+
utilityCache = (IgniteInternalCache)ctx.cache().utilityCache();
utilityDataCache = (IgniteInternalCache)ctx.cache().utilityCache();
@@ -313,7 +316,7 @@ public final class DataStructuresProcessor extends GridProcessorAdapter implemen
ctx.event().addLocalEventListener(lsnr, EVT_NODE_LEFT, EVT_NODE_FAILED);
- onKernalStart0();
+ onKernalStart0(true);
for (Map.Entry<GridCacheInternal, GridCacheRemovable> e : dsMap.entrySet()) {
GridCacheRemovable v = e.getValue();
http://git-wip-us.apache.org/repos/asf/ignite/blob/094a1b8c/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
index b160f95..e65354e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
@@ -153,7 +153,7 @@ public class GridServiceProcessor extends GridProcessorAdapter implements Ignite
private final List<ComputeJobContext> pendingJobCtxs = new ArrayList<>(0);
/** Deployment executor service. */
- private final ExecutorService depExe;
+ private volatile ExecutorService depExe;
/** Busy lock. */
private final GridSpinBusyLock busyLock = new GridSpinBusyLock();
@@ -244,7 +244,7 @@ public class GridServiceProcessor extends GridProcessorAdapter implements Ignite
/** {@inheritDoc} */
@SuppressWarnings("unchecked")
@Override public void onKernalStart(boolean activeOnStart) throws IgniteCheckedException {
- if (ctx.isDaemon() || !activeOnStart)
+ if (ctx.isDaemon() || !ctx.state().active())
return;
cache = ctx.cache().utilityCache();
@@ -368,6 +368,8 @@ public class GridServiceProcessor extends GridProcessorAdapter implements Ignite
log.debug("Activate service processor [nodeId=" + ctx.localNodeId() +
" topVer=" + ctx.discovery().topologyVersionEx() + " ]");
+ depExe = Executors.newSingleThreadExecutor(new IgniteThreadFactory(ctx.gridName(), "srvc-deploy"));
+
start(true);
onKernalStart(true);
@@ -379,41 +381,7 @@ public class GridServiceProcessor extends GridProcessorAdapter implements Ignite
log.debug("DeActivate service processor [nodeId=" + ctx.localNodeId() +
" topVer=" + ctx.discovery().topologyVersionEx() + " ]");
- busyLock.block();
-
- try {
- if (ctx.isDaemon())
- return;
-
- if (!ctx.clientNode())
- ctx.event().removeLocalEventListener(topLsnr);
-
- Collection<ServiceContextImpl> ctxs = new ArrayList<>();
-
- synchronized (locSvcs) {
- for (Collection<ServiceContextImpl> ctxs0 : locSvcs.values())
- ctxs.addAll(ctxs0);
- }
-
- for (ServiceContextImpl ctx : ctxs) {
- ctx.setCancelled(true);
-
- Service svc = ctx.service();
-
- if (svc != null)
- svc.cancel(ctx);
- }
-
- Exception err = new IgniteCheckedException("Operation has been cancelled (node is in active status).");
-
- cancelFutures(depFuts, err);
- cancelFutures(undepFuts, err);
-
- if (log.isDebugEnabled())
- log.debug("Deactivate service processor.");
- }finally {
- busyLock.unblock();
- }
+ onKernalStop(true);
}
/** {@inheritDoc} */
[31/50] [abbrv] ignite git commit: GG-11808 Implement deletion of
snapshots on platform level
Posted by ag...@apache.org.
GG-11808 Implement deletion of snapshots on platform level
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/561101f6
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/561101f6
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/561101f6
Branch: refs/heads/ignite-3477
Commit: 561101f6b644945494be7c23e79d1e40b2aa5bb9
Parents: 9217f3f
Author: EdShangGG <es...@gridgain.com>
Authored: Thu Dec 22 22:07:14 2016 +0300
Committer: EdShangGG <es...@gridgain.com>
Committed: Thu Dec 22 22:07:14 2016 +0300
----------------------------------------------------------------------
.../pagemem/snapshot/StartFullSnapshotDiscoveryMessage.java | 7 +++++++
.../processors/cache/database/tree/io/PageMetaIO.java | 3 ++-
2 files changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/561101f6/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartFullSnapshotDiscoveryMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartFullSnapshotDiscoveryMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartFullSnapshotDiscoveryMessage.java
index 830326e..08e093d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartFullSnapshotDiscoveryMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartFullSnapshotDiscoveryMessage.java
@@ -48,8 +48,10 @@ public class StartFullSnapshotDiscoveryMessage implements DiscoveryCustomMessage
/** Error. */
private Exception err;
+ /** Full snapshot. */
private boolean fullSnapshot;
+ /** Last full snapshot id for cache. */
private Map<Integer, Long> lastFullSnapshotIdForCache = new HashMap<>();
/**
@@ -125,6 +127,7 @@ public class StartFullSnapshotDiscoveryMessage implements DiscoveryCustomMessage
/** {@inheritDoc} */
@Nullable @Override public DiscoveryCustomMessage ackMessage() {
+ System.out.println("StartFullSnapshotAckDiscoveryMessage - " + fullSnapshot);
return new StartFullSnapshotAckDiscoveryMessage(globalSnapshotId, fullSnapshot, lastFullSnapshotIdForCache, cacheNames, err, initiatorId);
}
@@ -132,4 +135,8 @@ public class StartFullSnapshotDiscoveryMessage implements DiscoveryCustomMessage
@Override public boolean isMutable() {
return true;
}
+
+ public void fullSnapshot(boolean b) {
+ fullSnapshot = b;
+ }
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/561101f6/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/PageMetaIO.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/PageMetaIO.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/PageMetaIO.java
index ee862ee..2c5f7a6 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/PageMetaIO.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/PageMetaIO.java
@@ -80,6 +80,7 @@ public class PageMetaIO extends PageIO {
setLastSuccessfulFullSnapshotId(buf, 0);
setLastSuccessfulSnapshotId(buf, 0);
setNextSnapshotTag(buf, 1);
+ setLastSuccessfulSnapshotTag(buf, 0);
setLastAllocatedIndex(buf, 0);
setCandidateAllocatedIndex(buf, 0);
}
@@ -135,7 +136,7 @@ public class PageMetaIO extends PageIO {
* @param buf Buffer.
* @param lastSuccessfulFullSnapshotId Last successful full snapshot id.
*/
- public void setLastSuccessfulFullSnapshotId(@NotNull ByteBuffer buf, long lastSuccessfulFullSnapshotId) {
+ public void setLastSuccessfulFullSnapshotId(@NotNull ByteBuffer buf, long lastSuccessfulFullSnapshotId) {
buf.putLong(LAST_SUCCESSFUL_FULL_SNAPSHOT_ID_OFF, lastSuccessfulFullSnapshotId);
}
[33/50] [abbrv] ignite git commit: GG-11750 First version of snapshot
utility. Implemented commands: HELP, LIST, SNAPSHOT, RESTORE.
Posted by ag...@apache.org.
GG-11750 First version of snapshot utility. Implemented commands: HELP, LIST, SNAPSHOT, RESTORE.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/bb485f67
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/bb485f67
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/bb485f67
Branch: refs/heads/ignite-3477
Commit: bb485f67ff0645b5990ec3428be9b09126c6e85e
Parents: c1fd8aa
Author: Alexey Kuznetsov <ak...@apache.org>
Authored: Fri Dec 23 11:03:22 2016 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
Committed: Fri Dec 23 11:03:22 2016 +0700
----------------------------------------------------------------------
.../java/org/apache/ignite/internal/visor/VisorMultiNodeTask.java | 2 +-
.../java/org/apache/ignite/internal/visor/VisorTaskArgument.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/bb485f67/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorMultiNodeTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorMultiNodeTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorMultiNodeTask.java
index 57f1346..ece1a17 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorMultiNodeTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorMultiNodeTask.java
@@ -130,4 +130,4 @@ public abstract class VisorMultiNodeTask<A, R, J> implements ComputeTask<VisorTa
logFinish(ignite.log(), getClass(), start);
}
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/bb485f67/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorTaskArgument.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorTaskArgument.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorTaskArgument.java
index 255bd75..b28ebbe 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorTaskArgument.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorTaskArgument.java
@@ -105,4 +105,4 @@ public class VisorTaskArgument<A> implements Serializable {
public boolean debug() {
return debug;
}
-}
\ No newline at end of file
+}
[50/50] [abbrv] ignite git commit: GG-11764 - refreshPage() assertion
fix
Posted by ag...@apache.org.
GG-11764 - refreshPage() assertion fix
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/9776f3f4
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/9776f3f4
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/9776f3f4
Branch: refs/heads/ignite-3477
Commit: 9776f3f4925f27d6639a7381c5151ebe8e58b683
Parents: 5c106da
Author: Alexey Goncharuk <al...@gmail.com>
Authored: Thu Dec 29 12:25:09 2016 +0300
Committer: Alexey Goncharuk <al...@gmail.com>
Committed: Thu Dec 29 12:25:09 2016 +0300
----------------------------------------------------------------------
.../ignite/internal/pagemem/FullPageId.java | 29 ++++++++++++++++----
1 file changed, 24 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9776f3f4/modules/core/src/main/java/org/apache/ignite/internal/pagemem/FullPageId.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/FullPageId.java b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/FullPageId.java
index 31028cd..20677ea 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/FullPageId.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/FullPageId.java
@@ -77,16 +77,35 @@ public class FullPageId {
* @return Hash code.
*/
private static int hashCode0(int cacheId, long effectivePageId) {
- int pageIdx = (int)PageIdUtils.pageId(effectivePageId);
- int partId = PageIdUtils.partId(effectivePageId);
+ return (int)(mix64(effectivePageId) ^ mix32(cacheId));
+ }
- // Take a prime number larger than total number of partitions.
- int res = 65537 * partId + cacheId;
+ /**
+ * MH3's plain finalization step.
+ */
+ private static int mix32(int k) {
+ k = (k ^ (k >>> 16)) * 0x85ebca6b;
+ k = (k ^ (k >>> 13)) * 0xc2b2ae35;
- return res * 31 + pageIdx;
+ return k ^ (k >>> 16);
}
/**
+ * Computes David Stafford variant 9 of 64bit mix function (MH3 finalization step,
+ * with different shifts and constants).
+ *
+ * Variant 9 is picked because it contains two 32-bit shifts which could be possibly
+ * optimized into better machine code.
+ *
+ * @see "http://zimbry.blogspot.com/2011/09/better-bit-mixing-improving-on.html"
+ */
+ private static long mix64(long z) {
+ z = (z ^ (z >>> 32)) * 0x4cd6944c5cc20b6dL;
+ z = (z ^ (z >>> 29)) * 0xfc12c5b19d3259e9L;
+
+ return z ^ (z >>> 32);
+ }
+ /**
* @param pageId Page ID.
* @param cacheId Cache ID.
*/
[48/50] [abbrv] ignite git commit: GG-11805 Logging details about
start/finish snapshot operation and provided information from client
Posted by ag...@apache.org.
GG-11805 Logging details about start/finish snapshot operation and provided information from client
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/a38fd00d
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/a38fd00d
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/a38fd00d
Branch: refs/heads/ignite-3477
Commit: a38fd00de0a2d2d54b3702f94797639f8aa26dbd
Parents: 893cd90
Author: EdShangGG <es...@gridgain.com>
Authored: Wed Dec 28 22:34:37 2016 +0300
Committer: EdShangGG <es...@gridgain.com>
Committed: Wed Dec 28 22:34:37 2016 +0300
----------------------------------------------------------------------
.../StartFullSnapshotAckDiscoveryMessage.java | 21 +++++++++++++++++++-
.../StartFullSnapshotDiscoveryMessage.java | 20 +++++++++++++++++--
.../IgniteCacheDatabaseSharedManager.java | 3 ++-
.../GridDhtPartitionsExchangeFuture.java | 2 +-
4 files changed, 41 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/a38fd00d/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartFullSnapshotAckDiscoveryMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartFullSnapshotAckDiscoveryMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartFullSnapshotAckDiscoveryMessage.java
index 6393937..0d926b9 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartFullSnapshotAckDiscoveryMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartFullSnapshotAckDiscoveryMessage.java
@@ -32,6 +32,9 @@ public class StartFullSnapshotAckDiscoveryMessage implements DiscoveryCustomMess
/** */
private static final long serialVersionUID = 0L;
+ /** Message. */
+ private final String msg;
+
/** Custom message ID. */
private IgniteUuid id = IgniteUuid.randomUuid();
@@ -47,8 +50,10 @@ public class StartFullSnapshotAckDiscoveryMessage implements DiscoveryCustomMess
/** */
private UUID initiatorNodeId;
+ /** Full snapshot. */
private boolean fullSnapshot;
+ /** Last full snapshot id for cache. */
private Map<Integer, Long> lastFullSnapshotIdForCache;
/**
@@ -59,13 +64,14 @@ public class StartFullSnapshotAckDiscoveryMessage implements DiscoveryCustomMess
public StartFullSnapshotAckDiscoveryMessage(long globalSnapshotId, boolean fullSnapshot,
Map<Integer, Long> lastFullSnapshotIdForCache,
Collection<String> cacheNames, Exception err,
- UUID initiatorNodeId) {
+ UUID initiatorNodeId, String msg) {
this.globalSnapshotId = globalSnapshotId;
this.fullSnapshot = fullSnapshot;
this.lastFullSnapshotIdForCache = lastFullSnapshotIdForCache;
this.err = err;
this.cacheNames = cacheNames;
this.initiatorNodeId = initiatorNodeId;
+ this.msg = msg;
}
/**
@@ -108,10 +114,23 @@ public class StartFullSnapshotAckDiscoveryMessage implements DiscoveryCustomMess
return globalSnapshotId;
}
+ /**
+ *
+ */
public boolean fullSnapshot() {
return fullSnapshot;
}
+ /**
+ *
+ */
+ public String message() {
+ return msg;
+ }
+
+ /**
+ * @param cacheId Cache id.
+ */
@Nullable public Long lastFullSnapshotId(int cacheId) {
return lastFullSnapshotIdForCache.get(cacheId);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/a38fd00d/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartFullSnapshotDiscoveryMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartFullSnapshotDiscoveryMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartFullSnapshotDiscoveryMessage.java
index b58c247..8d18131 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartFullSnapshotDiscoveryMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartFullSnapshotDiscoveryMessage.java
@@ -33,6 +33,9 @@ public class StartFullSnapshotDiscoveryMessage implements DiscoveryCustomMessage
/** */
private static final long serialVersionUID = 0L;
+ /** Message. */
+ private final String msg;
+
/** Custom message ID. */
private IgniteUuid id = IgniteUuid.randomUuid();
@@ -56,12 +59,15 @@ public class StartFullSnapshotDiscoveryMessage implements DiscoveryCustomMessage
/**
* @param cacheNames Cache names.
+ * @param msg message to log
*/
- public StartFullSnapshotDiscoveryMessage(long globalSnapshotId, Collection<String> cacheNames, UUID initiatorId, boolean fullSnapshot) {
+ public StartFullSnapshotDiscoveryMessage(long globalSnapshotId, Collection<String> cacheNames, UUID initiatorId,
+ boolean fullSnapshot, String msg) {
this.globalSnapshotId = globalSnapshotId;
this.cacheNames = cacheNames;
this.initiatorId = initiatorId;
this.fullSnapshot = fullSnapshot;
+ this.msg = msg;
}
/**
@@ -113,21 +119,31 @@ public class StartFullSnapshotDiscoveryMessage implements DiscoveryCustomMessage
return cacheNames;
}
+ /**
+ *
+ */
public boolean fullSnapshot() {
return fullSnapshot;
}
+ /**
+ * @param cacheId Cache id.
+ */
public Long lastFullSnapshotId(int cacheId) {
return lastFullSnapshotIdForCache.get(cacheId);
}
+ /**
+ * @param cacheId Cache id.
+ * @param id Id.
+ */
public void lastFullSnapshotId(int cacheId, long id) {
lastFullSnapshotIdForCache.put(cacheId, id);
}
/** {@inheritDoc} */
@Nullable @Override public DiscoveryCustomMessage ackMessage() {
- return new StartFullSnapshotAckDiscoveryMessage(globalSnapshotId, fullSnapshot, lastFullSnapshotIdForCache, cacheNames, err, initiatorId);
+ return new StartFullSnapshotAckDiscoveryMessage(globalSnapshotId, fullSnapshot, lastFullSnapshotIdForCache, cacheNames, err, initiatorId, msg);
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/a38fd00d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/IgniteCacheDatabaseSharedManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/IgniteCacheDatabaseSharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/IgniteCacheDatabaseSharedManager.java
index 237ca1a..8f3b88a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/IgniteCacheDatabaseSharedManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/IgniteCacheDatabaseSharedManager.java
@@ -195,11 +195,12 @@ public class IgniteCacheDatabaseSharedManager extends GridCacheSharedManagerAdap
/**
* @param snapshotMsg Snapshot message.
* @param initiator Initiator node.
+ * @param msg message to log
* @return Snapshot creation init future or {@code null} if snapshot is not available.
* @throws IgniteCheckedException If failed.
*/
@Nullable public IgniteInternalFuture startLocalSnapshotCreation(StartFullSnapshotAckDiscoveryMessage snapshotMsg,
- ClusterNode initiator)
+ ClusterNode initiator, String msg)
throws IgniteCheckedException {
return null;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/a38fd00d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
index 3d9a378..eb98fa6 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
@@ -833,7 +833,7 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT
assert node != null;
- IgniteInternalFuture fut = cctx.database().startLocalSnapshotCreation(backupMsg, node);
+ IgniteInternalFuture fut = cctx.database().startLocalSnapshotCreation(backupMsg, node, backupMsg.message());
if (fut != null)
fut.get();
[15/50] [abbrv] ignite git commit: Merge with master - WIP.
Posted by ag...@apache.org.
http://git-wip-us.apache.org/repos/asf/ignite/blob/d068fb75/modules/core/src/main/java/org/apache/ignite/spi/swapspace/file/FileSwapSpaceSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/swapspace/file/FileSwapSpaceSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/swapspace/file/FileSwapSpaceSpi.java
deleted file mode 100644
index e277868..0000000
--- a/modules/core/src/main/java/org/apache/ignite/spi/swapspace/file/FileSwapSpaceSpi.java
+++ /dev/null
@@ -1,1947 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.spi.swapspace.file;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.RandomAccessFile;
-import java.nio.ByteBuffer;
-import java.nio.channels.AsynchronousCloseException;
-import java.nio.channels.ClosedByInterruptException;
-import java.nio.channels.ClosedChannelException;
-import java.nio.channels.FileChannel;
-import java.util.ArrayDeque;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.NoSuchElementException;
-import java.util.Set;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
-import java.util.concurrent.atomic.AtomicLong;
-import java.util.concurrent.locks.Condition;
-import java.util.concurrent.locks.LockSupport;
-import java.util.concurrent.locks.ReentrantLock;
-import org.apache.ignite.IgniteCheckedException;
-import org.apache.ignite.IgniteException;
-import org.apache.ignite.IgniteLogger;
-import org.apache.ignite.internal.IgniteInterruptedCheckedException;
-import org.apache.ignite.internal.util.GridAtomicInitializer;
-import org.apache.ignite.internal.util.GridCloseableIteratorAdapter;
-import org.apache.ignite.internal.util.typedef.F;
-import org.apache.ignite.internal.util.typedef.T2;
-import org.apache.ignite.internal.util.typedef.internal.A;
-import org.apache.ignite.internal.util.typedef.internal.S;
-import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.lang.IgniteBiInClosure;
-import org.apache.ignite.lang.IgniteInClosure;
-import org.apache.ignite.resources.LoggerResource;
-import org.apache.ignite.spi.IgniteSpiAdapter;
-import org.apache.ignite.spi.IgniteSpiCloseableIterator;
-import org.apache.ignite.spi.IgniteSpiConfiguration;
-import org.apache.ignite.spi.IgniteSpiConsistencyChecked;
-import org.apache.ignite.spi.IgniteSpiException;
-import org.apache.ignite.spi.IgniteSpiMultipleInstancesSupport;
-import org.apache.ignite.spi.IgniteSpiThread;
-import org.apache.ignite.spi.swapspace.SwapContext;
-import org.apache.ignite.spi.swapspace.SwapKey;
-import org.apache.ignite.spi.swapspace.SwapSpaceSpi;
-import org.apache.ignite.spi.swapspace.SwapSpaceSpiListener;
-import org.jetbrains.annotations.Nullable;
-import org.jsr166.ConcurrentHashMap8;
-
-import static org.apache.ignite.events.EventType.EVT_SWAP_SPACE_CLEARED;
-import static org.apache.ignite.events.EventType.EVT_SWAP_SPACE_DATA_READ;
-import static org.apache.ignite.events.EventType.EVT_SWAP_SPACE_DATA_REMOVED;
-import static org.apache.ignite.events.EventType.EVT_SWAP_SPACE_DATA_STORED;
-
-/**
- * File-based swap space SPI implementation which holds keys in memory. This SPI is used by default.
- * It is intended for use in cases when value size is bigger than {@code 100} bytes, otherwise it will not
- * have any positive effect.
- * <p>
- * <b>NOTE: This SPI does not support swap eviction currently, manual removes needed to reduce disk space
- * consumption.</b>
- * <p>
- * Every space has a name and when used in combination with in-memory data grid name and local node ID,
- * space name represents the actual cache name associated with this swap space. Default name is {@code null}
- * which is represented by {@link #DFLT_SPACE_NAME}.
- *
- * <h1 class="header">Configuration</h1>
- * <h2 class="header">Mandatory</h2>
- * This SPI has no mandatory configuration parameters.
- * <h2 class="header">Optional SPI configuration.</h2>
- * <ul>
- * <li>Base directory path (see {@link #setBaseDirectory(String)}).</li>
- * <li>Maximum sparsity (see {@link #setMaximumSparsity(float)}).</li>
- * <li>Write buffer size in bytes (see {@link #setWriteBufferSize(int)}).</li>
- * <li>Max write queue size in bytes (see {@link #setMaxWriteQueueSize(int)}).</li>
- * <li>Read stripes number. (see {@link #setReadStripesNumber(int)}).</li>
- * </ul>
- *
- * <h2 class="header">Java Example</h2>
- * FileSwapSpaceSpi is configured by default and should be explicitly configured
- * only if some SPI configuration parameters need to be overridden.
- * <pre name="code" class="java">
- * FileSwapSpaceSpi spi = new FileSwapSpaceSpi();
- *
- * // Configure root folder path.
- * spi.setBaseDirectory("/path/to/swap/folder");
- *
- * IgniteConfiguration cfg = new IgniteConfiguration();
- *
- * // Override default swap space SPI.
- * cfg.setSwapSpaceSpi(spi);
- *
- * // Starts grid.
- * G.start(cfg);
- * </pre>
- * <h2 class="header">Spring Example</h2>
- * FileSwapSpaceSpi can be configured from Spring XML configuration file:
- * <pre name="code" class="xml">
- * <bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration" scope="singleton">
- * ...
- * <property name="swapSpaceSpi">
- * <bean class="org.apache.ignite.spi.swapspace.file.FileSwapSpaceSpi">
- * <property name="baseDirectory" value="/path/to/swap/folder"/>
- * </bean>
- * </property>
- * ...
- * </bean>
- * </pre>
- * <p>
- * <img src="http://ignite.apache.org/images/spring-small.png">
- * <br>
- * For information about Spring framework visit <a href="http://www.springframework.org/">www.springframework.org</a>
- * @see org.apache.ignite.spi.swapspace.SwapSpaceSpi
- */
-@IgniteSpiMultipleInstancesSupport(true)
-@IgniteSpiConsistencyChecked(optional = false, checkClient = false)
-@SuppressWarnings({"PackageVisibleInnerClass", "PackageVisibleField"})
-public class FileSwapSpaceSpi extends IgniteSpiAdapter implements SwapSpaceSpi, FileSwapSpaceSpiMBean {
- /**
- * Default base directory. Note that this path is relative to {@code IGNITE_HOME/work} folder
- * if {@code IGNITE_HOME} system or environment variable specified, otherwise it is relative to
- * {@code work} folder under system {@code java.io.tmpdir} folder.
- *
- * @see org.apache.ignite.configuration.IgniteConfiguration#getWorkDirectory()
- */
- public static final String DFLT_BASE_DIR = "swapspace";
-
- /** Default maximum sparsity. */
- public static final float DFLT_MAX_SPARSITY = 0.5f;
-
- /** Default write buffer size in bytes. */
- public static final int DFLT_BUF_SIZE = 64 * 1024;
-
- /** Default write queue size in bytes. */
- public static final int DFLT_QUE_SIZE = 1024 * 1024;
-
- /** Name for {@code null} space. */
- public static final String DFLT_SPACE_NAME = "gg-dflt-space";
-
- /** Spaces. */
- private final ConcurrentMap<String, Space> spaces = new ConcurrentHashMap<>();
-
- /** Base directory. */
- private String baseDir = DFLT_BASE_DIR;
-
- /** Maximum sparsity. */
- private float maxSparsity = DFLT_MAX_SPARSITY;
-
- /** Eviction listener. */
- private volatile SwapSpaceSpiListener evictLsnr;
-
- /** Directory. */
- private File dir;
-
- /** Write buffer size. */
- private int writeBufSize = DFLT_BUF_SIZE;
-
- /** Max write queue size in bytes. */
- private int maxWriteQueSize = DFLT_QUE_SIZE;
-
- /** Read stripes number. */
- private int readStripesNum = -1;
-
- /** Logger. */
- @LoggerResource
- private IgniteLogger log;
-
- /** {@inheritDoc} */
- @Override public String getBaseDirectory() {
- return baseDir;
- }
-
- /**
- * Sets base directory.
- *
- * @param baseDir Base directory.
- */
- @IgniteSpiConfiguration(optional = true)
- public void setBaseDirectory(String baseDir) {
- this.baseDir = baseDir;
- }
-
- /** {@inheritDoc} */
- @Override public float getMaximumSparsity() {
- return maxSparsity;
- }
-
- /**
- * Sets maximum sparsity. This property defines maximum acceptable wasted file space to whole file size ratio.
- * When this ratio becomes higher than specified number compacting thread starts working.
- *
- * @param maxSparsity Maximum sparsity. Must be between 0 and 1, default is {@link #DFLT_MAX_SPARSITY}.
- */
- public void setMaximumSparsity(float maxSparsity) {
- this.maxSparsity = maxSparsity;
- }
-
- /** {@inheritDoc} */
- @Override public int getWriteBufferSize() {
- return writeBufSize;
- }
-
- /**
- * Sets write buffer size in bytes. Write to disk occurs only when this buffer is full. Default is
- * {@link #DFLT_BUF_SIZE}.
- *
- * @param writeBufSize Write buffer size in bytes.
- */
- public void setWriteBufferSize(int writeBufSize) {
- this.writeBufSize = writeBufSize;
- }
-
- /** {@inheritDoc} */
- @Override public int getMaxWriteQueueSize() {
- return maxWriteQueSize;
- }
-
- /**
- * Sets max write queue size in bytes. If there are more values are waiting for being written to disk then specified
- * size, SPI will block on {@link #store(String, org.apache.ignite.spi.swapspace.SwapKey, byte[], org.apache.ignite.spi.swapspace.SwapContext)} operation. Default is
- * {@link #DFLT_QUE_SIZE}.
- *
- * @param maxWriteQueSize Max write queue size in bytes.
- */
- public void setMaxWriteQueueSize(int maxWriteQueSize) {
- this.maxWriteQueSize = maxWriteQueSize;
- }
-
- /** {@inheritDoc} */
- @Override public int getReadStripesNumber() {
- return readStripesNum;
- }
-
- /**
- * Sets read stripe size. Defines number of file channels to be used concurrently. Default is equal to number of
- * CPU cores available to this JVM.
- *
- * @param readStripesNum Read stripe number.
- */
- public void setReadStripesNumber(int readStripesNum) {
- A.ensure(readStripesNum == -1 || (readStripesNum & (readStripesNum - 1)) == 0,
- "readStripesNum must be positive and power of two");
-
- this.readStripesNum = readStripesNum;
- }
-
- /** {@inheritDoc} */
- @Override public void spiStart(@Nullable String gridName) throws IgniteSpiException {
- assertParameter(!F.isEmpty(baseDir), "!F.isEmpty(baseDir)");
- assertParameter(maxSparsity >= 0 && maxSparsity < 1, "maxSparsity >= 0 && maxSparsity < 1");
- assertParameter(readStripesNum == -1 || (readStripesNum & (readStripesNum - 1)) == 0,
- "readStripesNum must be positive and power of two.");
-
- if (readStripesNum == -1) {
- // User has not configured the number.
- int readStripesNum0 = 1;
- int cpuCnt = Runtime.getRuntime().availableProcessors();
-
- while (readStripesNum0 <= cpuCnt)
- readStripesNum0 <<= 1;
-
- if (readStripesNum0 > cpuCnt)
- readStripesNum0 >>= 1;
-
- assert readStripesNum0 > 0 && (readStripesNum0 & readStripesNum0 - 1) == 0;
-
- readStripesNum = readStripesNum0;
- }
-
- startStopwatch();
-
- registerMBean(gridName, this, FileSwapSpaceSpiMBean.class);
-
- String path = baseDir + File.separator + gridName + File.separator + ignite.configuration().getNodeId();
-
- try {
- dir = U.resolveWorkDirectory(ignite.configuration().getWorkDirectory(), path, true);
- }
- catch (IgniteCheckedException e) {
- throw new IgniteSpiException(e);
- }
-
- if (log.isDebugEnabled())
- log.debug(startInfo());
- }
-
- /** {@inheritDoc} */
- @Override public void spiStop() throws IgniteSpiException {
- unregisterMBean();
-
- for (Space space : spaces.values()) {
- space.initialize();
-
- try {
- space.stop();
- }
- catch (IgniteInterruptedCheckedException e) {
- U.error(log, "Interrupted.", e);
- }
- }
-
- if (dir != null && dir.exists() && !U.delete(dir))
- U.warn(log, "Failed to delete swap directory: " + dir.getAbsolutePath());
-
- if (log.isDebugEnabled())
- log.debug(stopInfo());
- }
-
- /** {@inheritDoc} */
- @Override public void clear(@Nullable String spaceName) throws IgniteSpiException {
- destruct(spaceName);
-
- notifyListener(EVT_SWAP_SPACE_CLEARED, spaceName);
- }
-
- /** {@inheritDoc} */
- @Override public long size(@Nullable String spaceName) throws IgniteSpiException {
- Space space = space(spaceName, false);
-
- if (space == null)
- return 0;
-
- return space.size();
- }
-
- /** {@inheritDoc} */
- @Override public long count(@Nullable String spaceName) throws IgniteSpiException {
- Space space = space(spaceName, false);
-
- if (space == null)
- return 0;
-
- return space.count();
- }
-
- /** {@inheritDoc} */
- @Override public long count(@Nullable String spaceName, Set<Integer> parts) throws IgniteSpiException {
- Space space = space(spaceName, false);
-
- if (space == null)
- return 0;
-
- return space.count(parts);
- }
-
- /** {@inheritDoc} */
- @Nullable @Override public byte[] read(@Nullable String spaceName, SwapKey key, SwapContext ctx)
- throws IgniteSpiException {
- assert key != null;
- assert ctx != null;
-
- Space space = space(spaceName, false);
-
- if (space == null)
- return null;
-
- byte[] val = space.read(key);
-
- notifyListener(EVT_SWAP_SPACE_DATA_READ, spaceName);
-
- return val;
- }
-
- /** {@inheritDoc} */
- @Override public Map<SwapKey, byte[]> readAll(@Nullable String spaceName, Iterable<SwapKey> keys,
- SwapContext ctx) throws IgniteSpiException {
- assert keys != null;
- assert ctx != null;
-
- Space space = space(spaceName, false);
-
- if (space == null)
- return Collections.emptyMap();
-
- Map<SwapKey, byte[]> res = new HashMap<>();
-
- for (SwapKey key : keys) {
- if (key != null) {
- byte[] val = space.read(key);
-
- if (val != null)
- res.put(key, val);
-
- notifyListener(EVT_SWAP_SPACE_DATA_READ, spaceName);
- }
- }
-
- return res;
- }
-
- /** {@inheritDoc} */
- @Override public void remove(@Nullable String spaceName, SwapKey key, @Nullable IgniteInClosure<byte[]> c,
- SwapContext ctx) throws IgniteSpiException {
- assert key != null;
- assert ctx != null;
-
- Space space = space(spaceName, false);
-
- byte[] val = space == null ? null : space.remove(key, c != null);
-
- if (c != null)
- c.apply(val);
-
- if (space != null)
- notifyListener(EVT_SWAP_SPACE_DATA_REMOVED, spaceName);
- }
-
- /** {@inheritDoc} */
- @Override public void removeAll(@Nullable String spaceName, Collection<SwapKey> keys,
- @Nullable IgniteBiInClosure<SwapKey, byte[]> c, SwapContext ctx) throws IgniteSpiException {
- assert keys != null;
- assert ctx != null;
-
- Space space = space(spaceName, false);
-
- if (space == null)
- return;
-
- for (SwapKey key : keys) {
- if (key != null) {
- byte[] val = space.remove(key, c != null);
-
- if (c != null)
- c.apply(key, val);
-
- notifyListener(EVT_SWAP_SPACE_DATA_REMOVED, spaceName);
- }
- }
- }
-
- /** {@inheritDoc} */
- @Override public void store(@Nullable String spaceName, SwapKey key, @Nullable byte[] val,
- SwapContext ctx) throws IgniteSpiException {
- assert key != null;
- assert ctx != null;
-
- Space space = space(spaceName, true);
-
- assert space != null;
-
- space.store(key, val);
-
- notifyListener(EVT_SWAP_SPACE_DATA_STORED, spaceName);
- }
-
- /** {@inheritDoc} */
- @Override public void storeAll(@Nullable String spaceName, Map<SwapKey, byte[]> pairs,
- SwapContext ctx) throws IgniteSpiException {
- assert pairs != null;
- assert ctx != null;
-
- Space space = space(spaceName, true);
-
- assert space != null;
-
- for (Map.Entry<SwapKey, byte[]> pair : pairs.entrySet()) {
- SwapKey key = pair.getKey();
-
- if (key != null) {
- space.store(key, pair.getValue());
-
- notifyListener(EVT_SWAP_SPACE_DATA_STORED, spaceName);
- }
- }
- }
-
- /** {@inheritDoc} */
- @Override public void setListener(@Nullable SwapSpaceSpiListener evictLsnr) {
- this.evictLsnr = evictLsnr;
- }
-
- /** {@inheritDoc} */
- @Nullable @Override public Collection<Integer> partitions(@Nullable String spaceName)
- throws IgniteSpiException {
- Space space = space(spaceName, false);
-
- if (space == null)
- return null;
-
- return space.partitions();
- }
-
- /** {@inheritDoc} */
- @Nullable @Override public <K> IgniteSpiCloseableIterator<K> keyIterator(@Nullable String spaceName,
- SwapContext ctx) throws IgniteSpiException {
- final Space space = space(spaceName, false);
-
- if (space == null)
- return null;
-
- final Iterator<Map.Entry<SwapKey, byte[]>> iter = space.entriesIterator();
-
- return new GridCloseableIteratorAdapter<K>() {
- @Override protected boolean onHasNext() {
- return iter.hasNext();
- }
-
- @Override protected K onNext() {
- return (K)iter.next().getKey().key();
- }
-
- @Override protected void onRemove() {
- iter.remove();
- }
- };
- }
-
- /** {@inheritDoc} */
- @Nullable @Override public IgniteSpiCloseableIterator<Map.Entry<byte[], byte[]>> rawIterator(
- @Nullable String spaceName) throws IgniteSpiException {
- Space space = space(spaceName, false);
-
- if (space == null)
- return null;
-
- return rawIterator(space.entriesIterator());
- }
-
- /** {@inheritDoc} */
- @Nullable @Override public IgniteSpiCloseableIterator<Map.Entry<byte[], byte[]>> rawIterator(
- @Nullable String spaceName, int part) throws IgniteSpiException {
- Space space = space(spaceName, false);
-
- if (space == null)
- return null;
-
- return rawIterator(space.entriesIterator(part));
- }
-
- /**
- * Creates raw iterator based on provided entries iterator.
- *
- * @param iter Entries iterator.
- * @return Raw iterator.
- */
- private IgniteSpiCloseableIterator<Map.Entry<byte[], byte[]>> rawIterator(
- final Iterator<Map.Entry<SwapKey, byte[]>> iter) {
- return new GridCloseableIteratorAdapter<Map.Entry<byte[], byte[]>>() {
- @Override protected Map.Entry<byte[], byte[]> onNext() {
- Map.Entry<SwapKey, byte[]> x = iter.next();
-
- return new T2<>(keyBytes(x.getKey()), x.getValue());
- }
-
- @Override protected boolean onHasNext() {
- return iter.hasNext();
- }
-
- @Override protected void onRemove() {
- iter.remove();
- }
- };
- }
-
- /**
- * Gets key bytes.
- *
- * @param key Swap key.
- * @return Key bytes.
- * @throws org.apache.ignite.spi.IgniteSpiException In case of error.
- */
- private byte[] keyBytes(SwapKey key) throws IgniteSpiException {
- assert key != null;
-
- byte[] keyBytes = key.keyBytes();
-
- if (keyBytes == null) {
- try {
- keyBytes = U.marshal(ignite.configuration().getMarshaller(), key.key());
- }
- catch (IgniteCheckedException e) {
- throw new IgniteSpiException("Failed to marshal key: " + key.key(), e);
- }
-
- key.keyBytes(keyBytes);
- }
-
- return keyBytes;
- }
-
- /**
- * Notifies eviction listener.
- *
- * @param evtType Event type.
- * @param spaceName Space name.
- */
- private void notifyListener(int evtType, @Nullable String spaceName) {
- SwapSpaceSpiListener lsnr = evictLsnr;
-
- if (lsnr != null)
- lsnr.onSwapEvent(evtType, spaceName, null, null);
- }
-
- /**
- * Gets space by name.
- *
- * @param name Space name.
- * @param create Whether to create space if it doesn't exist.
- * @return Space.
- * @throws org.apache.ignite.spi.IgniteSpiException In case of error.
- */
- @Nullable private Space space(@Nullable String name, boolean create) throws IgniteSpiException {
- String masked = maskNull(name);
-
- assert masked != null;
-
- Space space = spaces.get(masked);
-
- if (space == null && create) {
- validateName(name);
-
- Space old = spaces.putIfAbsent(masked, space = new Space(masked, log));
-
- if (old != null)
- space = old;
- }
-
- if (space != null)
- space.initialize();
-
- return space;
- }
-
- /**
- * Destructs space.
- *
- * @param spaceName space name.
- * */
- private void destruct(@Nullable String spaceName) {
- String masked = maskNull(spaceName);
-
- Space space = spaces.remove(masked);
-
- if (space != null) {
- try {
- space.stop();
- }
- catch (IgniteInterruptedCheckedException e) {
- U.error(log, "Interrupted.", e);
- }
- }
- }
-
- /**
- * Masks null space name with default space name.
- *
- * @param spaceName Space name.
- * @return Space name or default space name if space name is null.
- * */
- private static String maskNull(String spaceName) {
- return spaceName != null ? spaceName : DFLT_SPACE_NAME;
- }
-
- /**
- * Validates space name.
- *
- * @param name Space name.
- * @throws org.apache.ignite.spi.IgniteSpiException If name is invalid.
- */
- private void validateName(@Nullable String name) throws IgniteSpiException {
- if (name == null)
- return;
-
- if (name.isEmpty())
- throw new IgniteSpiException("Space name cannot be empty: " + name);
- else if (DFLT_SPACE_NAME.equalsIgnoreCase(name))
- throw new IgniteSpiException("Space name is reserved for default space: " + name);
- else if (name.contains("/") || name.contains("\\"))
- throw new IgniteSpiException("Space name contains invalid characters: " + name);
- }
-
- /** {@inheritDoc} */
- @Override public String toString() {
- return S.toString(FileSwapSpaceSpi.class, this);
- }
-
- /**
- * Swap value.
- */
- static class SwapValue {
- /** */
- private static final int NEW = 0;
-
- /** */
- private static final int DELETED = Integer.MIN_VALUE;
-
- /** */
- private static final AtomicIntegerFieldUpdater<SwapValue> idxUpdater = AtomicIntegerFieldUpdater.
- newUpdater(SwapValue.class, "idx");
-
- /** */
- private byte[] val;
-
- /** */
- private final int len;
-
- /** */
- @SuppressWarnings("FieldAccessedSynchronizedAndUnsynchronized")
- private long pos = -1;
-
- /** */
- @SuppressWarnings("UnusedDeclaration")
- private volatile int idx;
-
- /**
- * @param val Value.
- */
- SwapValue(byte[] val) {
- assert val != null;
-
- this.val = val;
- len = val.length;
- }
-
- /**
- * @param space Space.
- * @return Value.
- * @throws org.apache.ignite.spi.IgniteSpiException If failed.
- */
- @SuppressWarnings("NonPrivateFieldAccessedInSynchronizedContext")
- @Nullable public synchronized byte[] value(Space space) throws IgniteSpiException {
- byte[] v = val;
-
- if (v == null) { // Read value from file.
- int i = idx;
-
- assert i != NEW;
-
- if (i != DELETED) {
- StripedFileChannel ch = i < 0 ? space.left.readCh : space.right.readCh;
-
- if (idx != DELETED) // Double check works in pair with striped channel reopening.
- v = readValue(ch);
- }
- }
- else if (v.length != len) {
- int p = (int)pos;
-
- v = Arrays.copyOfRange(v, p, p + len); // In case of compaction.
- }
-
- return v;
- }
-
- /**
- * @param ch File channel.
- * @return Bytes.
- * @throws org.apache.ignite.spi.IgniteSpiException if failed.
- */
- @Nullable byte[] readValue(StripedFileChannel ch) throws IgniteSpiException {
- byte[] v = new byte[len];
-
- int res = 0;
-
- try {
- res = ch.read(ByteBuffer.wrap(v), pos);
- }
- catch (ClosedByInterruptException e) {
- throw new IgniteSpiException("Operation was interrupted.", e);
- }
- catch (AsynchronousCloseException ignore) {
- assert idx == DELETED; // We closed it ourselves.
- }
- catch (ClosedChannelException e) {
- throw new IgniteSpiException("File channel was unexpectedly closed.", e);
- }
- catch (IOException e) {
- throw new IgniteSpiException("Failed to read value.", e);
- }
-
- if (res < len)
- return null; // When concurrent compaction occurs this may happen.
-
- return v;
- }
-
- /**
- * @param pos Position.
- * @param val Value.
- */
- public synchronized void set(long pos, byte[] val) {
- if (pos != -1)
- this.pos = pos;
-
- this.val = val;
- }
-
- /**
- * @param exp Expected.
- * @param idx New index.
- * @return {@code true} if succeeded.
- */
- public boolean casIdx(int exp, int idx) {
- return idxUpdater.compareAndSet(this, exp, idx);
- }
-
- /**
- * @return Index in file array.
- */
- int idx() {
- return idx;
- }
-
- /** {@inheritDoc} */
- @Override public String toString() {
- return pos + " " + len;
- }
- }
-
- /**
- * Queue of swap values.
- */
- private static class SwapValuesQueue {
- /** */
- private final ArrayDeque<SwapValue> deq = new ArrayDeque<>();
-
- /** */
- @SuppressWarnings("TypeMayBeWeakened")
- private final ReentrantLock lock = new ReentrantLock();
-
- /** */
- private final Condition mayAdd = lock.newCondition();
-
- /** */
- private final Condition mayTake = lock.newCondition();
-
- /** */
- private int size;
-
- /** */
- private final int minTakeSize;
-
- /** */
- private final int maxSize;
-
- /** */
- private final IgniteLogger log;
-
- /** */
- private boolean queueSizeWarn;
-
- /**
- * @param minTakeSize Min size.
- * @param maxSize Max size.
- * @param log logger
- */
- private SwapValuesQueue(int minTakeSize, int maxSize, IgniteLogger log) {
- this.minTakeSize = minTakeSize;
- this.maxSize = maxSize;
- this.log = log;
- }
-
- /**
- * Adds to queue.
- *
- * @param val Swap value.
- * @throws org.apache.ignite.spi.IgniteSpiException If failed.
- */
- public void add(SwapValue val) throws IgniteSpiException {
- lock.lock();
-
- try {
- boolean largeVal = val.len > maxSize;
-
- if (largeVal) {
- if (!queueSizeWarn) {
- U.warn(log, "Trying to save in swap entry which have size more than write queue size. " +
- "You may wish to increase 'maxWriteQueueSize' in FileSwapSpaceSpi configuration " +
- "[queueMaxSize=" + maxSize + ", valSize=" + val.len + ']');
-
- queueSizeWarn = true;
- }
-
- while (size >= minTakeSize)
- mayAdd.await();
- }
- else {
- while (size + val.len > maxSize)
- mayAdd.await();
- }
-
- size += val.len;
-
- deq.addLast(val);
-
- if (size >= minTakeSize)
- mayTake.signalAll();
- }
- catch (InterruptedException e) {
- throw new IgniteSpiException(e);
- }
- finally {
- lock.unlock();
- }
- }
-
- /**
- * Takes swap values from queue.
- *
- * @return Swap values.
- * @throws InterruptedException If interrupted.
- */
- public SwapValues take() throws InterruptedException {
- lock.lock();
-
- try {
- while (size < minTakeSize)
- mayTake.await();
-
- int size = 0;
- int cnt = 0;
-
- for (SwapValue val : deq) {
- size += val.len;
- cnt++;
-
- if (size >= minTakeSize)
- break;
- }
-
- SwapValue[] vals = new SwapValue[cnt];
-
- for (int i = 0; i < cnt; i++) {
- SwapValue val = deq.pollFirst();
-
- vals[i] = val;
- }
-
- if ((this.size -= size) < maxSize)
- mayAdd.signalAll();
-
- return new SwapValues(vals, size);
- }
- finally {
- lock.unlock();
- }
- }
- }
-
- /**
- * Array of swap values and their size in bytes.
- */
- static class SwapValues {
- /** */
- private final SwapValue[] vals;
-
- /** Size in bytes. */
- private final int size;
-
- /**
- * @param vals Values.
- * @param size Size.
- */
- SwapValues(SwapValue[] vals, int size) {
- this.vals = vals;
- this.size = size;
- }
- }
-
- /**
- * Readable striped file channel.
- */
- private static class StripedFileChannel {
- /** */
- private final AtomicInteger enter = new AtomicInteger();
-
- /** */
- private final RandomAccessFile[] rafs;
-
- /** */
- private final FileChannel[] chs;
-
- /**
- * @param f File.
- * @param stripes Stripes.
- * @throws FileNotFoundException If failed.
- */
- StripedFileChannel(File f, int stripes) throws FileNotFoundException {
- assert stripes > 0 && (stripes & (stripes - 1)) == 0 : "stripes must be positive and power of two.";
-
- rafs = new RandomAccessFile[stripes];
- chs = new FileChannel[stripes];
-
- for (int i = 0; i < stripes; i++) {
- RandomAccessFile raf = new RandomAccessFile(f, "r");
-
- rafs[i] = raf;
- chs[i] = raf.getChannel();
- }
- }
-
- /**
- * Reads data from file channel to buffer.
- *
- * @param buf Buffer.
- * @param pos Position.
- * @return Read bytes count.
- * @throws IOException If failed.
- */
- int read(ByteBuffer buf, long pos) throws IOException {
- int i = enter.getAndIncrement() & (chs.length - 1);
-
- return chs[i].read(buf, pos);
- }
-
- /**
- * Closes channel.
- */
- void close() {
- for (RandomAccessFile raf : rafs)
- U.closeQuiet(raf);
- }
- }
-
- /**
- * Swap file.
- */
- static class SwapFile {
- /** */
- private static final long MIN_TRUNK_SIZE = 10 * 1024 * 1024;
-
- /** */
- private final File file;
-
- /** */
- private final RandomAccessFile raf;
-
- /** */
- private final FileChannel writeCh;
-
- /** */
- volatile StripedFileChannel readCh;
-
- /** */
- private volatile long len;
-
- /** */
- private final FileSwapArray<SwapValue> arr = new FileSwapArray<>();
-
- /**
- * @param file File.
- * @param readerStripes Reader stripes number.
- * @throws IOException In case of error.
- */
- SwapFile(File file, int readerStripes) throws IOException {
- assert file != null;
-
- file.delete();
-
- if (!file.createNewFile())
- throw new IllegalStateException("Failed to create file: " + file.getAbsolutePath());
-
- this.file = file;
-
- raf = new RandomAccessFile(file, "rw");
-
- writeCh = raf.getChannel();
-
- readCh = new StripedFileChannel(file, readerStripes);
- }
-
- /**
- * Reopens read channel.
- *
- * @throws FileNotFoundException If failed.
- */
- void reopenReadChannel() throws FileNotFoundException {
- readCh.close();
-
- readCh = new StripedFileChannel(file, readCh.chs.length);
- }
-
- /**
- * @param vals Values.
- * @param buf Duffer.
- * @param sign Indicates where should we write value, to the left or to the right.
- * @throws Exception If failed.
- */
- public void write(Iterable<SwapValue> vals, ByteBuffer buf, int sign) throws Exception {
- for (SwapValue val : vals) {
- int oldIdx = val.idx;
-
- if (oldIdx == SwapValue.DELETED)
- continue;
-
- int idx = arr.add(val);
-
- if (!val.casIdx(oldIdx, sign * idx)) {
- assert val.idx == SwapValue.DELETED;
-
- boolean res = tryRemove(idx, val);
-
- assert res;
- }
- }
-
- final int size = buf.remaining();
-
- if (size == 0)
- return;
-
- long pos = len;
-
- len = pos + size;
-
- long res = writeCh.write(buf, pos);
-
- if (res != size)
- throw new IllegalStateException(res + " != " + size);
-
- // Nullify bytes in values ans set pos.
- for (SwapValue val : vals) {
- val.set(pos, null);
-
- pos += val.len;
- }
- }
-
- /**
- * @param vals Values.
- * @param sign Sign: 1 or -1.
- * @throws Exception If failed.
- */
- public void write(SwapValues vals, int sign) throws Exception {
- ByteBuffer buf = ByteBuffer.allocateDirect(vals.size);
-
- for (int i = 0, len = vals.vals.length; i < len; i++) {
- SwapValue val = vals.vals[i];
-
- if (val.idx == SwapValue.DELETED) {
- vals.vals[i] = null;
-
- continue;
- }
-
- int idx = arr.add(val);
-
- if (!val.casIdx(SwapValue.NEW, sign * idx)) {
- assert val.idx == SwapValue.DELETED;
-
- tryRemove(idx, val);
-
- vals.vals[i] = null;
- }
- else
- buf.put(val.value(null));
- }
-
- buf.flip();
-
- final int size = buf.remaining();
-
- if (size == 0)
- return;
-
- long pos = len;
-
- len = pos + size;
-
- long res = writeCh.write(buf, pos);
-
- if (res != size)
- throw new IllegalStateException(res + " != " + size);
-
- // Nullify bytes in values ans set pos.
- for (SwapValue val : vals.vals) {
- if (val == null)
- continue;
-
- val.set(pos, null);
-
- pos += val.len;
- }
- }
-
- /**
- * Gets file path.
- *
- * @return File path.
- */
- public String path() {
- return file.getAbsolutePath();
- }
-
- /**
- * Gets file length.
- *
- * @return File length.
- */
- public long length() {
- return len;
- }
-
- /**
- * Deletes file.
- *
- * @return Whether file was actually deleted.
- */
- public boolean delete() {
- U.closeQuiet(raf);
-
- readCh.close();
-
- return U.delete(file);
- }
-
- /**
- * @param idx Index.
- * @param exp Expected value.
- * @return {@code true} If succeeded.
- */
- public boolean tryRemove(int idx, SwapValue exp) {
- assert idx > 0 : idx;
-
- FileSwapArray.Slot<SwapValue> s = arr.slot(idx);
-
- return s != null && s.cas(exp, null);
- }
-
- /**
- * Does compaction for one buffer.
- *
- * @param vals Values.
- * @param bufSize Buffer size.
- * @return Buffer.
- * @throws IOException If failed.
- * @throws InterruptedException If interrupted.
- */
- public ByteBuffer compact(ArrayDeque<SwapValue> vals, final int bufSize) throws IOException,
- InterruptedException {
- assert vals.isEmpty();
-
- Compact c = new Compact(vals, bufSize);
-
- c.doCompact();
-
- return c.result();
- }
-
- /**
- * Single compaction operation.
- */
- private class Compact {
- /** */
- private final ArrayDeque<SwapValue> vals;
-
- /** */
- private final int bufSize;
-
- /** */
- private byte[] bytes;
-
- /** */
- private ByteBuffer buf;
-
- /** */
- private long beg = -1;
-
- /** */
- private long end = -1;
-
- /** */
- private int compacted;
-
- /**
- * @param vals Values.
- * @param bufSize Buffer size.
- */
- private Compact(ArrayDeque<SwapValue> vals, final int bufSize) {
- assert vals.isEmpty();
-
- this.vals = vals;
- this.bufSize = bufSize;
- }
-
- /**
- * Reads buffer and compacts it.
- *
- * @throws IOException if failed.
- */
- private void readAndCompact() throws IOException {
- assert beg != -1;
-
- if (buf == null) {
- bytes = new byte[bufSize];
-
- buf = ByteBuffer.wrap(bytes);
- }
-
- final int pos = buf.position();
-
- final int lim = (int)(end - beg + pos);
-
- assert pos >= 0;
- assert pos < lim : pos + " " + lim;
- assert lim <= buf.capacity();
-
- buf.limit(lim);
-
- int res = writeCh.read(buf, beg);
-
- assert res == lim - pos;
-
- int prevEnd = pos;
- long delta = beg - pos; // To translate from file based positions to buffer based.
-
- for (int j = vals.size(); j > compacted; j--) {
- SwapValue val = vals.pollFirst();
-
- int valPos = (int)(val.pos - delta);
-
- if (prevEnd != valPos) {
- assert prevEnd < valPos : prevEnd + " " + valPos;
-
- U.arrayCopy(bytes, valPos, bytes, prevEnd, val.len);
- }
-
- prevEnd += val.len;
-
- vals.addLast(val); // To have values in the same order as in byte buffer.
- }
-
- assert prevEnd > 0 : prevEnd;
-
- buf.position(prevEnd);
-
- end = -1;
-
- compacted = vals.size();
- }
-
- /**
- * Compacts.
- *
- * @throws IOException If failed.
- */
- private void doCompact() throws IOException {
- int idx = arr.size();
-
- while (--idx > 0) {
- FileSwapArray.Slot<SwapValue> s = arr.slot(idx);
-
- assert s != null;
-
- SwapValue v = s.get();
-
- if (v == null || v.idx == SwapValue.DELETED)
- continue;
-
- if (end == -1)
- end = v.pos + v.len;
-
- long size = end - v.pos;
-
- if ((buf == null ? bufSize : buf.remaining()) < size) {
- if (vals.isEmpty()) { // Too big single value.
- assert bytes == null && buf == null;
-
- bytes = new byte[(int)size];
-
- buf = ByteBuffer.wrap(bytes);
- }
- else if (compacted == vals.size())
- break; // Finish current compaction, nothing new collected.
- else { // Read region and compact values in buffer.
- readAndCompact();
-
- // Retry the same value.
- idx++;
-
- continue;
- }
- }
-
- beg = v.pos;
-
- vals.addFirst(v);
-
- s.cas(v, null);
- }
-
- if (vals.isEmpty()) {
- arr.truncate(1);
-
- writeCh.truncate(0);
-
- len = 0;
-
- reopenReadChannel(); // Make sure that value can be read only from right file but not after switch.
-
- return;
- }
-
- if (compacted != vals.size())
- readAndCompact();
-
- int pos = 0;
-
- for (SwapValue val : vals) { // The values will share one byte array with different offsets while moving.
- val.set(pos, bytes);
-
- pos += val.len;
- }
-
- buf.flip();
-
- assert buf.limit() == pos : buf.limit() + " " + pos;
-
- arr.truncate(idx + 1);
-
- if (len - beg > MIN_TRUNK_SIZE) {
- writeCh.truncate(beg);
-
- len = beg;
- }
- }
-
- /**
- * @return Buffer.
- */
- public ByteBuffer result() {
- return buf;
- }
- }
- }
-
- /**
- * Space.
- */
- private class Space {
- /** Space name. */
- private final String name;
-
- /** */
- private final GridAtomicInitializer<Void> initializer = new GridAtomicInitializer<>();
-
- /** Swap file left. */
- @SuppressWarnings("FieldAccessedSynchronizedAndUnsynchronized")
- private SwapFile left;
-
- /** Swap file right. */
- @SuppressWarnings("FieldAccessedSynchronizedAndUnsynchronized")
- private SwapFile right;
-
- /** */
- private final SwapValuesQueue que;
-
- /** Partitions. */
- private final ConcurrentMap<Integer, ConcurrentMap<SwapKey, SwapValue>> parts =
- new ConcurrentHashMap8<>();
-
- /** Total size. */
- private final AtomicLong size = new AtomicLong();
-
- /** Total count. */
- private final AtomicLong cnt = new AtomicLong();
-
- /** */
- private int sign = 1;
-
- /** Writer thread. */
- private Thread writer;
-
- /** */
- private Thread compactor;
-
- /**
- * @param name Space name.
- * @param log Logger.
- */
- private Space(String name, IgniteLogger log) {
- assert name != null;
-
- this.name = name;
- this.que = new SwapValuesQueue(writeBufSize, maxWriteQueSize, log);
- }
-
- /**
- * Initializes space.
- *
- * @throws org.apache.ignite.spi.IgniteSpiException If initialization failed.
- */
- public void initialize() throws IgniteSpiException {
- if (initializer.succeeded())
- return;
-
- assert dir.exists();
- assert dir.isDirectory();
-
- try {
- initializer.init(new Callable<Void>(){
- @Override public Void call() throws Exception {
- left = new SwapFile(new File(dir, name + ".left"), readStripesNum);
-
- right = new SwapFile(new File(dir, name + ".right"), readStripesNum);
-
- final Object mux = new Object();
-
- writer = new IgniteSpiThread(gridName, "Swap writer: " + name, log) {
- @Override protected void body() throws InterruptedException {
- while (!isInterrupted()) {
- SwapValues vals = que.take();
-
- synchronized (mux) {
- SwapFile f = sign == 1 ? right : left;
-
- try {
- f.write(vals, sign);
- }
- catch (Exception e) {
- throw new IgniteException(e);
- }
- }
- }
- }
- };
-
- compactor = new IgniteSpiThread(gridName, "Swap compactor: " + name, log) {
- @Override protected void body() throws InterruptedException {
- SwapFile w = null;
- SwapFile c = null;
-
- ArrayDeque<SwapValue> vals = null;
-
- while (!isInterrupted()) {
- while(!needCompact()) {
- LockSupport.park();
-
- if (isInterrupted())
- return;
- }
-
- ByteBuffer buf = null;
-
- if (vals == null)
- vals = new ArrayDeque<>();
- else {
- vals.clear();
-
- try {
- buf = c.compact(vals, writeBufSize);
- }
- catch (IOException e) {
- throw new IgniteException(e);
- }
- }
-
- if (vals.isEmpty()) {
- synchronized (mux) {
- sign = -sign;
-
- if (sign == 1) {
- w = right;
- c = left;
- }
- else {
- w = left;
- c = right;
- }
- }
- }
- else {
- assert buf != null && buf.remaining() != 0;
-
- synchronized (mux) {
- try {
- w.write(vals, buf, sign);
- }
- catch (Exception e) {
- throw new IgniteException(e);
- }
- }
- }
- }
- }
- };
-
- writer.start();
- compactor.start();
-
- return null;
- }
- });
- }
- catch (IgniteCheckedException e) {
- throw new IgniteSpiException(e);
- }
- }
-
- /**
- * Gets total space size in bytes.
- *
- * @return Total size.
- */
- public long size() {
- return left.length() + right.length();
- }
-
- /**
- * Gets total space count.
- *
- * @return Total count.
- */
- public long count() {
- return cnt.get();
- }
-
- /**
- * @param parts Partitions.
- * @return Total count of keys for given partitions.
- */
- public long count(Set<Integer> parts) {
- long cnt = 0;
-
- for (Integer part : parts) {
- ConcurrentMap<SwapKey, SwapValue> map = partition(part, false);
-
- if (map != null)
- cnt += map.size();
- }
-
- return cnt;
- }
-
- /**
- * Stops space.
- *
- * @throws org.apache.ignite.internal.IgniteInterruptedCheckedException If interrupted.
- */
- public void stop() throws IgniteInterruptedCheckedException {
- U.interrupt(writer);
- U.interrupt(compactor);
-
- U.join(writer);
- U.join(compactor);
-
- left.delete();
- right.delete();
- }
-
- /**
- * Stores value in space.
- *
- * @param key Key.
- * @param val Value.
- * @throws org.apache.ignite.spi.IgniteSpiException In case of error.
- */
- public void store(final SwapKey key, @Nullable final byte[] val) throws IgniteSpiException {
- assert key != null;
-
- final ConcurrentMap<SwapKey, SwapValue> part = partition(key.partition(), true);
-
- assert part != null;
-
- if (val == null) {
- SwapValue swapVal = part.remove(key);
-
- if (swapVal != null) {
- removeFromFile(swapVal);
-
- size.addAndGet(-swapVal.len);
- cnt.decrementAndGet();
- }
-
- return;
- }
-
- final SwapValue swapVal = new SwapValue(val);
-
- SwapValue old = part.put(key, swapVal);
-
- if (old != null) {
- size.addAndGet(val.length - old.len);
-
- removeFromFile(old);
- }
- else {
- size.addAndGet(val.length);
- cnt.incrementAndGet();
- }
-
- que.add(swapVal);
- }
-
- /**
- * Reads value from space.
- *
- * @param key Key.
- * @return Value.
- * @throws org.apache.ignite.spi.IgniteSpiException In case of error.
- */
- @Nullable public byte[] read(SwapKey key) throws IgniteSpiException {
- assert key != null;
-
- final Map<SwapKey, SwapValue> part = partition(key.partition(), false);
-
- if (part == null)
- return null;
-
- SwapValue swapVal = part.get(key);
-
- if (swapVal == null)
- return null;
-
- return swapVal.value(this);
- }
-
- /**
- * Removes value from space.
- *
- * @param key Key.
- * @param read If value has to be read.
- * @return Value.
- * @throws org.apache.ignite.spi.IgniteSpiException In case of error.
- */
- @Nullable public byte[] remove(SwapKey key, boolean read) throws IgniteSpiException {
- assert key != null;
-
- final Map<SwapKey, SwapValue> part = partition(key.partition(), false);
-
- if (part == null)
- return null;
-
- SwapValue val = part.remove(key);
-
- if (val == null)
- return null;
-
- size.addAndGet(-val.len);
-
- cnt.decrementAndGet();
-
- byte[] bytes = null;
-
- if (read) {
- bytes = val.value(this);
-
- assert bytes != null; // Value bytes were read before removal from file, so compaction can't happen.
- }
-
- removeFromFile(val);
-
- return bytes;
- }
-
- /**
- * @param val Value.
- */
- private void removeFromFile(SwapValue val) {
- for (;;) {
- int idx = val.idx;
-
- assert idx != SwapValue.DELETED;
-
- if (val.casIdx(idx, SwapValue.DELETED)) {
- if (idx != SwapValue.NEW) {
- SwapFile f = idx > 0 ? right : left;
-
- f.tryRemove(Math.abs(idx), val);
- }
-
- break;
- }
- }
-
- if (needCompact())
- LockSupport.unpark(compactor);
- }
-
- /**
- * @return {@code true} If compaction needed.
- */
- private boolean needCompact() {
- long fileLen = size();
-
- return fileLen > writeBufSize && (fileLen - size.get()) / (float)fileLen > maxSparsity;
- }
-
- /**
- * Gets numbers of partitioned stored in this space.
- *
- * @return Partition numbers.
- */
- public Collection<Integer> partitions() {
- return parts.keySet();
- }
-
- /**
- * Gets partition map by its number.
- *
- * @param part Partition number.
- * @param create Whether to create partition if it doesn't exist.
- * @return Partition map.
- */
- @Nullable private ConcurrentMap<SwapKey, SwapValue> partition(int part, boolean create) {
- ConcurrentMap<SwapKey, SwapValue> map = parts.get(part);
-
- if (map == null && create) {
- ConcurrentMap<SwapKey, SwapValue> old = parts.putIfAbsent(part,
- map = new ConcurrentHashMap<>());
-
- if (old != null)
- map = old;
- }
-
- return map;
- }
-
- /**
- * @param part Partition.
- * @return Iterator over partition.
- */
- public Iterator<Map.Entry<SwapKey, byte[]>> entriesIterator(int part) {
- Map<SwapKey, SwapValue> partMap = partition(part, false);
-
- if (partMap == null)
- return Collections.<Map.Entry<SwapKey, byte[]>>emptySet().iterator();
-
- return transform(partMap.entrySet().iterator());
- }
-
- /**
- * @return Iterator over all entries.
- */
- public Iterator<Map.Entry<SwapKey, byte[]>> entriesIterator() {
- final Iterator<ConcurrentMap<SwapKey, SwapValue>> iter = parts.values().iterator();
-
- return transform(F.concat(new Iterator<Iterator<Map.Entry<SwapKey, SwapValue>>>() {
- @Override public boolean hasNext() {
- return iter.hasNext();
- }
-
- @Override public Iterator<Map.Entry<SwapKey, SwapValue>> next() {
- return iter.next().entrySet().iterator();
- }
-
- @Override public void remove() {
- throw new UnsupportedOperationException();
- }
- }));
- }
-
- /**
- * Gets iterator for all entries in space.
- *
- * @param iter Iterator with {@link SwapValue} to transform.
- * @return Entries iterator.
- */
- private Iterator<Map.Entry<SwapKey, byte[]>> transform(final Iterator<Map.Entry<SwapKey,
- SwapValue>> iter) {
- return new Iterator<Map.Entry<SwapKey, byte[]>>() {
- /** */
- private Map.Entry<SwapKey, byte[]> next;
-
- /** */
- private Map.Entry<SwapKey, byte[]> last;
-
- {
- advance();
- }
-
- @Override public boolean hasNext() {
- return next != null;
- }
-
- /**
- * Gets next entry.
- */
- private void advance() {
- while (iter.hasNext()) {
- Map.Entry<SwapKey, SwapValue> entry = iter.next();
-
- byte[] bytes;
-
- try {
- bytes = entry.getValue().value(Space.this);
- }
- catch (IgniteSpiException e) {
- throw new IgniteException(e);
- }
-
- if (bytes != null) {
- next = new T2<>(entry.getKey(), bytes);
-
- break;
- }
- }
- }
-
- @Override public Map.Entry<SwapKey, byte[]> next() {
- final Map.Entry<SwapKey, byte[]> res = next;
-
- if (res == null)
- throw new NoSuchElementException();
-
- next = null;
-
- advance();
-
- last = res;
-
- return res;
- }
-
- @Override public void remove() {
- if (last == null)
- throw new IllegalStateException();
-
- try {
- Space.this.remove(last.getKey(), false);
- }
- catch (IgniteSpiException e) {
- throw new IgniteException(e);
- }
- finally {
- last = null;
- }
- }
- };
- }
- }
-}
[11/50] [abbrv] ignite git commit: Merge with master - WIP.
Posted by ag...@apache.org.
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopology.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopology.java
index bbd2db0,14ce1f9..79358e8
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopology.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopology.java
@@@ -211,47 -208,34 +216,55 @@@ public interface GridDhtPartitionTopolo
* @param exchId Exchange ID.
* @param partMap Update partition map.
* @param cntrMap Partition update counters.
- * @return Local partition map if there were evictions or {@code null} otherwise.
+ * @return {@code True} if topology state changed.
*/
- public GridDhtPartitionMap2 update(@Nullable GridDhtPartitionExchangeId exchId,
+ public boolean update(@Nullable GridDhtPartitionExchangeId exchId,
GridDhtPartitionFullMap partMap,
- @Nullable Map<Integer, Long> cntrMap);
+ @Nullable Map<Integer, T2<Long, Long>> cntrMap);
/**
* @param exchId Exchange ID.
* @param parts Partitions.
* @param cntrMap Partition update counters.
- * @return Local partition map if there were evictions or {@code null} otherwise.
+ * @param checkEvictions Check evictions flag.
+ * @return {@code True} if topology state changed.
*/
- @Nullable public GridDhtPartitionMap2 update(@Nullable GridDhtPartitionExchangeId exchId,
+ @Nullable public boolean update(@Nullable GridDhtPartitionExchangeId exchId,
GridDhtPartitionMap2 parts,
- @Nullable Map<Integer, T2<Long, Long>> cntrMap);
- @Nullable Map<Integer, Long> cntrMap,
++ @Nullable Map<Integer, T2<Long, Long>> cntrMap,
+ boolean checkEvictions);
/**
+ * Checks if there is at least one owner for each partition in the cache topology.
+ * If not, marks such a partition as LOST.
+ * <p>
+ * This method should be called on topology coordinator after all partition messages are received.
+ *
+ * @param discoEvt Discovery event for which we detect lost partitions.
+ * @return {@code True} if partitons state got updated.
+ */
+ public boolean detectLostPartitions(DiscoveryEvent discoEvt);
+
+ /**
+ * Resets the state of all LOST partitions to OWNING.
+ */
+ public void resetLostPartitions();
+
+ /**
+ * @return Collection of lost partitions, if any.
+ */
+ public Collection<Integer> lostPartitions();
+
+ /**
+ *
+ */
+ public void checkEvictions();
+
+ /**
+ * @param skipZeros If {@code true} then filters out zero counters.
* @return Partition update counters.
*/
- public Map<Integer, T2<Long, Long>> updateCounters();
+ public Map<Integer, Long> updateCounters(boolean skipZeros);
/**
* @param part Partition to own.
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
index 05c5c2d,1b4dcc9..5bda0bf
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
@@@ -30,18 -30,14 +30,19 @@@ import java.util.Set
import java.util.UUID;
import java.util.concurrent.atomic.AtomicReferenceArray;
import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.IgniteException;
import org.apache.ignite.IgniteLogger;
import org.apache.ignite.IgniteSystemProperties;
+import org.apache.ignite.cache.PartitionLossPolicy;
import org.apache.ignite.cluster.ClusterNode;
import org.apache.ignite.events.DiscoveryEvent;
+import org.apache.ignite.events.EventType;
import org.apache.ignite.internal.IgniteFutureTimeoutCheckedException;
import org.apache.ignite.internal.IgniteInterruptedCheckedException;
+ import org.apache.ignite.internal.processors.affinity.AffinityAssignment;
import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
+import org.apache.ignite.internal.processors.affinity.GridAffinityAssignment;
+import org.apache.ignite.internal.processors.cache.CacheState;
import org.apache.ignite.internal.processors.cache.GridCacheContext;
import org.apache.ignite.internal.processors.cache.GridCacheMapEntryFactory;
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionExchangeId;
@@@ -593,12 -539,8 +591,10 @@@ import static org.apache.ignite.interna
/** {@inheritDoc} */
@Override public boolean afterExchange(GridDhtPartitionsExchangeFuture exchFut) throws IgniteCheckedException {
+ treatAllPartitionAsLocal = false;
+
boolean changed = waitForRent();
- ClusterNode loc = cctx.localNode();
-
int num = cctx.affinity().partitions();
AffinityTopologyVersion topVer = exchFut.topologyVersion();
@@@ -676,10 -618,10 +672,10 @@@
if (locPart != null) {
GridDhtPartitionState state = locPart.state();
- if (state == MOVING) {
+ if (state == MOVING && cctx.shared().cache().globalState() == CacheState.ACTIVE) {
locPart.rent(false);
- updateLocal(p, loc.id(), locPart.state(), updateSeq);
+ updateSeq = updateLocal(p, locPart.state(), updateSeq);
changed = true;
@@@ -1067,9 -979,9 +1066,9 @@@
/** {@inheritDoc} */
@SuppressWarnings({"MismatchedQueryAndUpdateOfCollection"})
- @Nullable @Override public GridDhtPartitionMap2 update(@Nullable GridDhtPartitionExchangeId exchId,
+ @Nullable @Override public boolean update(@Nullable GridDhtPartitionExchangeId exchId,
GridDhtPartitionFullMap partMap,
- @Nullable Map<Integer, Long> cntrMap) {
+ @Nullable Map<Integer, T2<Long, Long>> cntrMap) {
if (log.isDebugEnabled())
log.debug("Updating full partition map [exchId=" + exchId + ", parts=" + fullMapString() + ']');
@@@ -1079,13 -991,13 +1078,13 @@@
try {
if (stopping)
- return null;
+ return false;
if (cntrMap != null) {
- for (Map.Entry<Integer, Long> e : cntrMap.entrySet()) {
- Long cntr = this.cntrMap.get(e.getKey());
+ for (Map.Entry<Integer, T2<Long, Long>> e : cntrMap.entrySet()) {
+ T2<Long, Long> cntr = this.cntrMap.get(e.getKey());
- if (cntr == null || cntr < e.getValue())
+ if (cntr == null || cntr.get2() < e.getValue().get2())
this.cntrMap.put(e.getKey(), e.getValue());
}
@@@ -1240,10 -1104,7 +1239,10 @@@
if (log.isDebugEnabled())
log.debug("Partition map after full update: " + fullMapString());
+ if (changed)
+ cctx.shared().exchange().scheduleResendPartitions();
+
- return changed ? localPartitionMap() : null;
+ return changed;
}
finally {
lock.writeLock().unlock();
@@@ -1251,10 -1112,10 +1250,10 @@@
}
/** {@inheritDoc} */
- @SuppressWarnings({"MismatchedQueryAndUpdateOfCollection"})
- @Nullable @Override public GridDhtPartitionMap2 update(@Nullable GridDhtPartitionExchangeId exchId,
+ @Nullable @Override public boolean update(@Nullable GridDhtPartitionExchangeId exchId,
GridDhtPartitionMap2 parts,
- @Nullable Map<Integer, T2<Long, Long>> cntrMap) {
- @Nullable Map<Integer, Long> cntrMap,
++ @Nullable Map<Integer, T2<Long, Long>> cntrMap,
+ boolean checkEvictions) {
if (log.isDebugEnabled())
log.debug("Updating single partition map [exchId=" + exchId + ", parts=" + mapString(parts) + ']');
@@@ -1270,26 -1131,21 +1269,26 @@@
try {
if (stopping)
- return null;
+ return false;
if (cntrMap != null) {
- for (Map.Entry<Integer, Long> e : cntrMap.entrySet()) {
- Integer p = e.getKey();
-
- Long cntr = this.cntrMap.get(p);
+ for (Map.Entry<Integer, T2<Long, Long>> e : cntrMap.entrySet()) {
+ T2<Long, Long> cntr = this.cntrMap.get(e.getKey());
- if (cntr == null || cntr < e.getValue())
- this.cntrMap.put(p, e.getValue());
+ if (cntr == null || cntr.get2() < e.getValue().get2())
+ this.cntrMap.put(e.getKey(), e.getValue());
+ }
- for (int i = 0; i < locParts.length(); i++) {
- GridDhtLocalPartition part = locParts.get(i);
++ for (int p = 0; p < locParts.length(); p++) {
+ GridDhtLocalPartition part = locParts.get(p);
- if (part != null)
- part.updateCounter(e.getValue());
+ if (part == null)
+ continue;
+
+ T2<Long, Long> cntr = cntrMap.get(part.id());
+
+ if (cntr != null && cntr.get2() > part.updateCounter())
+ part.updateCounter(cntr.get2());
}
}
@@@ -1320,58 -1176,86 +1319,97 @@@
long updateSeq = this.updateSeq.incrementAndGet();
- node2part = new GridDhtPartitionFullMap(node2part, updateSeq);
+ node2part.newUpdateSequence(updateSeq);
- boolean changed = false;
+ boolean changed = cur == null || !cur.equals(parts);
- if (cur == null || !cur.equals(parts))
- changed = true;
+ if (changed) {
+ node2part.put(parts.nodeId(), parts);
- node2part.put(parts.nodeId(), parts);
+ // Add new mappings.
+ for (Integer p : parts.keySet()) {
+ Set<UUID> ids = part2node.get(p);
- part2node = new HashMap<>(part2node);
+ if (ids == null)
+ // Initialize HashSet to size 3 in anticipation that there won't be
+ // more than 3 nodes per partition.
+ part2node.put(p, ids = U.newHashSet(3));
- // Add new mappings.
- for (Integer p : parts.keySet()) {
- Set<UUID> ids = part2node.get(p);
+ ids.add(parts.nodeId());
+ }
- if (ids == null)
- // Initialize HashSet to size 3 in anticipation that there won't be
- // more than 3 nodes per partition.
- part2node.put(p, ids = U.newHashSet(3));
+ // Remove obsolete mappings.
+ if (cur != null) {
+ for (Integer p : cur.keySet()) {
+ if (parts.containsKey(p))
+ continue;
- changed |= ids.add(parts.nodeId());
- }
+ Set<UUID> ids = part2node.get(p);
- // Remove obsolete mappings.
- if (cur != null) {
- for (Integer p : F.view(cur.keySet(), F0.notIn(parts.keySet()))) {
- Set<UUID> ids = part2node.get(p);
-
- if (ids != null)
- changed |= ids.remove(parts.nodeId());
+ if (ids != null)
+ ids.remove(parts.nodeId());
+ }
}
}
+ else
+ cur.updateSequence(parts.updateSequence(), parts.topologyVersion());
- if (checkEvictions)
- changed |= checkEvictions(updateSeq);
+ AffinityTopologyVersion affVer = cctx.affinity().affinityTopologyVersion();
+
+ if (!affVer.equals(AffinityTopologyVersion.NONE) && affVer.compareTo(topVer) >= 0) {
+ List<List<ClusterNode>> aff = cctx.affinity().assignments(topVer);
+
- changed |= checkEvictions(updateSeq, aff);
++ if (checkEvictions)
++ changed |= checkEvictions(updateSeq, aff);
+
+ updateRebalanceVersion(aff);
+ }
consistencyCheck();
if (log.isDebugEnabled())
log.debug("Partition map after single update: " + fullMapString());
+ if (changed)
+ cctx.shared().exchange().scheduleResendPartitions();
+
- return changed ? localPartitionMap() : null;
+ return changed;
+ }
+ finally {
+ lock.writeLock().unlock();
+ }
+ }
+
+ /**
+ * @param updateSeq Update sequence.
+ * @return {@code True} if state changed.
+ */
+ private boolean checkEvictions(long updateSeq) {
+ AffinityTopologyVersion affVer = cctx.affinity().affinityTopologyVersion();
+
+ boolean changed = false;
+
+ if (!affVer.equals(AffinityTopologyVersion.NONE) && affVer.compareTo(topVer) >= 0) {
+ List<List<ClusterNode>> aff = cctx.affinity().assignments(topVer);
+
+ changed = checkEvictions(updateSeq, aff);
+
+ updateRebalanceVersion(aff);
+ }
+
+ return changed;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void checkEvictions() {
+ lock.writeLock().lock();
+
+ try {
+ long updateSeq = this.updateSeq.incrementAndGet();
+
+ node2part.newUpdateSequence(updateSeq);
+
+ checkEvictions(updateSeq);
}
finally {
lock.writeLock().unlock();
@@@ -1698,24 -1387,32 +1748,34 @@@
}
}
- UUID locNodeId = cctx.localNodeId();
+ if (node2part != null) {
- GridDhtPartitionMap2 map = node2part.get(nodeId);
++ UUID locNodeId = cctx.localNodeId();
+
- GridDhtPartitionMap2 map = node2part.get(locNodeId);
++ GridDhtPartitionMap2 map = node2part.get(locNodeId);
- if (map == null)
- node2part.put(nodeId, map = new GridDhtPartitionMap2(nodeId, updateSeq, topVer,
- Collections.<Integer, GridDhtPartitionState>emptyMap(), false));
- if (map == null) {
- map = new GridDhtPartitionMap2(locNodeId,
- updateSeq,
- topVer,
- Collections.<Integer, GridDhtPartitionState>emptyMap(),
- false);
++ if (map == null) {
++ map = new GridDhtPartitionMap2(locNodeId,
++ updateSeq,
++ topVer,
++ Collections.<Integer, GridDhtPartitionState>emptyMap(),
++ false);
+
- node2part.put(locNodeId, map);
- }
++ node2part.put(locNodeId, map);
++ }
- map.updateSequence(updateSeq, topVer);
+ map.updateSequence(updateSeq, topVer);
- map.put(p, state);
+ map.put(p, state);
- Set<UUID> ids = part2node.get(p);
+ Set<UUID> ids = part2node.get(p);
- if (ids == null)
- part2node.put(p, ids = U.newHashSet(3));
+ if (ids == null)
+ part2node.put(p, ids = U.newHashSet(3));
- ids.add(nodeId);
- ids.add(locNodeId);
++ ids.add(locNodeId);
+ }
+
+ return updateSeq;
}
/**
@@@ -1807,23 -1500,26 +1863,24 @@@
}
/** {@inheritDoc} */
- @Nullable @Override public GridDhtPartitionMap2 partitions(UUID nodeId) {
- @Override public Map<Integer, Long> updateCounters(boolean skipZeros) {
++ @Override public Map<Integer, T2<Long, Long>> updateCounters(boolean skipZeros) {
lock.readLock().lock();
try {
- return node2part.get(nodeId);
- }
- finally {
- lock.readLock().unlock();
- }
- }
- Map<Integer, Long> res;
++ Map<Integer, T2<Long, Long>> res;
- /** {@inheritDoc} */
- @Override public Map<Integer, T2<Long, Long>> updateCounters() {
- lock.readLock().lock();
+ if (skipZeros) {
+ res = U.newHashMap(cntrMap.size());
- try {
- Map<Integer, T2<Long, Long>> res = new HashMap<>(cntrMap);
- for (Map.Entry<Integer, Long> e : cntrMap.entrySet()) {
- Long cntr = e.getValue();
-
- if (ZERO.equals(cntr))
++ for (Map.Entry<Integer, T2<Long, Long>> e : cntrMap.entrySet()) {
++ if (ZERO.equals(e.getValue().get1()) && ZERO.equals(e.getValue().get2()))
+ continue;
+
- res.put(e.getKey(), cntr);
++ res.put(e.getKey(), e.getValue());
+ }
+ }
+ else
+ res = new HashMap<>(cntrMap);
for (int i = 0; i < locParts.length(); i++) {
GridDhtLocalPartition part = locParts.get(i);
@@@ -1831,11 -1527,14 +1888,14 @@@
if (part == null)
continue;
- Long cntr0 = res.get(part.id());
- long cntr1 = part.updateCounter();
+ T2<Long, Long> cntr0 = res.get(part.id());
+ Long cntr1 = part.initialUpdateCounter();
+ if (skipZeros && cntr1 == 0L)
+ continue;
+
- if (cntr0 == null || cntr1 > cntr0)
- res.put(part.id(), cntr1);
+ if (cntr0 == null || cntr1 > cntr0.get1())
+ res.put(part.id(), new T2<Long, Long>(cntr1, part.updateCounter()));
}
return res;
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
index 8096950,8aeecf8..b04dc30
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
@@@ -365,8 -361,12 +365,13 @@@ public final class GridDhtTxPrepareFutu
boolean hasFilters = !F.isEmptyOrNulls(txEntry.filters()) && !F.isAlwaysTrue(txEntry.filters());
- if (hasFilters || retVal || txEntry.op() == DELETE || txEntry.op() == TRANSFORM ||
- tx.nearOnOriginatingNode() || tx.hasInterceptor()) {
+ CacheObject val;
+ CacheObject oldVal = null;
+
- boolean readOld = hasFilters || retVal || txEntry.op() == DELETE || txEntry.op() == TRANSFORM;
++ boolean readOld = hasFilters || retVal || txEntry.op() == DELETE || txEntry.op() == TRANSFORM ||
++ tx.nearOnOriginatingNode() || tx.hasInterceptor();
+
+ if (readOld) {
cached.unswap(retVal);
boolean readThrough = !txEntry.skipStore() &&
@@@ -381,9 -381,10 +386,9 @@@
final boolean keepBinary = txEntry.keepBinary();
- CacheObject val = cached.innerGet(
+ val = oldVal = cached.innerGet(
null,
tx,
- /*swap*/true,
readThrough,
/*metrics*/retVal,
/*event*/evt,
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
index f750840,b291bd2..be32767
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
@@@ -2779,12 -2809,10 +2819,12 @@@ public class GridDhtAtomicCache<K, V> e
* locks are released.
*/
@SuppressWarnings("ForLoopReplaceableByForEach")
- private List<GridDhtCacheEntry> lockEntries(List<KeyCacheObject> keys, AffinityTopologyVersion topVer)
+ private List<GridDhtCacheEntry> lockEntries(GridNearAtomicAbstractUpdateRequest req, AffinityTopologyVersion topVer)
throws GridDhtInvalidPartitionException {
+ ctx.shared().database().checkpointReadLock();
+
- if (keys.size() == 1) {
- KeyCacheObject key = keys.get(0);
+ if (req.size() == 1) {
+ KeyCacheObject key = req.key(0);
while (true) {
try {
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateFuture.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateFuture.java
index 058d4aa,efb35c4..98ab764
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateFuture.java
@@@ -23,18 -23,9 +23,14 @@@ import java.util.HashMap
import java.util.List;
import java.util.Map;
import java.util.UUID;
+import java.util.concurrent.atomic.AtomicReference;
+import javax.cache.processor.EntryProcessor;
+import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.IgniteLogger;
+import org.apache.ignite.IgniteSystemProperties;
import org.apache.ignite.cache.CacheWriteSynchronizationMode;
import org.apache.ignite.cluster.ClusterNode;
- import org.apache.ignite.internal.IgniteInternalFuture;
- import org.apache.ignite.internal.cluster.ClusterTopologyCheckedException;
import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
- import org.apache.ignite.internal.processors.cache.CacheObject;
- import org.apache.ignite.internal.processors.cache.GridCacheAtomicFuture;
import org.apache.ignite.internal.processors.cache.GridCacheContext;
import org.apache.ignite.internal.processors.cache.GridCacheEntryRemovedException;
import org.apache.ignite.internal.processors.cache.KeyCacheObject;
@@@ -48,12 -35,9 +40,12 @@@ import org.apache.ignite.internal.util.
import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
- import org.apache.ignite.lang.IgniteUuid;
+ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
+import static org.apache.ignite.IgniteSystemProperties.IGNITE_ATOMIC_CACHE_MAX_CONCURRENT_DHT_UPDATES;
+import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC;
+
/**
* DHT atomic cache backup update future.
*/
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateFuture.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicFullUpdateRequest.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicFullUpdateRequest.java
index 0000000,87d9225..84c2109
mode 000000,100644..100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicFullUpdateRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicFullUpdateRequest.java
@@@ -1,0 -1,1025 +1,1046 @@@
+ /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+ package org.apache.ignite.internal.processors.cache.distributed.dht.atomic;
+
+ import java.io.Externalizable;
+ import java.nio.ByteBuffer;
+ import java.util.ArrayList;
+ import java.util.Arrays;
+ import java.util.List;
+ import java.util.UUID;
+ import javax.cache.expiry.ExpiryPolicy;
+ import javax.cache.processor.EntryProcessor;
+ import org.apache.ignite.IgniteCheckedException;
+ import org.apache.ignite.IgniteLogger;
+ import org.apache.ignite.cache.CacheWriteSynchronizationMode;
+ import org.apache.ignite.internal.GridDirectCollection;
+ import org.apache.ignite.internal.GridDirectTransient;
+ import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
+ import org.apache.ignite.internal.processors.cache.CacheEntryPredicate;
+ import org.apache.ignite.internal.processors.cache.CacheObject;
+ import org.apache.ignite.internal.processors.cache.GridCacheContext;
+ import org.apache.ignite.internal.processors.cache.GridCacheOperation;
+ import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
+ import org.apache.ignite.internal.processors.cache.KeyCacheObject;
+ import org.apache.ignite.internal.processors.cache.distributed.IgniteExternalizableExpiryPolicy;
+ import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
+ import org.apache.ignite.internal.util.GridLongList;
+ import org.apache.ignite.internal.util.tostring.GridToStringInclude;
+ import org.apache.ignite.internal.util.typedef.F;
+ import org.apache.ignite.internal.util.typedef.internal.CU;
+ import org.apache.ignite.internal.util.typedef.internal.S;
+ import org.apache.ignite.internal.util.typedef.internal.U;
+ import org.apache.ignite.plugin.extensions.communication.MessageCollectionItemType;
+ import org.apache.ignite.plugin.extensions.communication.MessageReader;
+ import org.apache.ignite.plugin.extensions.communication.MessageWriter;
+ import org.jetbrains.annotations.NotNull;
+ import org.jetbrains.annotations.Nullable;
+
+ import static org.apache.ignite.internal.processors.cache.GridCacheOperation.DELETE;
+ import static org.apache.ignite.internal.processors.cache.GridCacheOperation.TRANSFORM;
+ import static org.apache.ignite.internal.processors.cache.GridCacheOperation.UPDATE;
+
+ /**
+ * Lite DHT cache update request sent from near node to primary node.
+ */
+ public class GridNearAtomicFullUpdateRequest extends GridNearAtomicAbstractUpdateRequest {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Target node ID. */
+ @GridDirectTransient
+ private UUID nodeId;
+
+ /** Future version. */
+ private GridCacheVersion futVer;
+
+ /** Update version. Set to non-null if fastMap is {@code true}. */
+ private GridCacheVersion updateVer;
+
+ /** Topology version. */
+ private AffinityTopologyVersion topVer;
+
+ /** Write synchronization mode. */
+ private CacheWriteSynchronizationMode syncMode;
+
+ /** Update operation. */
+ private GridCacheOperation op;
+
+ /** Subject ID. */
+ protected UUID subjId;
+
+ /** Task name hash. */
+ protected int taskNameHash;
+
+ /** */
+ @GridDirectTransient
+ private GridNearAtomicUpdateResponse res;
+
+ /** Fast map flag. */
+ protected boolean fastMap;
+
+ /** Topology locked flag. Set if atomic update is performed inside TX or explicit lock. */
+ protected boolean topLocked;
+
+ /** Flag indicating whether request contains primary keys. */
+ protected boolean hasPrimary;
+
+ /** Skip write-through to a persistent storage. */
+ protected boolean skipStore;
+
+ /** */
+ protected boolean clientReq;
+
+ /** Keep binary flag. */
+ protected boolean keepBinary;
+
+ /** Return value flag. */
+ protected boolean retval;
+
++ /** */
++ protected boolean recovery;
++
+ /** Keys to update. */
+ @GridToStringInclude
+ @GridDirectCollection(KeyCacheObject.class)
+ private List<KeyCacheObject> keys;
+
+ /** Values to update. */
+ @GridDirectCollection(CacheObject.class)
+ private List<CacheObject> vals;
+
+ /** Partitions of keys. */
+ @GridDirectCollection(int.class)
+ private List<Integer> partIds;
+
+ /** Entry processors. */
+ @GridDirectTransient
+ private List<EntryProcessor<Object, Object, Object>> entryProcessors;
+
+ /** Entry processors bytes. */
+ @GridDirectCollection(byte[].class)
+ private List<byte[]> entryProcessorsBytes;
+
+ /** Conflict versions. */
+ @GridDirectCollection(GridCacheVersion.class)
+ private List<GridCacheVersion> conflictVers;
+
+ /** Conflict TTLs. */
+ private GridLongList conflictTtls;
+
+ /** Conflict expire times. */
+ private GridLongList conflictExpireTimes;
-
+ /** Optional arguments for entry processor. */
+ @GridDirectTransient
+ private Object[] invokeArgs;
+
+ /** Entry processor arguments bytes. */
+ private byte[][] invokeArgsBytes;
+
+ /** Expiry policy. */
+ @GridDirectTransient
+ private ExpiryPolicy expiryPlc;
+
+ /** Expiry policy bytes. */
+ private byte[] expiryPlcBytes;
+
+ /** Filter. */
+ private CacheEntryPredicate[] filter;
+
+ /** Maximum possible size of inner collections. */
+ @GridDirectTransient
+ private int initSize;
+
+ /**
+ * Empty constructor required by {@link Externalizable}.
+ */
+ public GridNearAtomicFullUpdateRequest() {
+ // No-op.
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param cacheId Cache ID.
+ * @param nodeId Node ID.
+ * @param futVer Future version.
+ * @param fastMap Fast map scheme flag.
+ * @param updateVer Update version set if fast map is performed.
+ * @param topVer Topology version.
+ * @param topLocked Topology locked flag.
+ * @param syncMode Synchronization mode.
+ * @param op Cache update operation.
+ * @param retval Return value required flag.
+ * @param expiryPlc Expiry policy.
+ * @param invokeArgs Optional arguments for entry processor.
+ * @param filter Optional filter for atomic check.
+ * @param subjId Subject ID.
+ * @param taskNameHash Task name hash code.
+ * @param skipStore Skip write-through to a persistent storage.
+ * @param keepBinary Keep binary flag.
+ * @param clientReq Client node request flag.
+ * @param addDepInfo Deployment info flag.
+ * @param maxEntryCnt Maximum entries count.
+ */
+ GridNearAtomicFullUpdateRequest(
+ int cacheId,
+ UUID nodeId,
+ GridCacheVersion futVer,
+ boolean fastMap,
+ @Nullable GridCacheVersion updateVer,
+ @NotNull AffinityTopologyVersion topVer,
+ boolean topLocked,
+ CacheWriteSynchronizationMode syncMode,
+ GridCacheOperation op,
+ boolean retval,
+ @Nullable ExpiryPolicy expiryPlc,
+ @Nullable Object[] invokeArgs,
+ @Nullable CacheEntryPredicate[] filter,
+ @Nullable UUID subjId,
+ int taskNameHash,
+ boolean skipStore,
+ boolean keepBinary,
++ boolean recovery,
+ boolean clientReq,
+ boolean addDepInfo,
+ int maxEntryCnt
+ ) {
+ assert futVer != null;
+
+ this.cacheId = cacheId;
+ this.nodeId = nodeId;
+ this.futVer = futVer;
+ this.fastMap = fastMap;
+ this.updateVer = updateVer;
+
+ this.topVer = topVer;
+ this.topLocked = topLocked;
+ this.syncMode = syncMode;
+ this.op = op;
+ this.retval = retval;
+ this.expiryPlc = expiryPlc;
+ this.invokeArgs = invokeArgs;
+ this.filter = filter;
+ this.subjId = subjId;
+ this.taskNameHash = taskNameHash;
+ this.skipStore = skipStore;
+ this.keepBinary = keepBinary;
++ this.recovery = recovery;
+ this.clientReq = clientReq;
+ this.addDepInfo = addDepInfo;
+
+ // By default ArrayList expands to array of 10 elements on first add. We cannot guess how many entries
+ // will be added to request because of unknown affinity distribution. However, we DO KNOW how many keys
+ // participate in request. As such, we know upper bound of all collections in request. If this bound is lower
+ // than 10, we use it.
+ initSize = Math.min(maxEntryCnt, 10);
+
+ keys = new ArrayList<>(initSize);
+
+ partIds = new ArrayList<>(initSize);
+ }
+
+ /** {@inheritDoc} */
+ @Override public int lookupIndex() {
+ return CACHE_MSG_IDX;
+ }
+
+ /** {@inheritDoc} */
+ @Override public UUID nodeId() {
+ return nodeId;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void nodeId(UUID nodeId) {
+ this.nodeId = nodeId;
+ }
+
+ /** {@inheritDoc} */
+ @Override public UUID subjectId() {
+ return subjId;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int taskNameHash() {
+ return taskNameHash;
+ }
+
+ /** {@inheritDoc} */
+ @Override public GridCacheVersion futureVersion() {
+ return futVer;
+ }
+
+ /** {@inheritDoc} */
+ @Override public GridCacheVersion updateVersion() {
+ return updateVer;
+ }
+
+ /** {@inheritDoc} */
+ @Override public AffinityTopologyVersion topologyVersion() {
+ return topVer;
+ }
+
+ /** {@inheritDoc} */
+ @Override public CacheWriteSynchronizationMode writeSynchronizationMode() {
+ return syncMode;
+ }
+
+ /** {@inheritDoc} */
+ @Override public GridCacheOperation operation() {
+ return op;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean onResponse(GridNearAtomicUpdateResponse res) {
+ if (this.res == null) {
+ this.res = res;
+
+ return true;
+ }
+
+ return false;
+ }
+
+ /** {@inheritDoc} */
+ @Override @Nullable public GridNearAtomicUpdateResponse response() {
+ return res;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return addDepInfo;
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteLogger messageLogger(GridCacheSharedContext ctx) {
+ return ctx.atomicMessageLogger();
+ }
+
+ /** {@inheritDoc} */
+ @Override public void addUpdateEntry(KeyCacheObject key,
+ @Nullable Object val,
+ long conflictTtl,
+ long conflictExpireTime,
+ @Nullable GridCacheVersion conflictVer,
+ boolean primary) {
+ EntryProcessor<Object, Object, Object> entryProcessor = null;
+
+ if (op == TRANSFORM) {
+ assert val instanceof EntryProcessor : val;
+
+ entryProcessor = (EntryProcessor<Object, Object, Object>)val;
+ }
+
+ assert val != null || op == DELETE;
+
+ keys.add(key);
+ partIds.add(key.partition());
+
+ if (entryProcessor != null) {
+ if (entryProcessors == null)
+ entryProcessors = new ArrayList<>(initSize);
+
+ entryProcessors.add(entryProcessor);
+ }
+ else if (val != null) {
+ assert val instanceof CacheObject : val;
+
+ if (vals == null)
+ vals = new ArrayList<>(initSize);
+
+ vals.add((CacheObject)val);
+ }
+
+ hasPrimary |= primary;
+
+ // In case there is no conflict, do not create the list.
+ if (conflictVer != null) {
+ if (conflictVers == null) {
+ conflictVers = new ArrayList<>(initSize);
+
+ for (int i = 0; i < keys.size() - 1; i++)
+ conflictVers.add(null);
+ }
+
+ conflictVers.add(conflictVer);
+ }
+ else if (conflictVers != null)
+ conflictVers.add(null);
+
+ if (conflictTtl >= 0) {
+ if (conflictTtls == null) {
+ conflictTtls = new GridLongList(keys.size());
+
+ for (int i = 0; i < keys.size() - 1; i++)
+ conflictTtls.add(CU.TTL_NOT_CHANGED);
+ }
+
+ conflictTtls.add(conflictTtl);
+ }
+
+ if (conflictExpireTime >= 0) {
+ if (conflictExpireTimes == null) {
+ conflictExpireTimes = new GridLongList(keys.size());
+
+ for (int i = 0; i < keys.size() - 1; i++)
+ conflictExpireTimes.add(CU.EXPIRE_TIME_CALCULATE);
+ }
+
+ conflictExpireTimes.add(conflictExpireTime);
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override public List<KeyCacheObject> keys() {
+ return keys;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int size() {
+ return keys != null ? keys.size() : 0;
+ }
+
+ /** {@inheritDoc} */
+ @Override public KeyCacheObject key(int idx) {
+ return keys.get(idx);
+ }
+
+ /** {@inheritDoc} */
+ @Override public List<?> values() {
+ return op == TRANSFORM ? entryProcessors : vals;
+ }
+
+ /** {@inheritDoc} */
+ @SuppressWarnings("unchecked")
+ @Override public CacheObject value(int idx) {
+ assert op == UPDATE : op;
+
+ return vals.get(idx);
+ }
+
+ /** {@inheritDoc} */
+ @SuppressWarnings("unchecked")
+ @Override public EntryProcessor<Object, Object, Object> entryProcessor(int idx) {
+ assert op == TRANSFORM : op;
+
+ return entryProcessors.get(idx);
+ }
+
+ /** {@inheritDoc} */
+ @Override public CacheObject writeValue(int idx) {
+ if (vals != null)
+ return vals.get(idx);
+
+ return null;
+ }
+
+ /** {@inheritDoc} */
+ @Override @Nullable public List<GridCacheVersion> conflictVersions() {
+ return conflictVers;
+ }
+
+ /** {@inheritDoc} */
+ @Override @Nullable public GridCacheVersion conflictVersion(int idx) {
+ if (conflictVers != null) {
+ assert idx >= 0 && idx < conflictVers.size();
+
+ return conflictVers.get(idx);
+ }
+
+ return null;
+ }
+
+ /** {@inheritDoc} */
+ @Override public long conflictTtl(int idx) {
+ if (conflictTtls != null) {
+ assert idx >= 0 && idx < conflictTtls.size();
+
+ return conflictTtls.get(idx);
+ }
+
+ return CU.TTL_NOT_CHANGED;
+ }
+
+ /** {@inheritDoc} */
+ @Override public long conflictExpireTime(int idx) {
+ if (conflictExpireTimes != null) {
+ assert idx >= 0 && idx < conflictExpireTimes.size();
+
+ return conflictExpireTimes.get(idx);
+ }
+
+ return CU.EXPIRE_TIME_CALCULATE;
+ }
+
+ /** {@inheritDoc} */
+ @Override @Nullable public Object[] invokeArguments() {
+ return invokeArgs;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean fastMap() {
+ return fastMap;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean topologyLocked() {
+ return topLocked;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean clientRequest() {
+ return clientReq;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean returnValue() {
+ return retval;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean skipStore() {
+ return skipStore;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean keepBinary() {
+ return keepBinary;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean hasPrimary() {
+ return hasPrimary;
+ }
+
+ /** {@inheritDoc} */
++ @Override public boolean recovery() {
++ return recovery;
++ }
++
++ /** {@inheritDoc} */
+ @Override @Nullable public CacheEntryPredicate[] filter() {
+ return filter;
+ }
+
+ /** {@inheritDoc} */
+ @Override public ExpiryPolicy expiry() {
+ return expiryPlc;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void prepareMarshal(GridCacheSharedContext ctx) throws IgniteCheckedException {
+ super.prepareMarshal(ctx);
+
+ GridCacheContext cctx = ctx.cacheContext(cacheId);
+
+ if (expiryPlc != null && expiryPlcBytes == null)
+ expiryPlcBytes = CU.marshal(cctx, new IgniteExternalizableExpiryPolicy(expiryPlc));
+
+ prepareMarshalCacheObjects(keys, cctx);
+
+ if (filter != null) {
+ boolean hasFilter = false;
+
+ for (CacheEntryPredicate p : filter) {
+ if (p != null) {
+ hasFilter = true;
+
+ p.prepareMarshal(cctx);
+ }
+ }
+
+ if (!hasFilter)
+ filter = null;
+ }
+
+ if (op == TRANSFORM) {
+ // force addition of deployment info for entry processors if P2P is enabled globally.
+ if (!addDepInfo && ctx.deploymentEnabled())
+ addDepInfo = true;
+
+ if (entryProcessorsBytes == null)
+ entryProcessorsBytes = marshalCollection(entryProcessors, cctx);
+
+ if (invokeArgsBytes == null)
+ invokeArgsBytes = marshalInvokeArguments(invokeArgs, cctx);
+ }
+ else
+ prepareMarshalCacheObjects(vals, cctx);
+ }
+
+ /** {@inheritDoc} */
+ @Override public void finishUnmarshal(GridCacheSharedContext ctx, ClassLoader ldr) throws IgniteCheckedException {
+ super.finishUnmarshal(ctx, ldr);
+
+ GridCacheContext cctx = ctx.cacheContext(cacheId);
+
+ if (expiryPlcBytes != null && expiryPlc == null)
+ expiryPlc = U.unmarshal(ctx, expiryPlcBytes, U.resolveClassLoader(ldr, ctx.gridConfig()));
+
+ finishUnmarshalCacheObjects(keys, cctx, ldr);
+
+ if (filter != null) {
+ for (CacheEntryPredicate p : filter) {
+ if (p != null)
+ p.finishUnmarshal(cctx, ldr);
+ }
+ }
+
+ if (op == TRANSFORM) {
+ if (entryProcessors == null)
+ entryProcessors = unmarshalCollection(entryProcessorsBytes, ctx, ldr);
+
+ if (invokeArgs == null)
+ invokeArgs = unmarshalInvokeArguments(invokeArgsBytes, ctx, ldr);
+ }
+ else
+ finishUnmarshalCacheObjects(vals, cctx, ldr);
+
+ if (partIds != null && !partIds.isEmpty()) {
+ assert partIds.size() == keys.size();
+
+ for (int i = 0; i < keys.size(); i++)
+ keys.get(i).partition(partIds.get(i));
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override public int partition() {
+ return partIds != null && !partIds.isEmpty() ? partIds.get(0) : -1;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
+ writer.setBuffer(buf);
+
+ if (!super.writeTo(buf, writer))
+ return false;
+
+ if (!writer.isHeaderWritten()) {
+ if (!writer.writeHeader(directType(), fieldsCount()))
+ return false;
+
+ writer.onHeaderWritten();
+ }
+
+ switch (writer.state()) {
+ case 3:
+ if (!writer.writeBoolean("clientReq", clientReq))
+ return false;
+
+ writer.incrementState();
+
+ case 4:
+ if (!writer.writeMessage("conflictExpireTimes", conflictExpireTimes))
+ return false;
+
+ writer.incrementState();
+
+ case 5:
+ if (!writer.writeMessage("conflictTtls", conflictTtls))
+ return false;
+
+ writer.incrementState();
+
+ case 6:
+ if (!writer.writeCollection("conflictVers", conflictVers, MessageCollectionItemType.MSG))
+ return false;
+
+ writer.incrementState();
+
+ case 7:
+ if (!writer.writeCollection("entryProcessorsBytes", entryProcessorsBytes, MessageCollectionItemType.BYTE_ARR))
+ return false;
+
+ writer.incrementState();
+
+ case 8:
+ if (!writer.writeByteArray("expiryPlcBytes", expiryPlcBytes))
+ return false;
+
+ writer.incrementState();
+
+ case 9:
+ if (!writer.writeBoolean("fastMap", fastMap))
+ return false;
+
+ writer.incrementState();
+
+ case 10:
+ if (!writer.writeObjectArray("filter", filter, MessageCollectionItemType.MSG))
+ return false;
+
+ writer.incrementState();
+
+ case 11:
+ if (!writer.writeMessage("futVer", futVer))
+ return false;
+
+ writer.incrementState();
+
+ case 12:
+ if (!writer.writeBoolean("hasPrimary", hasPrimary))
+ return false;
+
+ writer.incrementState();
+
+ case 13:
+ if (!writer.writeObjectArray("invokeArgsBytes", invokeArgsBytes, MessageCollectionItemType.BYTE_ARR))
+ return false;
+
+ writer.incrementState();
+
+ case 14:
+ if (!writer.writeBoolean("keepBinary", keepBinary))
+ return false;
+
+ writer.incrementState();
+
+ case 15:
+ if (!writer.writeCollection("keys", keys, MessageCollectionItemType.MSG))
+ return false;
+
+ writer.incrementState();
+
+ case 16:
+ if (!writer.writeByte("op", op != null ? (byte)op.ordinal() : -1))
+ return false;
+
+ writer.incrementState();
+
+ case 17:
+ if (!writer.writeCollection("partIds", partIds, MessageCollectionItemType.INT))
+ return false;
+
+ writer.incrementState();
+
+ case 18:
- if (!writer.writeBoolean("retval", retval))
++ if (!writer.writeBoolean("recovery", recovery))
+ return false;
+
+ writer.incrementState();
+
+ case 19:
- if (!writer.writeBoolean("skipStore", skipStore))
++ if (!writer.writeBoolean("retval", retval))
+ return false;
+
+ writer.incrementState();
+
+ case 20:
- if (!writer.writeUuid("subjId", subjId))
++ if (!writer.writeBoolean("skipStore", skipStore))
+ return false;
+
+ writer.incrementState();
+
+ case 21:
- if (!writer.writeByte("syncMode", syncMode != null ? (byte)syncMode.ordinal() : -1))
++ if (!writer.writeUuid("subjId", subjId))
+ return false;
+
+ writer.incrementState();
+
+ case 22:
- if (!writer.writeInt("taskNameHash", taskNameHash))
++ if (!writer.writeByte("syncMode", syncMode != null ? (byte)syncMode.ordinal() : -1))
+ return false;
+
+ writer.incrementState();
+
+ case 23:
- if (!writer.writeBoolean("topLocked", topLocked))
++ if (!writer.writeInt("taskNameHash", taskNameHash))
+ return false;
+
+ writer.incrementState();
+
+ case 24:
- if (!writer.writeMessage("topVer", topVer))
++ if (!writer.writeBoolean("topLocked", topLocked))
+ return false;
+
+ writer.incrementState();
+
+ case 25:
- if (!writer.writeMessage("updateVer", updateVer))
++ if (!writer.writeMessage("topVer", topVer))
+ return false;
+
+ writer.incrementState();
+
+ case 26:
- if (!writer.writeCollection("vals", vals, MessageCollectionItemType.MSG))
++ if (!writer.writeMessage("updateVer", updateVer))
+ return false;
+
+ writer.incrementState();
+
++ case 27:
++ if (!writer.writeCollection("vals", vals, MessageCollectionItemType.MSG))
++ return false;
++
++ writer.incrementState();
+ }
+
+ return true;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
+ reader.setBuffer(buf);
+
+ if (!reader.beforeMessageRead())
+ return false;
+
+ if (!super.readFrom(buf, reader))
+ return false;
+
+ switch (reader.state()) {
+ case 3:
+ clientReq = reader.readBoolean("clientReq");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 4:
+ conflictExpireTimes = reader.readMessage("conflictExpireTimes");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 5:
+ conflictTtls = reader.readMessage("conflictTtls");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 6:
+ conflictVers = reader.readCollection("conflictVers", MessageCollectionItemType.MSG);
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 7:
+ entryProcessorsBytes = reader.readCollection("entryProcessorsBytes", MessageCollectionItemType.BYTE_ARR);
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 8:
+ expiryPlcBytes = reader.readByteArray("expiryPlcBytes");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 9:
+ fastMap = reader.readBoolean("fastMap");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 10:
+ filter = reader.readObjectArray("filter", MessageCollectionItemType.MSG, CacheEntryPredicate.class);
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 11:
+ futVer = reader.readMessage("futVer");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 12:
+ hasPrimary = reader.readBoolean("hasPrimary");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 13:
+ invokeArgsBytes = reader.readObjectArray("invokeArgsBytes", MessageCollectionItemType.BYTE_ARR, byte[].class);
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 14:
+ keepBinary = reader.readBoolean("keepBinary");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 15:
+ keys = reader.readCollection("keys", MessageCollectionItemType.MSG);
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 16:
+ byte opOrd;
+
+ opOrd = reader.readByte("op");
+
+ if (!reader.isLastRead())
+ return false;
+
+ op = GridCacheOperation.fromOrdinal(opOrd);
+
+ reader.incrementState();
+
+ case 17:
+ partIds = reader.readCollection("partIds", MessageCollectionItemType.INT);
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 18:
- retval = reader.readBoolean("retval");
++ recovery = reader.readBoolean("recovery");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 19:
- skipStore = reader.readBoolean("skipStore");
++ retval = reader.readBoolean("retval");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 20:
- subjId = reader.readUuid("subjId");
++ skipStore = reader.readBoolean("skipStore");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 21:
++ subjId = reader.readUuid("subjId");
++
++ if (!reader.isLastRead())
++ return false;
++
++ reader.incrementState();
++
++ case 22:
+ byte syncModeOrd;
+
+ syncModeOrd = reader.readByte("syncMode");
+
+ if (!reader.isLastRead())
+ return false;
+
+ syncMode = CacheWriteSynchronizationMode.fromOrdinal(syncModeOrd);
+
+ reader.incrementState();
+
- case 22:
++ case 23:
+ taskNameHash = reader.readInt("taskNameHash");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
- case 23:
++ case 24:
+ topLocked = reader.readBoolean("topLocked");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
- case 24:
++ case 25:
+ topVer = reader.readMessage("topVer");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
- case 25:
++ case 26:
+ updateVer = reader.readMessage("updateVer");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
- case 26:
++ case 27:
+ vals = reader.readCollection("vals", MessageCollectionItemType.MSG);
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
-
+ }
+
+ return reader.afterMessageRead(GridNearAtomicFullUpdateRequest.class);
+ }
+
+ /** {@inheritDoc} */
+ @Override public void cleanup(boolean clearKeys) {
+ vals = null;
+ entryProcessors = null;
+ entryProcessorsBytes = null;
+ invokeArgs = null;
+ invokeArgsBytes = null;
+
+ if (clearKeys)
+ keys = null;
+ }
+
+ /** {@inheritDoc} */
+ @Override public byte directType() {
+ return 40;
+ }
+
+ /** {@inheritDoc} */
+ @Override public byte fieldsCount() {
- return 27;
++ return 28;
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(GridNearAtomicFullUpdateRequest.class, this, "filter", Arrays.toString(filter),
+ "parent", super.toString());
+ }
+ }
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java
index 4860eb4,bd231cf..fd2479c
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java
@@@ -561,28 -563,94 +565,97 @@@ public class GridNearAtomicSingleUpdate
throw new ClusterTopologyServerNotFoundException("Failed to map keys for cache (all partition nodes " +
"left the grid).");
- GridNearAtomicUpdateRequest req = new GridNearAtomicUpdateRequest(
- cctx.cacheId(),
- primary.id(),
- futVer,
- false,
- updVer,
- topVer,
- topLocked,
- syncMode,
- op,
- retval,
- expiryPlc,
- invokeArgs,
- filter,
- subjId,
- taskNameHash,
- skipStore,
- keepBinary,
- recovery,
- cctx.kernalContext().clientNode(),
- cctx.deploymentEnabled(),
- 1);
+ GridNearAtomicAbstractUpdateRequest req;
+
+ if (canUseSingleRequest(primary)) {
+ if (op == TRANSFORM) {
+ req = new GridNearAtomicSingleUpdateInvokeRequest(
+ cctx.cacheId(),
+ primary.id(),
+ futVer,
+ false,
+ updVer,
+ topVer,
+ topLocked,
+ syncMode,
+ op,
+ retval,
+ invokeArgs,
+ subjId,
+ taskNameHash,
+ skipStore,
+ keepBinary,
+ cctx.kernalContext().clientNode(),
+ cctx.deploymentEnabled());
+ }
+ else {
+ if (filter == null || filter.length == 0) {
+ req = new GridNearAtomicSingleUpdateRequest(
+ cctx.cacheId(),
+ primary.id(),
+ futVer,
+ false,
+ updVer,
+ topVer,
+ topLocked,
+ syncMode,
+ op,
+ retval,
+ subjId,
+ taskNameHash,
+ skipStore,
+ keepBinary,
++ recovery,
+ cctx.kernalContext().clientNode(),
+ cctx.deploymentEnabled());
+ }
+ else {
+ req = new GridNearAtomicSingleUpdateFilterRequest(
+ cctx.cacheId(),
+ primary.id(),
+ futVer,
+ false,
+ updVer,
+ topVer,
+ topLocked,
+ syncMode,
+ op,
+ retval,
+ filter,
+ subjId,
+ taskNameHash,
+ skipStore,
+ keepBinary,
++ recovery,
+ cctx.kernalContext().clientNode(),
+ cctx.deploymentEnabled());
+ }
+ }
+ }
+ else {
+ req = new GridNearAtomicFullUpdateRequest(
+ cctx.cacheId(),
+ primary.id(),
+ futVer,
+ false,
+ updVer,
+ topVer,
+ topLocked,
+ syncMode,
+ op,
+ retval,
+ expiryPlc,
+ invokeArgs,
+ filter,
+ subjId,
+ taskNameHash,
+ skipStore,
+ keepBinary,
++ recovery,
+ cctx.kernalContext().clientNode(),
+ cctx.deploymentEnabled(),
+ 1);
+ }
req.addUpdateEntry(cacheKey,
val,
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandMessage.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionFullMap.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionMap2.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsAbstractMessage.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsAbstractMessage.java
index 345e0d1,6e69161..f1e2c01
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsAbstractMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsAbstractMessage.java
@@@ -19,11 -19,10 +19,12 @@@ package org.apache.ignite.internal.proc
import java.io.Externalizable;
import java.nio.ByteBuffer;
+import java.util.Map;
import org.apache.ignite.internal.processors.cache.GridCacheMessage;
import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
+import org.apache.ignite.internal.util.typedef.T2;
import org.apache.ignite.internal.util.typedef.internal.S;
+ import org.apache.ignite.lang.IgniteProductVersion;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
import org.apache.ignite.plugin.extensions.communication.MessageWriter;
import org.jetbrains.annotations.Nullable;
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
index 6282d03,4f34401..d2b893f
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
@@@ -1101,8 -984,10 +1068,8 @@@ public class GridDhtPartitionsExchangeF
* @throws IgniteCheckedException If failed.
*/
private void sendAllPartitions(Collection<ClusterNode> nodes) throws IgniteCheckedException {
- GridDhtPartitionsFullMessage m = createPartitionsMessage();
+ GridDhtPartitionsFullMessage m = createPartitionsMessage(nodes, true);
- assert !nodes.contains(cctx.localNode());
-
if (log.isDebugEnabled())
log.debug("Sending full partition map [nodeIds=" + F.viewReadOnly(nodes, F.node2id()) +
", exchId=" + exchId + ", msg=" + m + ']');
@@@ -1553,32 -1265,15 +1557,37 @@@
if (!crd.equals(cctx.discovery().serverNodes(topologyVersion()).get(0))) {
for (GridCacheContext cacheCtx : cctx.cacheContexts()) {
if (!cacheCtx.isLocal())
- cacheCtx.topology().beforeExchange(GridDhtPartitionsExchangeFuture.this, !centralizedAff);
+ cacheCtx.topology().beforeExchange(this, !centralizedAff);
+ }
+ }
+
+ if (discoEvt.type() == EVT_NODE_JOINED) {
+ if (cctx.cache().globalState() != CacheState.INACTIVE)
+ assignPartitionsStates();
+ }
+ else if (discoEvt.type() == EVT_DISCOVERY_CUSTOM_EVT) {
+ assert discoEvt instanceof DiscoveryCustomEvent;
+
+ if (((DiscoveryCustomEvent)discoEvt).customMessage() instanceof DynamicCacheChangeBatch) {
+ DynamicCacheChangeBatch batch = (DynamicCacheChangeBatch)((DiscoveryCustomEvent)discoEvt)
+ .customMessage();
+
+ for (DynamicCacheChangeRequest req : batch.requests()) {
+ if (req.resetLostPartitions())
+ resetLostPartitions();
+ else if (req.globalStateChange() && req.state() != CacheState.INACTIVE)
+ assignPartitionsStates();
+ }
}
}
+ else if (discoEvt.type() == EVT_NODE_LEFT || discoEvt.type() == EVT_NODE_FAILED)
+ detectLostPartitions();
+ for (GridCacheContext cacheCtx : cctx.cacheContexts()) {
+ if (!cacheCtx.isLocal())
+ cacheCtx.topology().checkEvictions();
+ }
+
updateLastVersion(cctx.versions().last());
cctx.versions().onExchange(lastVer.get().order());
@@@ -1944,7 -1613,9 +1953,9 @@@
if (crd0.isLocal()) {
if (allReceived) {
+ awaitSingleMapUpdates();
+
- onAllReceived(true);
+ onAllReceived();
return;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsFullMessage.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsFullMessage.java
index 3d91468,90d6242..5a30f95
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsFullMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsFullMessage.java
@@@ -26,11 -29,12 +29,13 @@@ import org.apache.ignite.internal.GridD
import org.apache.ignite.internal.GridDirectTransient;
import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
+ import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionState;
import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
import org.apache.ignite.internal.util.tostring.GridToStringInclude;
+import org.apache.ignite.internal.util.typedef.T2;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
+ import org.apache.ignite.plugin.extensions.communication.MessageCollectionItemType;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
import org.apache.ignite.plugin.extensions.communication.MessageWriter;
import org.jetbrains.annotations.NotNull;
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsSingleMessage.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsSingleMessage.java
index 5e4b1c4,bf08f0a..0975a07
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsSingleMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsSingleMessage.java
@@@ -23,13 -23,16 +23,17 @@@ import java.util.Collections
import java.util.HashMap;
import java.util.Map;
import org.apache.ignite.IgniteCheckedException;
+ import org.apache.ignite.internal.GridDirectMap;
import org.apache.ignite.internal.GridDirectTransient;
import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
+ import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionState;
import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
import org.apache.ignite.internal.util.tostring.GridToStringInclude;
+import org.apache.ignite.internal.util.typedef.T2;
+ import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
+ import org.apache.ignite.plugin.extensions.communication.MessageCollectionItemType;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
import org.apache.ignite.plugin.extensions.communication.MessageWriter;
import org.jetbrains.annotations.Nullable;
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsSingleRequest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
index deb1731,41bc2fc..cf02071
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
@@@ -35,10 -34,9 +34,10 @@@ import org.apache.ignite.internal.Ignit
import org.apache.ignite.internal.NodeStoppingException;
import org.apache.ignite.internal.cluster.ClusterTopologyCheckedException;
import org.apache.ignite.internal.managers.eventstorage.GridLocalEventListener;
+ import org.apache.ignite.internal.processors.affinity.AffinityAssignment;
import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
- import org.apache.ignite.internal.processors.affinity.GridAffinityAssignment;
import org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager;
+import org.apache.ignite.internal.processors.cache.CacheState;
import org.apache.ignite.internal.processors.cache.GridCacheContext;
import org.apache.ignite.internal.processors.cache.GridCacheEntryEx;
import org.apache.ignite.internal.processors.cache.GridCacheEntryInfo;
@@@ -412,9 -412,12 +413,13 @@@ public class GridDhtPreloader extends G
}
/** {@inheritDoc} */
- @Override public Callable<Boolean> addAssignments(GridDhtPreloaderAssignments assignments,
- boolean forcePreload, Collection<String> caches, int cnt, @Nullable GridFutureAdapter<Boolean> forcedRebFut) {
- return demander.addAssignments(assignments, forcePreload, caches, cnt, forcedRebFut);
+ @Override public Runnable addAssignments(GridDhtPreloaderAssignments assignments,
+ boolean forceRebalance,
++ Collection<String> caches,
+ int cnt,
+ Runnable next,
+ @Nullable GridFutureAdapter<Boolean> forcedRebFut) {
+ return demander.addAssignments(assignments, forceRebalance, cnt, next, forcedRebFut);
}
/**
@@@ -763,12 -790,23 +787,27 @@@
try {
GridDhtLocalPartition part = partsToEvict.poll();
- if (part != null)
+ if (part != null) {
- part.tryEvict();
+ try {
+ part.tryEvict();
+ }
+ catch (Throwable ex) {
+ if (cctx.kernalContext().isStopping()) {
+ LT.warn(log, ex, "Partition eviction failed (current node is stopping).",
+ false,
+ true);
+
+ partsToEvict.clear();
+
+ return true;
+ }
+ else
+ LT.error(log, ex, "Partition eviction failed, this can cause grid hang.");
+ }
+
+ if (part.state() != EVICTED)
+ partsToEvict.push(part);
+ }
}
finally {
if (!partsToEvict.isEmptyx())
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheAdapter.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetRequest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/atomic/GridLocalAtomicCache.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
index b4eeb11,d4decb4..e62bf60
--- 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
@@@ -26,8 -26,10 +26,9 @@@ import java.util.ArrayDeque
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
+ import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
@@@ -52,9 -55,9 +54,10 @@@ import org.apache.ignite.events.Event
import org.apache.ignite.internal.GridKernalContext;
import org.apache.ignite.internal.IgniteInternalFuture;
import org.apache.ignite.internal.IgniteKernal;
+import org.apache.ignite.internal.NodeStoppingException;
import org.apache.ignite.internal.managers.eventstorage.GridLocalEventListener;
import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
+ import org.apache.ignite.internal.processors.cache.CacheEntryImpl;
import org.apache.ignite.internal.processors.cache.CacheMetricsImpl;
import org.apache.ignite.internal.processors.cache.CacheObject;
import org.apache.ignite.internal.processors.cache.GridCacheAdapter;
@@@ -80,8 -83,10 +83,9 @@@ import org.apache.ignite.internal.proce
import org.apache.ignite.internal.processors.query.GridQueryProcessor;
import org.apache.ignite.internal.processors.query.GridQueryTypeDescriptor;
import org.apache.ignite.internal.processors.task.GridInternal;
+ import org.apache.ignite.internal.util.GridBoundedPriorityQueue;
import org.apache.ignite.internal.util.GridCloseableIteratorAdapter;
import org.apache.ignite.internal.util.GridEmptyCloseableIterator;
-import org.apache.ignite.internal.util.GridEmptyIterator;
import org.apache.ignite.internal.util.GridLeanMap;
import org.apache.ignite.internal.util.GridSpiCloseableIteratorWrapper;
import org.apache.ignite.internal.util.GridSpinBusyLock;
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryResponse.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheSqlQuery.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheSqlQuery.java
index 31ad653,bb769c9..56cf271
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheSqlQuery.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheSqlQuery.java
@@@ -155,17 -157,17 +156,17 @@@ public class GridCacheSqlQuery implemen
assert paramsBytes != null;
try {
- final ClassLoader ldr = U.resolveClassLoader(ctx.config());
+ final ClassLoader ldr = U.resolveClassLoader(ctx.config());
- if (m instanceof BinaryMarshaller)
- // To avoid deserializing of enum types.
- params = ((BinaryMarshaller)m).binaryMarshaller().unmarshal(paramsBytes, ldr);
- else
- params = m.unmarshal(paramsBytes, ldr);
- }
+ if (m instanceof BinaryMarshaller)
+ // To avoid deserializing of enum types.
+ params = ((BinaryMarshaller)m).binaryMarshaller().unmarshal(paramsBytes, ldr);
+ else
+ params = U.unmarshal(m, paramsBytes, ldr);
+ }
catch (IgniteCheckedException e) {
- throw new IgniteException(e);
- }
+ throw new IgniteException(e);
+ }
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryHandler.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryManager.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryManager.java
index 064b725,e2fbf52..d2828e0
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryManager.java
@@@ -56,8 -56,7 +56,8 @@@ import org.apache.ignite.internal.proce
import org.apache.ignite.internal.processors.cache.GridCacheEntryEx;
import org.apache.ignite.internal.processors.cache.GridCacheManagerAdapter;
import org.apache.ignite.internal.processors.cache.KeyCacheObject;
+import org.apache.ignite.internal.processors.cache.database.CacheDataRow;
- import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicUpdateFuture;
+ import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicAbstractUpdateFuture;
import org.apache.ignite.internal.processors.continuous.GridContinuousHandler;
import org.apache.ignite.internal.processors.continuous.GridContinuousProcessor;
import org.apache.ignite.internal.util.tostring.GridToStringInclude;
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/store/GridCacheStoreManagerAdapter.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxEntry.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java
index 762bf13,2706d4d..662a905
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java
@@@ -1410,20 -1495,19 +1504,20 @@@ public class IgniteTxHandler
/*expiryPlc*/null,
/*keepBinary*/true);
- if (val == null)
- val = cacheCtx.toCacheObject(cacheCtx.store().load(null, entry.key()));
+ if (val == null)
+ val = cacheCtx.toCacheObject(cacheCtx.store().load(null, entry.key()));
- if (val != null)
- entry.readValue(val);
+ if (val != null)
+ entry.readValue(val);
- break;
- }
- catch (GridCacheEntryRemovedException e) {
- if (log.isDebugEnabled())
- log.debug("Got entry removed exception, will retry: " + entry.txKey());
+ break;
+ }
+ catch (GridCacheEntryRemovedException ignore) {
+ if (log.isDebugEnabled())
+ log.debug("Got entry removed exception, will retry: " + entry.txKey());
- entry.cached(null);
- entry.cached(cacheCtx.cache().entryEx(entry.key(), req.topologyVersion()));
++ entry.cached(cacheCtx.cache().entryEx(entry.key(), req.topologyVersion()));
+ }
}
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
index 86994b5,ba44655..95fa006
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
@@@ -2458,11 -2418,11 +2449,14 @@@ public abstract class IgniteTxLocalAdap
}
}
else
- old = retval ? entry.rawGetOrUnmarshal(false) : entry.rawGet();
+ old = entry.rawGet();
+
+ final GridCacheOperation op = lockOnly ? NOOP : rmv ? DELETE :
+ entryProcessor != null ? TRANSFORM : old != null ? UPDATE : CREATE;
+ final GridCacheOperation op = lockOnly ? NOOP : rmv ? DELETE :
+ entryProcessor != null ? TRANSFORM : old != null ? UPDATE : CREATE;
+
if (old != null && hasFilters && !filter(entry.context(), cacheKey, old, filter)) {
ret.set(cacheCtx, old, false, keepBinary);
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessorImpl.java
----------------------------------------------------------------------
[16/50] [abbrv] ignite git commit: Merge with master - WIP.
Posted by ag...@apache.org.
Merge with master - WIP.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/d068fb75
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/d068fb75
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/d068fb75
Branch: refs/heads/ignite-3477
Commit: d068fb757e21121cb14ced3e688337e3c5be1621
Parents: 8483e8f
Author: Ilya Lantukh <il...@gridgain.com>
Authored: Thu Dec 22 14:52:42 2016 +0300
Committer: Ilya Lantukh <il...@gridgain.com>
Committed: Thu Dec 22 14:52:42 2016 +0300
----------------------------------------------------------------------
.../apache/ignite/IgniteSystemProperties.java | 16 -
.../communication/GridIoMessageFactory.java | 12 +-
.../pagemem/backup/BackupFinishedMessage.java | 2 +-
.../GridCachePartitionExchangeManager.java | 17 +-
.../processors/cache/GridCacheProcessor.java | 15 +-
.../cache/GridCacheSharedTtlCleanupManager.java | 5 +-
.../dht/GridClientPartitionTopology.java | 17 +-
.../dht/GridDhtPartitionTopology.java | 2 +-
.../dht/GridDhtPartitionTopologyImpl.java | 6 +-
.../distributed/dht/GridDhtTxPrepareFuture.java | 2 -
...idNearAtomicAbstractSingleUpdateRequest.java | 12 +
.../GridNearAtomicAbstractUpdateRequest.java | 2 +
...GridNearAtomicSingleUpdateFilterRequest.java | 2 +
.../GridNearAtomicSingleUpdateRequest.java | 2 +
.../dht/preloader/GridDhtPartitionMap2.java | 4 +
.../GridDhtPartitionsExchangeFuture.java | 4 +-
.../transactions/IgniteTxLocalAdapter.java | 3 -
.../utils/PlatformConfigurationUtils.java | 39 -
.../ignite/internal/util/nio/GridNioServer.java | 17 -
.../spi/swapspace/file/FileSwapSpaceSpi.java | 1947 ------------------
20 files changed, 63 insertions(+), 2063 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/d068fb75/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
index cb19875..d72d041 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
@@ -521,22 +521,6 @@ public final class IgniteSystemProperties {
public static final String IGNITE_MEMORY_PER_BYTE_COPY_THRESHOLD = "IGNITE_MEMORY_PER_BYTE_COPY_THRESHOLD";
/**
- * When set to {@code true} fields are written by BinaryMarshaller in sorted order. Otherwise
- * the natural order is used.
- * <p>
- * @deprecated Should be removed in Apache Ignite 2.0.
- */
- @Deprecated
- public static final String IGNITE_BINARY_SORT_OBJECT_FIELDS = "IGNITE_BINARY_SORT_OBJECT_FIELDS";
-
- /**
- * Whether Ignite can access unaligned memory addresses.
- * <p>
- * Defaults to {@code} false, meaning that unaligned access will be performed only on x86 architecture.
- */
- public static final String IGNITE_MEMORY_UNALIGNED_ACCESS = "IGNITE_MEMORY_UNALIGNED_ACCESS";
-
- /**
* Enforces singleton.
*/
private IgniteSystemProperties() {
http://git-wip-us.apache.org/repos/asf/ignite/blob/d068fb75/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
index 63d84c4..4599fd7 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
@@ -172,6 +172,11 @@ public class GridIoMessageFactory implements MessageFactory {
Message msg = null;
switch (type) {
+ case -45:
+ msg = new BackupFinishedMessage();
+
+ break;
+
case -44:
msg = new TcpCommunicationSpi.HandshakeMessage2();
@@ -222,11 +227,6 @@ public class GridIoMessageFactory implements MessageFactory {
break;
- case -27:
- msg = new BackupFinishedMessage();
-
- break;
-
case -26:
msg = new TxLockList();
@@ -832,13 +832,11 @@ public class GridIoMessageFactory implements MessageFactory {
break;
- // [-3..119] [124..127] [-36..-44]- this
case 125:
msg = new TcpCommunicationSpi.HandshakeMessage2();
break;
- // [-3..119] [124-125] - this
case 126:
msg = new IgniteIoTestMessage();
http://git-wip-us.apache.org/repos/asf/ignite/blob/d068fb75/modules/core/src/main/java/org/apache/ignite/internal/pagemem/backup/BackupFinishedMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/backup/BackupFinishedMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/backup/BackupFinishedMessage.java
index 2eb57a9..708a73d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/backup/BackupFinishedMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/backup/BackupFinishedMessage.java
@@ -118,7 +118,7 @@ public class BackupFinishedMessage implements Message {
/** {@inheritDoc} */
@Override public byte directType() {
- return -27;
+ return -45;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/d068fb75/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
index 40035c0..27bc542 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
@@ -30,9 +30,11 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.NavigableMap;
+import java.util.Queue;
import java.util.TreeMap;
import java.util.UUID;
import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.Callable;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.ConcurrentSkipListMap;
import java.util.concurrent.LinkedBlockingDeque;
@@ -96,6 +98,7 @@ import org.apache.ignite.lang.IgniteUuid;
import org.apache.ignite.thread.IgniteThread;
import org.jetbrains.annotations.Nullable;
import org.jsr166.ConcurrentHashMap8;
+import org.jsr166.ConcurrentLinkedDeque8;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
import static org.apache.ignite.IgniteSystemProperties.IGNITE_PRELOAD_RESEND_TIMEOUT;
@@ -804,13 +807,13 @@ public class GridCachePartitionExchangeManager<K, V> extends GridCacheSharedMana
if (!cacheCtx.isLocal() && cacheCtx.started()) {
GridDhtPartitionFullMap locMap = cacheCtx.topology().partitionMap(true);
- m.addFullPartitionsMap(cacheCtx.cacheId(), locMap);
+ m.addFullPartitionsMap(cacheCtx.cacheId(), locMap, null);
}
}
// It is important that client topologies be added after contexts.
for (GridClientPartitionTopology top : cctx.exchange().clientTopologies())
- m.addFullPartitionsMap(top.cacheId(), top.partitionMap(true));
+ m.addFullPartitionsMap(top.cacheId(), top.partitionMap(true), null);
if (log.isDebugEnabled())
log.debug("Sending all partitions [nodeIds=" + U.nodeIds(nodes) + ", msg=" + m + ']');
@@ -887,7 +890,8 @@ public class GridCachePartitionExchangeManager<K, V> extends GridCacheSharedMana
locMap = new GridDhtPartitionFullMap(locMap.nodeId(),
locMap.nodeOrder(),
locMap.updateSequence(),
- locMap);
+ locMap,
+ true);
}
addFullPartitionsMap(m,
@@ -973,14 +977,14 @@ public class GridCachePartitionExchangeManager<K, V> extends GridCacheSharedMana
if (!cacheCtx.isLocal()) {
GridDhtPartitionMap2 locMap = cacheCtx.topology().localPartitionMap();
- m.addLocalPartitionMap(cacheCtx.cacheId(), locMap);
+ m.addLocalPartitionMap(cacheCtx.cacheId(), locMap, null);
}
}
for (GridClientPartitionTopology top : clientTops.values()) {
GridDhtPartitionMap2 locMap = top.localPartitionMap();
- m.addLocalPartitionMap(top.cacheId(), locMap);
+ m.addLocalPartitionMap(top.cacheId(), locMap, null);
}
if (log.isDebugEnabled())
@@ -1025,9 +1029,6 @@ public class GridCachePartitionExchangeManager<K, V> extends GridCacheSharedMana
if (!cacheCtx.isLocal()) {
GridDhtPartitionMap2 locMap = cacheCtx.topology().localPartitionMap();
- if (targetNode.version().compareTo(GridDhtPartitionMap2.SINCE) < 0)
- locMap = new GridDhtPartitionMap(locMap.nodeId(), locMap.updateSequence(), locMap.map());
-
addPartitionMap(m,
dupData,
compress,
http://git-wip-us.apache.org/repos/asf/ignite/blob/d068fb75/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 881d257..0119afa 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
@@ -2475,7 +2475,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
List<DynamicCacheChangeRequest> reqs = new ArrayList<>(cacheNames.size());
for (String cacheName : cacheNames) {
- DynamicCacheChangeRequest t = new DynamicCacheChangeRequest(cacheName, ctx.localNodeId());
+ DynamicCacheChangeRequest t = new DynamicCacheChangeRequest(UUID.randomUUID(), cacheName, ctx.localNodeId());
t.stop(true);
@@ -3700,7 +3700,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
) throws IgniteCheckedException {
DynamicCacheDescriptor desc = registeredCaches.get(maskNull(cacheName));
- DynamicCacheChangeRequest req = new DynamicCacheChangeRequest(cacheName, ctx.localNodeId());
+ DynamicCacheChangeRequest req = new DynamicCacheChangeRequest(UUID.randomUUID(), cacheName, ctx.localNodeId());
req.failIfExists(failIfExists);
@@ -3744,7 +3744,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
CacheObjectContext cacheObjCtx = ctx.cacheObjects().contextForCache(cfg);
- initialize(false, cfg, cacheObjCtx);
+ initialize(cfg, cacheObjCtx);
req.startCacheConfiguration(cfg);
}
@@ -3768,15 +3768,6 @@ public class GridCacheProcessor extends GridProcessorAdapter {
req.startCacheConfiguration(ccfg);
}
- // Fail cache with swap enabled creation on grid without swap space SPI.
- if (ccfg.isSwapEnabled())
- for (ClusterNode n : ctx.discovery().allNodes())
- if (!GridCacheUtils.clientNode(n) && !GridCacheUtils.isSwapEnabled(n)) {
- throw new IgniteCheckedException("Failed to start cache " +
- cacheName + " with swap enabled: Remote Node with ID " + n.id().toString().toUpperCase() +
- " has not swap SPI configured");
- }
-
if (nearCfg != null)
req.nearCacheConfiguration(nearCfg);
http://git-wip-us.apache.org/repos/asf/ignite/blob/d068fb75/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedTtlCleanupManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedTtlCleanupManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedTtlCleanupManager.java
index d7d2cad..eda21d3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedTtlCleanupManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedTtlCleanupManager.java
@@ -117,8 +117,9 @@ public class GridCacheSharedTtlCleanupManager extends GridCacheSharedManagerAdap
boolean expiredRemains = false;
for (GridCacheTtlManager mgr : mgrs) {
- if (mgr.expire(CLEANUP_WORKER_ENTRIES_PROCESS_LIMIT))
- expiredRemains = true;
+ // TODO
+// if (mgr.expire(CLEANUP_WORKER_ENTRIES_PROCESS_LIMIT))
+// expiredRemains = true;
if (isCancelled())
return;
http://git-wip-us.apache.org/repos/asf/ignite/blob/d068fb75/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java
index 88cd16b..d2f81d7 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java
@@ -925,12 +925,23 @@ public class GridClientPartitionTopology implements GridDhtPartitionTopology {
}
/** {@inheritDoc} */
- @Override public Map<Integer, T2<Long, Long>> updateCounters() {
+ @Override public Map<Integer, T2<Long, Long>> updateCounters(boolean skipZeros) {
lock.readLock().lock();
try {
- return new HashMap<>(cntrMap);
- }
+ if (skipZeros) {
+ Map<Integer, T2<Long, Long>> res = U.newHashMap(cntrMap.size());
+
+ for (Map.Entry<Integer, T2<Long, Long>> e : cntrMap.entrySet()) {
+ if (!e.getValue().get1().equals(ZERO) || !e.getValue().get2().equals(ZERO))
+ res.put(e.getKey(), e.getValue());
+ }
+
+ return res;
+ }
+ else
+ return new HashMap<>(cntrMap);
+}
finally {
lock.readLock().unlock();
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/d068fb75/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopology.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopology.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopology.java
index 79358e8..5918da8 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopology.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopology.java
@@ -264,7 +264,7 @@ public interface GridDhtPartitionTopology {
* @param skipZeros If {@code true} then filters out zero counters.
* @return Partition update counters.
*/
- public Map<Integer, Long> updateCounters(boolean skipZeros);
+ public Map<Integer, T2<Long, Long>> updateCounters(boolean skipZeros);
/**
* @param part Partition to own.
http://git-wip-us.apache.org/repos/asf/ignite/blob/d068fb75/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
index 5bda0bf..47a8103 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
@@ -450,7 +450,7 @@ import static org.apache.ignite.internal.processors.cache.distributed.dht.GridDh
locPart.own();
- updateLocal(p, loc.id(), locPart.state(), updateSeq);
+ updateLocal(p, locPart.state(), updateSeq);
}
}
}
@@ -1469,7 +1469,7 @@ import static org.apache.ignite.internal.processors.cache.distributed.dht.GridDh
boolean marked = plc == PartitionLossPolicy.IGNORE ? locPart.own() : locPart.markLost();
if (marked)
- updateLocal(locPart.id(), cctx.localNodeId(), locPart.state(), updSeq);
+ updateLocal(locPart.id(), locPart.state(), updSeq);
changed |= marked;
}
@@ -1534,7 +1534,7 @@ import static org.apache.ignite.internal.processors.cache.distributed.dht.GridDh
boolean marked = locPart.own();
if (marked)
- updateLocal(locPart.id(), cctx.localNodeId(), locPart.state(), updSeq);
+ updateLocal(locPart.id(), locPart.state(), updSeq);
}
for (UUID nodeId : nodeIds) {
http://git-wip-us.apache.org/repos/asf/ignite/blob/d068fb75/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
index b04dc30..fa847b2 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
@@ -488,11 +488,9 @@ public final class GridDhtTxPrepareFuture extends GridCompoundFuture<IgniteInter
oldVal = cached.innerGet(
null,
tx,
- /*swap*/true,
/*readThrough*/false,
/*metrics*/false,
/*event*/false,
- /*tmp*/false,
/*subjectId*/tx.subjectId(),
/*transformClo*/null,
/*taskName*/null,
http://git-wip-us.apache.org/repos/asf/ignite/blob/d068fb75/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractSingleUpdateRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractSingleUpdateRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractSingleUpdateRequest.java
index 61deeee..c3cceae 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractSingleUpdateRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractSingleUpdateRequest.java
@@ -65,6 +65,8 @@ public abstract class GridNearAtomicAbstractSingleUpdateRequest extends GridNear
/** Return value flag. */
private static final int RET_VAL_FLAG_MASK = 0x40;
+ private static final int RECOVERY_FLAG_MASK = 0x80;
+
/** Target node ID. */
@GridDirectTransient
protected UUID nodeId;
@@ -139,6 +141,7 @@ public abstract class GridNearAtomicAbstractSingleUpdateRequest extends GridNear
int taskNameHash,
boolean skipStore,
boolean keepBinary,
+ boolean recovery,
boolean clientReq,
boolean addDepInfo
) {
@@ -161,6 +164,7 @@ public abstract class GridNearAtomicAbstractSingleUpdateRequest extends GridNear
skipStore(skipStore);
keepBinary(keepBinary);
clientRequest(clientReq);
+ recovery(recovery);
}
/** {@inheritDoc} */
@@ -374,6 +378,14 @@ public abstract class GridNearAtomicAbstractSingleUpdateRequest extends GridNear
setFlag(val, HAS_PRIMARY_FLAG_MASK);
}
+ @Override public boolean recovery() {
+ return isFlag(RECOVERY_FLAG_MASK);
+ }
+
+ public void recovery(boolean val) {
+ setFlag(val, RECOVERY_FLAG_MASK);
+ }
+
/** {@inheritDoc} */
@Nullable @Override public CacheEntryPredicate[] filter() {
return NO_FILTER;
http://git-wip-us.apache.org/repos/asf/ignite/blob/d068fb75/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateRequest.java
index bee2ecd..ca3cc5f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateRequest.java
@@ -128,6 +128,8 @@ public abstract class GridNearAtomicAbstractUpdateRequest extends GridCacheMessa
*/
public abstract boolean hasPrimary();
+ public abstract boolean recovery();
+
/**
* @param res Response.
* @return {@code True} if current response was {@code null}.
http://git-wip-us.apache.org/repos/asf/ignite/blob/d068fb75/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFilterRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFilterRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFilterRequest.java
index e0c24b2..39b6ab2 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFilterRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFilterRequest.java
@@ -90,6 +90,7 @@ public class GridNearAtomicSingleUpdateFilterRequest extends GridNearAtomicSingl
int taskNameHash,
boolean skipStore,
boolean keepBinary,
+ boolean recovery,
boolean clientReq,
boolean addDepInfo
) {
@@ -108,6 +109,7 @@ public class GridNearAtomicSingleUpdateFilterRequest extends GridNearAtomicSingl
taskNameHash,
skipStore,
keepBinary,
+ recovery,
clientReq,
addDepInfo
);
http://git-wip-us.apache.org/repos/asf/ignite/blob/d068fb75/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java
index c3e9fbe..18b6118 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java
@@ -102,6 +102,7 @@ public class GridNearAtomicSingleUpdateRequest extends GridNearAtomicAbstractSin
int taskNameHash,
boolean skipStore,
boolean keepBinary,
+ boolean recovery,
boolean clientReq,
boolean addDepInfo
) {
@@ -120,6 +121,7 @@ public class GridNearAtomicSingleUpdateRequest extends GridNearAtomicAbstractSin
taskNameHash,
skipStore,
keepBinary,
+ recovery,
clientReq,
addDepInfo
);
http://git-wip-us.apache.org/repos/asf/ignite/blob/d068fb75/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionMap2.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionMap2.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionMap2.java
index 2b369ca..9837f69 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionMap2.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionMap2.java
@@ -30,6 +30,7 @@ import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionState;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.lang.IgniteProductVersion;
import static org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionState.MOVING;
@@ -40,6 +41,9 @@ public class GridDhtPartitionMap2 implements Comparable<GridDhtPartitionMap2>, E
/** */
private static final long serialVersionUID = 0L;
+ /** Used since. */
+ public static final IgniteProductVersion SINCE = IgniteProductVersion.fromString("1.5.0");
+
/** Node ID. */
protected UUID nodeId;
http://git-wip-us.apache.org/repos/asf/ignite/blob/d068fb75/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
index d2b893f..89ce0cf 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
@@ -1383,7 +1383,7 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT
if (updateSingleMap) {
try {
- updatePartitionSingleMap(msg);
+ updatePartitionSingleMap(node, msg);
}
finally {
synchronized (mux) {
@@ -1400,7 +1400,7 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT
if (allReceived) {
awaitSingleMapUpdates();
- onAllReceived(false);
+ onAllReceived();
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/d068fb75/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
index 95fa006..25ef401 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
@@ -2454,9 +2454,6 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter implements Ig
final GridCacheOperation op = lockOnly ? NOOP : rmv ? DELETE :
entryProcessor != null ? TRANSFORM : old != null ? UPDATE : CREATE;
- final GridCacheOperation op = lockOnly ? NOOP : rmv ? DELETE :
- entryProcessor != null ? TRANSFORM : old != null ? UPDATE : CREATE;
-
if (old != null && hasFilters && !filter(entry.context(), cacheKey, old, filter)) {
ret.set(cacheCtx, old, false, keepBinary);
http://git-wip-us.apache.org/repos/asf/ignite/blob/d068fb75/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java
index d668009..04676c2 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java
@@ -64,7 +64,6 @@ import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
import org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder;
import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
-import org.apache.ignite.spi.swapspace.file.FileSwapSpaceSpi;
import org.apache.ignite.transactions.TransactionConcurrency;
import org.apache.ignite.transactions.TransactionIsolation;
@@ -590,27 +589,6 @@ public class PlatformConfigurationUtils {
cfg.setTransactionConfiguration(tx);
}
-
- byte swapType = in.readByte();
-
- switch (swapType) {
- case SWAP_TYP_FILE: {
- FileSwapSpaceSpi swap = new FileSwapSpaceSpi();
-
- swap.setBaseDirectory(in.readString());
- swap.setMaximumSparsity(in.readFloat());
- swap.setMaxWriteQueueSize(in.readInt());
- swap.setReadStripesNumber(in.readInt());
- swap.setWriteBufferSize(in.readInt());
-
- cfg.setSwapSpaceSpi(swap);
-
- break;
- }
-
- default:
- assert swapType == SWAP_TYP_NONE;
- }
}
/**
@@ -999,23 +977,6 @@ public class PlatformConfigurationUtils {
else
w.writeBoolean(false);
- SwapSpaceSpi swap = cfg.getSwapSpaceSpi();
-
- if (swap instanceof FileSwapSpaceSpiMBean) {
- w.writeByte(SWAP_TYP_FILE);
-
- FileSwapSpaceSpiMBean fileSwap = (FileSwapSpaceSpiMBean)swap;
-
- w.writeString(fileSwap.getBaseDirectory());
- w.writeFloat(fileSwap.getMaximumSparsity());
- w.writeInt(fileSwap.getMaxWriteQueueSize());
- w.writeInt(fileSwap.getReadStripesNumber());
- w.writeInt(fileSwap.getWriteBufferSize());
- }
- else {
- w.writeByte(SWAP_TYP_NONE);
- }
-
w.writeString(cfg.getIgniteHome());
w.writeLong(ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getInit());
http://git-wip-us.apache.org/repos/asf/ignite/blob/d068fb75/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
index 82225bc..bc1f173 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
@@ -667,13 +667,6 @@ public class GridNioServer<T> {
}
/**
- * @return Sessions.
- */
- public Collection<? extends GridNioSession> sessions() {
- return sessions;
- }
-
- /**
* @param ses Session.
* @param op Operation.
* @return Future for operation.
@@ -3247,16 +3240,6 @@ public class GridNioServer<T> {
}
/**
- * @param srvName Logical server name for threads identification.
- * @return This for chaining.
- */
- public Builder<T> serverName(@Nullable String srvName) {
- this.srvName = srvName;
-
- return this;
- }
-
- /**
* @param selectorSpins Defines how many non-blocking {@code selector.selectNow()} should be made before
* falling into {@code selector.select(long)} in NIO server. Long value. Default is {@code 0}.
* Can be set to {@code Long.MAX_VALUE} so selector threads will never block.
[08/50] [abbrv] ignite git commit: Merge branches 'ignite-gg-11729'
and 'ignite-gg-8.0.2.ea1' of https://github.com/gridgain/apache-ignite into
ignite-gg-11729
Posted by ag...@apache.org.
Merge branches 'ignite-gg-11729' and 'ignite-gg-8.0.2.ea1' of https://github.com/gridgain/apache-ignite into ignite-gg-11729
# Conflicts:
# modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
Merge branches 'ignite-gg-11729' and 'ignite-gg-8.0.2.ea1' of https://github.com/ggprivate/ggprivate into ignite-gg-11729
# Conflicts:
# modules/pds/src/main/java/org/gridgain/grid/internal/processors/cache/database/GridCacheDatabaseSharedManager.java
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/dffee01c
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/dffee01c
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/dffee01c
Branch: refs/heads/ignite-3477
Commit: dffee01c54081d5a74ef50ec73bee1add0e8429e
Parents: d4f3071 cbb9b9e
Author: Ilya Lantukh <il...@gridgain.com>
Authored: Tue Dec 20 23:32:15 2016 +0300
Committer: Ilya Lantukh <il...@gridgain.com>
Committed: Tue Dec 20 23:32:15 2016 +0300
----------------------------------------------------------------------
.gitignore | 34 +-
bin/control.bat | 229 +++++
bin/control.sh | 180 ++++
.../rest/ChangeStateCommandHandlerTest.java | 125 +++
.../ignite/codegen/MessageCodeGenerator.java | 2 +
.../src/main/java/org/apache/ignite/Ignite.java | 8 +-
.../apache/ignite/IgniteCheckedException.java | 12 +
.../apache/ignite/IgniteSystemProperties.java | 6 +
.../apache/ignite/internal/GridComponent.java | 7 +-
.../ignite/internal/GridKernalContext.java | 8 +
.../ignite/internal/GridKernalContextImpl.java | 12 +
.../ignite/internal/GridPluginComponent.java | 4 +-
.../apache/ignite/internal/IgniteKernal.java | 116 ++-
.../org/apache/ignite/internal/IgnitionEx.java | 2 +-
.../ignite/internal/MarshallerContextImpl.java | 10 +-
.../ignite/internal/client/GridClient.java | 9 +
.../internal/client/GridClientClusterState.java | 33 +
.../client/impl/GridClientClusterStateImpl.java | 75 ++
.../internal/client/impl/GridClientImpl.java | 11 +
.../impl/connection/GridClientConnection.java | 17 +
.../connection/GridClientNioTcpConnection.java | 21 +
.../router/impl/GridRouterClientImpl.java | 6 +
.../internal/commandline/CommandHandler.java | 89 ++
.../internal/managers/GridManagerAdapter.java | 2 +-
.../checkpoint/GridCheckpointManager.java | 2 +-
.../collision/GridCollisionManager.java | 2 +-
.../managers/communication/GridIoManager.java | 2 +-
.../communication/GridIoMessageFactory.java | 7 +-
.../deployment/GridDeploymentManager.java | 2 +-
.../discovery/GridDiscoveryManager.java | 7 +-
.../eventstorage/GridEventStorageManager.java | 2 +-
.../managers/failover/GridFailoverManager.java | 2 +-
.../managers/indexing/GridIndexingManager.java | 2 +-
.../loadbalancer/GridLoadBalancerManager.java | 2 +-
.../pagemem/store/IgnitePageStoreManager.java | 3 +-
.../pagemem/wal/IgniteWriteAheadLogManager.java | 3 +-
.../wal/IgniteWriteAheadLogNoopManager.java | 11 +
.../internal/pagemem/wal/record/WALRecord.java | 5 +-
.../processors/GridProcessorAdapter.java | 4 +-
.../affinity/GridAffinityProcessor.java | 2 +-
.../cache/CacheAffinitySharedManager.java | 9 +
.../internal/processors/cache/CacheState.java | 36 -
.../cache/ChangeGlobalStateMessage.java | 120 +++
.../internal/processors/cache/ClusterState.java | 38 +
.../cache/DynamicCacheChangeRequest.java | 23 +-
.../GridCachePartitionExchangeManager.java | 18 +-
.../processors/cache/GridCacheProcessor.java | 373 +++++---
.../GridChangeGlobalStateMessageResponse.java | 177 ++++
.../binary/CacheObjectBinaryProcessorImpl.java | 6 +-
.../IgniteCacheDatabaseSharedManager.java | 28 +-
.../cache/database/tree/io/TrackingPageIO.java | 19 +-
.../distributed/dht/GridDhtLocalPartition.java | 3 +-
.../dht/GridDhtPartitionTopologyImpl.java | 17 +-
.../GridDhtPartitionsExchangeFuture.java | 122 ++-
.../preloader/GridDhtPartitionsFullMessage.java | 72 +-
.../GridDhtPartitionsSingleMessage.java | 70 +-
.../dht/preloader/GridDhtPreloader.java | 3 +-
.../clock/GridClockSyncProcessor.java | 8 +-
.../closure/GridClosureProcessor.java | 2 +-
.../processors/cluster/ClusterProcessor.java | 2 +-
.../cluster/GridClusterStateProcessor.java | 933 +++++++++++++++++++
.../cluster/IgniteChangeGlobalStateSupport.java | 40 +
.../continuous/GridContinuousProcessor.java | 2 +-
.../datastreamer/DataStreamProcessor.java | 2 +-
.../datastructures/DataStructuresProcessor.java | 129 ++-
.../datastructures/GridCacheAtomicLongImpl.java | 14 +-
.../GridCacheAtomicReferenceImpl.java | 16 +-
.../GridCacheAtomicSequenceImpl.java | 14 +-
.../GridCacheAtomicStampedImpl.java | 14 +-
.../GridCacheCountDownLatchImpl.java | 14 +-
.../datastructures/GridCacheLockImpl.java | 17 +-
.../datastructures/GridCacheSemaphoreImpl.java | 14 +-
.../internal/processors/igfs/IgfsProcessor.java | 4 +-
.../processors/job/GridJobProcessor.java | 2 +-
.../jobmetrics/GridJobMetricsProcessor.java | 2 +-
.../internal/processors/odbc/OdbcProcessor.java | 11 +-
.../platform/PlatformProcessorImpl.java | 2 +-
.../plugin/IgnitePluginProcessor.java | 2 +-
.../processors/port/GridPortProcessor.java | 2 +-
.../processors/query/GridQueryProcessor.java | 4 +-
.../resource/GridResourceProcessor.java | 2 +-
.../processors/rest/GridRestCommand.java | 11 +-
.../processors/rest/GridRestProcessor.java | 7 +-
.../client/message/GridClientStateRequest.java | 80 ++
.../cluster/GridChangeStateCommandHandler.java | 89 ++
.../protocols/tcp/GridTcpRestNioListener.java | 20 +
.../request/GridRestChangeStateRequest.java | 57 ++
.../service/GridServiceProcessor.java | 149 ++-
.../session/GridTaskSessionProcessor.java | 2 +-
.../processors/task/GridTaskProcessor.java | 4 +-
.../timeout/GridTimeoutProcessor.java | 2 +-
.../ignite/internal/util/IgniteUtils.java | 16 +-
.../internal/util/OffheapReadWriteLock.java | 4 +
.../org/apache/ignite/mxbean/IgniteMXBean.java | 21 +
.../spi/discovery/tcp/TcpDiscoverySpi.java | 8 +-
.../tcp/internal/TcpDiscoveryNode.java | 5 +-
.../resources/META-INF/classnames.properties | 4 +-
...GridManagerLocalMessageListenerSelfTest.java | 8 +-
.../managers/GridNoopManagerSelfTest.java | 2 +-
.../pagemem/impl/PageMemoryNoLoadSelfTest.java | 2 +-
.../cache/GridCacheAbstractFullApiSelfTest.java | 7 +-
...idCacheNearOnlyMultiNodeFullApiSelfTest.java | 2 +-
...cpCommunicationSpiMultithreadedSelfTest.java | 4 +-
.../junits/GridTestKernalContext.java | 2 +-
.../processors/hadoop/HadoopProcessor.java | 6 +-
modules/platforms/.gitignore | 31 +
.../schedule/IgniteScheduleProcessor.java | 2 +-
107 files changed, 3502 insertions(+), 505 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/dffee01c/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
index 8391f99,8c6cfa6..857c813
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
@@@ -34,8 -34,8 +34,9 @@@ import org.apache.ignite.internal.manag
import org.apache.ignite.internal.managers.deployment.GridDeploymentResponse;
import org.apache.ignite.internal.managers.eventstorage.GridEventStorageMessage;
import org.apache.ignite.internal.pagemem.snapshot.SnapshotFinishedMessage;
+import org.apache.ignite.internal.pagemem.snapshot.SnapshotProgressMessage;
import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
+ import org.apache.ignite.internal.processors.cache.GridChangeGlobalStateMessageResponse;
import org.apache.ignite.internal.processors.cache.CacheEntryInfoCollection;
import org.apache.ignite.internal.processors.cache.CacheEntryPredicateContainsValue;
import org.apache.ignite.internal.processors.cache.CacheEntrySerializablePredicate;
@@@ -167,11 -167,10 +168,15 @@@ public class GridIoMessageFactory imple
Message msg = null;
switch (type) {
- case -38:
++ case -39:
+ msg = new SnapshotProgressMessage();
+
+ break;
+
+ case -38:
+ msg = new GridChangeGlobalStateMessageResponse();
+
+ break;
case -37:
msg = new GridDhtAtomicSingleUpdateRequest();
[38/50] [abbrv] ignite git commit: GG-11750 Implemented DELETE
command and minor refactorings.
Posted by ag...@apache.org.
GG-11750 Implemented DELETE command and minor refactorings.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/cf67df2a
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/cf67df2a
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/cf67df2a
Branch: refs/heads/ignite-3477
Commit: cf67df2a4d08df90d365f8da602a9ce786cc3725
Parents: dc086bf
Author: AKuznetsov <ak...@gridgain.com>
Authored: Sat Dec 24 21:20:12 2016 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Sat Dec 24 21:20:12 2016 +0700
----------------------------------------------------------------------
.../resources/META-INF/classnames.properties | 96 ++++++++++++--------
1 file changed, 56 insertions(+), 40 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/cf67df2a/modules/core/src/main/resources/META-INF/classnames.properties
----------------------------------------------------------------------
diff --git a/modules/core/src/main/resources/META-INF/classnames.properties b/modules/core/src/main/resources/META-INF/classnames.properties
index 5df5aea..ab518e5 100644
--- a/modules/core/src/main/resources/META-INF/classnames.properties
+++ b/modules/core/src/main/resources/META-INF/classnames.properties
@@ -296,6 +296,10 @@ org.apache.ignite.internal.jdbc2.JdbcDatabaseMetadata$UpdateMetadataTask
org.apache.ignite.internal.jdbc2.JdbcQueryTask
org.apache.ignite.internal.jdbc2.JdbcQueryTask$1
org.apache.ignite.internal.jdbc2.JdbcQueryTask$QueryResult
+org.apache.ignite.internal.jdbc2.JdbcQueryTaskV2
+org.apache.ignite.internal.jdbc2.JdbcQueryTaskV2$1
+org.apache.ignite.internal.jdbc2.JdbcQueryTaskV2$QueryResult
+org.apache.ignite.internal.jdbc2.JdbcSqlFieldsQuery
org.apache.ignite.internal.managers.GridManagerAdapter$1$1
org.apache.ignite.internal.managers.checkpoint.GridCheckpointManager$CheckpointSet
org.apache.ignite.internal.managers.checkpoint.GridCheckpointRequest
@@ -321,10 +325,11 @@ org.apache.ignite.internal.managers.indexing.GridIndexingManager$1
org.apache.ignite.internal.managers.loadbalancer.GridLoadBalancerAdapter
org.apache.ignite.internal.managers.loadbalancer.GridLoadBalancerManager$1
org.apache.ignite.internal.mem.OutOfMemoryException
-org.apache.ignite.internal.pagemem.backup.BackupFinishedMessage
-org.apache.ignite.internal.pagemem.backup.StartFullBackupAckDiscoveryMessage
-org.apache.ignite.internal.pagemem.backup.StartFullBackupDiscoveryMessage
org.apache.ignite.internal.pagemem.impl.PageMemoryNoStoreImpl$Segment
+org.apache.ignite.internal.pagemem.snapshot.SnapshotFinishedMessage
+org.apache.ignite.internal.pagemem.snapshot.SnapshotProgressMessage
+org.apache.ignite.internal.pagemem.snapshot.StartFullSnapshotAckDiscoveryMessage
+org.apache.ignite.internal.pagemem.snapshot.StartFullSnapshotDiscoveryMessage
org.apache.ignite.internal.pagemem.wal.StorageException
org.apache.ignite.internal.pagemem.wal.WALIterator
org.apache.ignite.internal.pagemem.wal.record.StoreOperationRecord$StoreOperationType
@@ -376,12 +381,13 @@ org.apache.ignite.internal.processors.cache.CacheObjectImpl
org.apache.ignite.internal.processors.cache.CacheOperationContext
org.apache.ignite.internal.processors.cache.CacheOperationFilter
org.apache.ignite.internal.processors.cache.CachePartialUpdateCheckedException
-org.apache.ignite.internal.processors.cache.ClusterState
org.apache.ignite.internal.processors.cache.CacheStorePartialUpdateException
org.apache.ignite.internal.processors.cache.CacheType
org.apache.ignite.internal.processors.cache.CacheWeakQueryIteratorsHolder$WeakQueryCloseableIterator
org.apache.ignite.internal.processors.cache.CacheWeakQueryIteratorsHolder$WeakQueryFutureIterator
org.apache.ignite.internal.processors.cache.CacheWeakQueryIteratorsHolder$WeakReferenceCloseableIterator
+org.apache.ignite.internal.processors.cache.ChangeGlobalStateMessage
+org.apache.ignite.internal.processors.cache.ClusterState
org.apache.ignite.internal.processors.cache.DynamicCacheChangeBatch
org.apache.ignite.internal.processors.cache.DynamicCacheChangeRequest
org.apache.ignite.internal.processors.cache.EntryProcessorResourceInjectorProxy
@@ -403,20 +409,20 @@ org.apache.ignite.internal.processors.cache.GridCacheAdapter$3
org.apache.ignite.internal.processors.cache.GridCacheAdapter$30
org.apache.ignite.internal.processors.cache.GridCacheAdapter$32
org.apache.ignite.internal.processors.cache.GridCacheAdapter$4
+org.apache.ignite.internal.processors.cache.GridCacheAdapter$48
+org.apache.ignite.internal.processors.cache.GridCacheAdapter$49
+org.apache.ignite.internal.processors.cache.GridCacheAdapter$50
+org.apache.ignite.internal.processors.cache.GridCacheAdapter$51
+org.apache.ignite.internal.processors.cache.GridCacheAdapter$52
+org.apache.ignite.internal.processors.cache.GridCacheAdapter$53
+org.apache.ignite.internal.processors.cache.GridCacheAdapter$54
+org.apache.ignite.internal.processors.cache.GridCacheAdapter$55
+org.apache.ignite.internal.processors.cache.GridCacheAdapter$57
+org.apache.ignite.internal.processors.cache.GridCacheAdapter$58
+org.apache.ignite.internal.processors.cache.GridCacheAdapter$58$1
+org.apache.ignite.internal.processors.cache.GridCacheAdapter$59
org.apache.ignite.internal.processors.cache.GridCacheAdapter$6
org.apache.ignite.internal.processors.cache.GridCacheAdapter$60
-org.apache.ignite.internal.processors.cache.GridCacheAdapter$61
-org.apache.ignite.internal.processors.cache.GridCacheAdapter$62
-org.apache.ignite.internal.processors.cache.GridCacheAdapter$63
-org.apache.ignite.internal.processors.cache.GridCacheAdapter$64
-org.apache.ignite.internal.processors.cache.GridCacheAdapter$65
-org.apache.ignite.internal.processors.cache.GridCacheAdapter$66
-org.apache.ignite.internal.processors.cache.GridCacheAdapter$67
-org.apache.ignite.internal.processors.cache.GridCacheAdapter$69
-org.apache.ignite.internal.processors.cache.GridCacheAdapter$70
-org.apache.ignite.internal.processors.cache.GridCacheAdapter$70$1
-org.apache.ignite.internal.processors.cache.GridCacheAdapter$71
-org.apache.ignite.internal.processors.cache.GridCacheAdapter$72
org.apache.ignite.internal.processors.cache.GridCacheAdapter$9
org.apache.ignite.internal.processors.cache.GridCacheAdapter$AsyncOp$1
org.apache.ignite.internal.processors.cache.GridCacheAdapter$AsyncOp$1$1
@@ -534,6 +540,8 @@ org.apache.ignite.internal.processors.cache.GridCacheUtils$8
org.apache.ignite.internal.processors.cache.GridCacheUtils$9
org.apache.ignite.internal.processors.cache.GridCacheValueCollection
org.apache.ignite.internal.processors.cache.GridCacheValueCollection$1
+org.apache.ignite.internal.processors.cache.GridChangeGlobalStateMessageResponse
+org.apache.ignite.internal.processors.cache.GridDeferredAckMessageSender$DeferredAckMessageBuffer
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$1
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$2
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$3
@@ -542,7 +550,6 @@ org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$5
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$6
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$7
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$8
-org.apache.ignite.internal.processors.cache.GridDeferredAckMessageSender$DeferredAckMessageBuffer
org.apache.ignite.internal.processors.cache.IgniteCacheProxy
org.apache.ignite.internal.processors.cache.IgniteCacheProxy$1
org.apache.ignite.internal.processors.cache.IgniteCacheProxy$10
@@ -561,9 +568,6 @@ org.apache.ignite.internal.processors.cache.affinity.GridCacheAffinityProxy
org.apache.ignite.internal.processors.cache.binary.BinaryMetadataKey
org.apache.ignite.internal.processors.cache.binary.CacheDefaultBinaryAffinityKeyMapper
org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl$4
-org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl$1
-org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl$5
-org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl$6
org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl$MetaDataEntryFilter
org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl$MetaDataPredicate
org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl$MetadataProcessor
@@ -701,8 +705,8 @@ org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomic
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicSingleUpdateRequest
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicUpdateRequest
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicUpdateResponse
-org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture$1
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractSingleUpdateRequest
+org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture$1
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateRequest
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicFullUpdateRequest
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFilterRequest
@@ -713,8 +717,6 @@ org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomi
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture$1
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture$2
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture$3
-org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture$4
-org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateRequest
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateResponse
org.apache.ignite.internal.processors.cache.distributed.dht.colocated.GridDhtColocatedCache
org.apache.ignite.internal.processors.cache.distributed.dht.colocated.GridDhtColocatedCache$2
@@ -735,8 +737,11 @@ org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtFor
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtForceKeysResponse
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionDemandMessage
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionDemander$1
+org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionDemander$1$1
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionDemander$2
+org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionDemander$3
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionDemander$4$1
+org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionDemander$5$1
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionDemander$DemandWorker$1
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionDemander$DemandWorker$2
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionExchangeId
@@ -849,19 +854,10 @@ org.apache.ignite.internal.processors.cache.query.GridCacheQueryAdapter$ScanQuer
org.apache.ignite.internal.processors.cache.query.GridCacheQueryDetailMetricsAdapter
org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter$1
org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter$2
-org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$1$1
-org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$1$2
-org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$10$1
-org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$2
-org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$3
-org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$4
+org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$10
org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$11
org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$12
-org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$14
-org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$15
-org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$16
-org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$17
-org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$18$1
+org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$13$1
org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$4$1
org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$4$2
org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$5
@@ -1013,6 +1009,11 @@ org.apache.ignite.internal.processors.closure.GridClosureProcessor$T8
org.apache.ignite.internal.processors.closure.GridClosureProcessor$T9
org.apache.ignite.internal.processors.closure.GridClosureProcessor$TaskNoReduceAdapter
org.apache.ignite.internal.processors.closure.GridPeerDeployAwareTaskAdapter
+org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor$1$1
+org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor$2
+org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor$4
+org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor$6
+org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor$ClientChangeGlobalStateComputeRequest
org.apache.ignite.internal.processors.continuous.AbstractContinuousMessage
org.apache.ignite.internal.processors.continuous.GridContinuousHandler
org.apache.ignite.internal.processors.continuous.GridContinuousHandler$RegisterStatus
@@ -1128,6 +1129,12 @@ org.apache.ignite.internal.processors.hadoop.HadoopJobStatus
org.apache.ignite.internal.processors.hadoop.HadoopMapReducePlan
org.apache.ignite.internal.processors.hadoop.HadoopTaskInfo
org.apache.ignite.internal.processors.hadoop.HadoopTaskType
+org.apache.ignite.internal.processors.hadoop.message.HadoopMessage
+org.apache.ignite.internal.processors.hadoop.shuffle.HadoopDirectShuffleMessage
+org.apache.ignite.internal.processors.hadoop.shuffle.HadoopShuffleAck
+org.apache.ignite.internal.processors.hadoop.shuffle.HadoopShuffleFinishRequest
+org.apache.ignite.internal.processors.hadoop.shuffle.HadoopShuffleFinishResponse
+org.apache.ignite.internal.processors.hadoop.shuffle.HadoopShuffleMessage
org.apache.ignite.internal.processors.igfs.IgfsAckMessage
org.apache.ignite.internal.processors.igfs.IgfsAttributes
org.apache.ignite.internal.processors.igfs.IgfsBlockKey
@@ -1216,7 +1223,6 @@ org.apache.ignite.internal.processors.platform.PlatformExtendedException
org.apache.ignite.internal.processors.platform.PlatformJavaObjectFactoryProxy
org.apache.ignite.internal.processors.platform.PlatformNativeException
org.apache.ignite.internal.processors.platform.PlatformNoCallbackException
-org.apache.ignite.internal.processors.platform.cache.PlatformCache$3
org.apache.ignite.internal.processors.platform.PlatformProcessorImpl$1
org.apache.ignite.internal.processors.platform.cache.PlatformCache$5
org.apache.ignite.internal.processors.platform.cache.PlatformCacheEntryFilter
@@ -1226,6 +1232,7 @@ org.apache.ignite.internal.processors.platform.cache.PlatformCacheEntryProcessor
org.apache.ignite.internal.processors.platform.cache.PlatformCachePartialUpdateException
org.apache.ignite.internal.processors.platform.cache.affinity.PlatformAffinity$1
org.apache.ignite.internal.processors.platform.cache.affinity.PlatformAffinityFunction
+org.apache.ignite.internal.processors.platform.cache.expiry.PlatformExpiryPolicyFactory
org.apache.ignite.internal.processors.platform.cache.query.PlatformContinuousQuery
org.apache.ignite.internal.processors.platform.cache.query.PlatformContinuousQueryFilter
org.apache.ignite.internal.processors.platform.cache.query.PlatformContinuousQueryImpl
@@ -1262,6 +1269,9 @@ org.apache.ignite.internal.processors.platform.dotnet.PlatformDotNetCacheStore$9
org.apache.ignite.internal.processors.platform.dotnet.PlatformDotNetConfigurationClosure
org.apache.ignite.internal.processors.platform.dotnet.PlatformDotNetService
org.apache.ignite.internal.processors.platform.dotnet.PlatformDotNetServiceImpl
+org.apache.ignite.internal.processors.platform.entityframework.PlatformDotNetEntityFrameworkCacheExtension$CleanupCompletionListener
+org.apache.ignite.internal.processors.platform.entityframework.PlatformDotNetEntityFrameworkCacheExtension$RemoveOldEntriesRunnable
+org.apache.ignite.internal.processors.platform.entityframework.PlatformDotNetEntityFrameworkIncreaseVersionProcessor
org.apache.ignite.internal.processors.platform.events.PlatformEventFilterListenerImpl
org.apache.ignite.internal.processors.platform.message.PlatformMessageFilter
org.apache.ignite.internal.processors.platform.messaging.PlatformMessageFilterImpl
@@ -1284,6 +1294,7 @@ org.apache.ignite.internal.processors.query.GridQueryProcessor$6
org.apache.ignite.internal.processors.query.GridQueryProcessor$7
org.apache.ignite.internal.processors.query.GridQueryProcessor$8
org.apache.ignite.internal.processors.query.GridQueryProcessor$IndexType
+org.apache.ignite.internal.processors.query.IgniteSQLException
org.apache.ignite.internal.processors.query.h2.twostep.messages.GridQueryCancelRequest
org.apache.ignite.internal.processors.query.h2.twostep.messages.GridQueryFailResponse
org.apache.ignite.internal.processors.query.h2.twostep.messages.GridQueryNextPageRequest
@@ -1307,10 +1318,10 @@ org.apache.ignite.internal.processors.rest.client.message.GridClientNodeBean
org.apache.ignite.internal.processors.rest.client.message.GridClientNodeMetricsBean
org.apache.ignite.internal.processors.rest.client.message.GridClientPingPacket
org.apache.ignite.internal.processors.rest.client.message.GridClientResponse
+org.apache.ignite.internal.processors.rest.client.message.GridClientStateRequest
org.apache.ignite.internal.processors.rest.client.message.GridClientTaskRequest
org.apache.ignite.internal.processors.rest.client.message.GridClientTaskResultBean
org.apache.ignite.internal.processors.rest.client.message.GridClientTopologyRequest
-org.apache.ignite.internal.processors.rest.client.message.GridClientStateRequest
org.apache.ignite.internal.processors.rest.client.message.GridRouterRequest
org.apache.ignite.internal.processors.rest.client.message.GridRouterResponse
org.apache.ignite.internal.processors.rest.handlers.cache.GridCacheCommandHandler$2
@@ -1350,6 +1361,9 @@ org.apache.ignite.internal.processors.rest.handlers.datastructures.DataStructure
org.apache.ignite.internal.processors.rest.handlers.query.CacheQueryFieldsMetaResult
org.apache.ignite.internal.processors.rest.handlers.query.CacheQueryResult
org.apache.ignite.internal.processors.rest.handlers.query.QueryCommandHandler$QueryCursorIterator
+org.apache.ignite.internal.processors.rest.handlers.redis.GridRedisRestCommandHandler$1
+org.apache.ignite.internal.processors.rest.handlers.redis.exception.GridRedisGenericException
+org.apache.ignite.internal.processors.rest.handlers.redis.exception.GridRedisTypeException
org.apache.ignite.internal.processors.rest.handlers.task.GridTaskCommandHandler$2
org.apache.ignite.internal.processors.rest.handlers.task.GridTaskCommandHandler$ExeCallable
org.apache.ignite.internal.processors.rest.handlers.task.GridTaskResultRequest
@@ -1361,6 +1375,9 @@ org.apache.ignite.internal.processors.rest.protocols.tcp.GridTcpMemcachedNioList
org.apache.ignite.internal.processors.rest.protocols.tcp.GridTcpMemcachedNioListener$2
org.apache.ignite.internal.processors.rest.protocols.tcp.GridTcpRestNioListener$1
org.apache.ignite.internal.processors.rest.protocols.tcp.GridTcpRestNioListener$1$1
+org.apache.ignite.internal.processors.rest.protocols.tcp.redis.GridRedisCommand
+org.apache.ignite.internal.processors.rest.protocols.tcp.redis.GridRedisMessage
+org.apache.ignite.internal.processors.rest.protocols.tcp.redis.GridRedisNioListener$1
org.apache.ignite.internal.processors.rest.request.RestQueryRequest$QueryType
org.apache.ignite.internal.processors.service.GridServiceAssignments
org.apache.ignite.internal.processors.service.GridServiceAssignmentsKey
@@ -1381,7 +1398,6 @@ org.apache.ignite.internal.processors.task.GridTaskThreadContextKey
org.apache.ignite.internal.processors.task.GridTaskWorker$3
org.apache.ignite.internal.processors.task.GridTaskWorker$5
org.apache.ignite.internal.processors.task.GridTaskWorker$State
-org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor$ClientChangeGlobalStateComputeRequest
org.apache.ignite.internal.transactions.IgniteTxHeuristicCheckedException
org.apache.ignite.internal.transactions.IgniteTxOptimisticCheckedException
org.apache.ignite.internal.transactions.IgniteTxRollbackCheckedException
@@ -1609,10 +1625,13 @@ org.apache.ignite.internal.util.lang.IgniteReducer2X
org.apache.ignite.internal.util.lang.IgniteReducer3
org.apache.ignite.internal.util.lang.IgniteReducer3X
org.apache.ignite.internal.util.lang.IgniteReducerX
+org.apache.ignite.internal.util.lang.IgniteSingletonIterator
org.apache.ignite.internal.util.nio.GridNioEmbeddedFuture$1
org.apache.ignite.internal.util.nio.GridNioException
org.apache.ignite.internal.util.nio.GridNioMessageTracker
org.apache.ignite.internal.util.nio.GridNioServer$NioOperation
+org.apache.ignite.internal.util.nio.GridNioServer$RandomBalancer
+org.apache.ignite.internal.util.nio.GridNioServer$SizeBasedBalancer
org.apache.ignite.internal.util.nio.GridNioSessionMetaKey
org.apache.ignite.internal.util.nio.ssl.GridNioSslHandler
org.apache.ignite.internal.util.offheap.GridOffHeapEvent
@@ -1697,7 +1716,6 @@ org.apache.ignite.internal.visor.cache.VisorCachePartitions
org.apache.ignite.internal.visor.cache.VisorCachePartitionsTask
org.apache.ignite.internal.visor.cache.VisorCachePartitionsTask$VisorCachePartitionsJob
org.apache.ignite.internal.visor.cache.VisorCacheQueryConfiguration
-org.apache.ignite.internal.visor.cache.VisorCacheQueryConfigurationV2
org.apache.ignite.internal.visor.cache.VisorCacheQueryDetailMetrics
org.apache.ignite.internal.visor.cache.VisorCacheQueryDetailMetricsCollectorTask
org.apache.ignite.internal.visor.cache.VisorCacheQueryDetailMetricsCollectorTask$VisorCacheQueryDetailMetricsCollectorJob
@@ -1717,8 +1735,6 @@ org.apache.ignite.internal.visor.cache.VisorCacheStartTask$VisorCacheStartJob
org.apache.ignite.internal.visor.cache.VisorCacheStopTask
org.apache.ignite.internal.visor.cache.VisorCacheStopTask$VisorCacheStopJob
org.apache.ignite.internal.visor.cache.VisorCacheStoreConfiguration
-org.apache.ignite.internal.visor.cache.VisorCacheSwapBackupsTask
-org.apache.ignite.internal.visor.cache.VisorCacheSwapBackupsTask$VisorCachesSwapBackupsJob
org.apache.ignite.internal.visor.cache.VisorCacheTypeFieldMetadata
org.apache.ignite.internal.visor.cache.VisorCacheTypeMetadata
org.apache.ignite.internal.visor.compute.VisorComputeCancelSessionsTask
[17/50] [abbrv] ignite git commit: Merge with master - WIP.
Posted by ag...@apache.org.
Merge with master - WIP.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/d5e9a3b0
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/d5e9a3b0
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/d5e9a3b0
Branch: refs/heads/ignite-3477
Commit: d5e9a3b0fbf0f5b02ddc2bcec588306c64fc52b3
Parents: d068fb7
Author: Ilya Lantukh <il...@gridgain.com>
Authored: Thu Dec 22 15:02:46 2016 +0300
Committer: Ilya Lantukh <il...@gridgain.com>
Committed: Thu Dec 22 15:02:46 2016 +0300
----------------------------------------------------------------------
.../managers/communication/GridIoMessageFactory.java | 12 +-----------
.../dht/atomic/GridNearAtomicSingleUpdateFuture.java | 1 +
.../atomic/GridNearAtomicSingleUpdateInvokeRequest.java | 2 ++
3 files changed, 4 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/d5e9a3b0/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
index 4599fd7..81b7312 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
@@ -832,17 +832,7 @@ public class GridIoMessageFactory implements MessageFactory {
break;
- case 125:
- msg = new TcpCommunicationSpi.HandshakeMessage2();
-
- break;
-
- case 126:
- msg = new IgniteIoTestMessage();
-
- break;
-
- // [-3..119] [124-126] - this
+ // [-3..119] [124..127] [-36..-45]- this
// [120..123] - DR
// [-4..-22, -30..-35] - SQL
default:
http://git-wip-us.apache.org/repos/asf/ignite/blob/d5e9a3b0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java
index fd2479c..d840c35 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java
@@ -585,6 +585,7 @@ public class GridNearAtomicSingleUpdateFuture extends GridNearAtomicAbstractUpda
taskNameHash,
skipStore,
keepBinary,
+ recovery,
cctx.kernalContext().clientNode(),
cctx.deploymentEnabled());
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/d5e9a3b0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateInvokeRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateInvokeRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateInvokeRequest.java
index 6582063..02cfd91 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateInvokeRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateInvokeRequest.java
@@ -108,6 +108,7 @@ public class GridNearAtomicSingleUpdateInvokeRequest extends GridNearAtomicSingl
int taskNameHash,
boolean skipStore,
boolean keepBinary,
+ boolean recovery,
boolean clientReq,
boolean addDepInfo
) {
@@ -126,6 +127,7 @@ public class GridNearAtomicSingleUpdateInvokeRequest extends GridNearAtomicSingl
taskNameHash,
skipStore,
keepBinary,
+ recovery,
clientReq,
addDepInfo
);
[40/50] [abbrv] ignite git commit: IGNITE-4109 - BinaryType.isEnum()
throws an exception if typeId==0
Posted by ag...@apache.org.
IGNITE-4109 - BinaryType.isEnum() throws an exception if typeId==0
(cherry picked from commit 2ccae40)
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/8070da31
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/8070da31
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/8070da31
Branch: refs/heads/ignite-3477
Commit: 8070da317fec537b130164cac03a0b56e2bf388f
Parents: 7677f5f
Author: dkarachentsev <dk...@gridgain.com>
Authored: Fri Dec 23 17:51:49 2016 +0300
Committer: dkarachentsev <dk...@gridgain.com>
Committed: Mon Dec 26 13:21:52 2016 +0300
----------------------------------------------------------------------
.../ignite/internal/binary/BinaryContext.java | 4 ++--
.../ignite/internal/binary/BinaryTypeProxy.java | 15 ++++++++++++---
.../ignite/internal/binary/BinaryUtils.java | 4 +++-
.../internal/binary/BinaryEnumsSelfTest.java | 18 ++++++++++++++++++
4 files changed, 35 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8070da31/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java
index b132db3..4616f11 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java
@@ -923,7 +923,7 @@ public class BinaryContext {
* @param typeId Type ID.
* @return Instance of ID mapper.
*/
- public BinaryInternalMapper userTypeMapper(int typeId) {
+ BinaryInternalMapper userTypeMapper(int typeId) {
BinaryInternalMapper mapper = typeId2Mapper.get(typeId);
return mapper != null ? mapper : SIMPLE_NAME_LOWER_CASE_MAPPER;
@@ -933,7 +933,7 @@ public class BinaryContext {
* @param clsName Type name.
* @return Instance of ID mapper.
*/
- private BinaryInternalMapper userTypeMapper(String clsName) {
+ BinaryInternalMapper userTypeMapper(String clsName) {
BinaryInternalMapper mapper = cls2Mappers.get(clsName);
if (mapper != null)
http://git-wip-us.apache.org/repos/asf/ignite/blob/8070da31/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryTypeProxy.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryTypeProxy.java b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryTypeProxy.java
index 17b0bc6..df9901e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryTypeProxy.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryTypeProxy.java
@@ -24,6 +24,7 @@ import org.apache.ignite.internal.util.tostring.GridToStringExclude;
import org.apache.ignite.internal.util.typedef.internal.S;
import java.util.Collection;
+import org.jetbrains.annotations.Nullable;
/**
* Binary type proxy. Is used to delay or completely avoid metadata lookup.
@@ -34,21 +35,26 @@ public class BinaryTypeProxy implements BinaryType {
private final BinaryContext ctx;
/** Type ID. */
- private final int typeId;
+ private int typeId;
+
+ /** Raw data. */
+ private final String clsName;
/** Target type. */
@GridToStringExclude
private volatile BinaryType target;
/**
- * Constrcutor.
+ * Constructor.
*
* @param ctx Context.
* @param typeId Type ID.
+ * @param clsName Class name.
*/
- public BinaryTypeProxy(BinaryContext ctx, int typeId) {
+ public BinaryTypeProxy(BinaryContext ctx, int typeId, @Nullable String clsName) {
this.ctx = ctx;
this.typeId = typeId;
+ this.clsName = clsName;
}
/** {@inheritDoc} */
@@ -93,6 +99,9 @@ public class BinaryTypeProxy implements BinaryType {
if (target == null) {
synchronized (this) {
if (target == null) {
+ if (typeId == GridBinaryMarshaller.UNREGISTERED_TYPE_ID && clsName != null)
+ typeId = ctx.typeId(clsName);
+
target = ctx.metadata(typeId);
if (target == null)
http://git-wip-us.apache.org/repos/asf/ignite/blob/8070da31/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
index cb6e641..bc4260f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
@@ -2222,7 +2222,9 @@ public class BinaryUtils {
if (ctx == null)
throw new BinaryObjectException("BinaryContext is not set for the object.");
- return new BinaryTypeProxy(ctx, obj.typeId());
+ String clsName = obj instanceof BinaryEnumObjectImpl ? ((BinaryEnumObjectImpl)obj).className() : null;
+
+ return new BinaryTypeProxy(ctx, obj.typeId(), clsName);
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/8070da31/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryEnumsSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryEnumsSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryEnumsSelfTest.java
index fb7e618..91add0d 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryEnumsSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryEnumsSelfTest.java
@@ -28,6 +28,7 @@ import org.apache.ignite.cache.CacheMode;
import org.apache.ignite.configuration.BinaryConfiguration;
import org.apache.ignite.configuration.CacheConfiguration;
import org.apache.ignite.configuration.IgniteConfiguration;
+import org.apache.ignite.internal.IgniteEx;
import org.apache.ignite.internal.IgniteKernal;
import org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl;
import org.apache.ignite.marshaller.Marshaller;
@@ -389,6 +390,23 @@ public class BinaryEnumsSelfTest extends GridCommonAbstractTest {
}
/**
+ * Check ability to resolve typeId from class name.
+ *
+ * @throws Exception If failed.
+ */
+ public void testZeroTypeId() throws Exception {
+ startUp(true);
+
+ final BinaryContext ctx =
+ ((CacheObjectBinaryProcessorImpl)((IgniteEx)node1).context().cacheObjects()).binaryContext();
+
+ final BinaryObject enumObj =
+ new BinaryEnumObjectImpl(ctx, 0, EnumType.class.getName(), EnumType.ONE.ordinal());
+
+ assert enumObj.type().isEnum();
+ }
+
+ /**
* Validate simple array.
*
* @param registered Registered flag.
[47/50] [abbrv] ignite git commit: ignite-gg-11836 fix issue.
Posted by ag...@apache.org.
ignite-gg-11836 fix issue.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/9b006b26
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/9b006b26
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/9b006b26
Branch: refs/heads/ignite-3477
Commit: 9b006b26231948caff8f179b83de3dcd9a259f2c
Parents: 4668808
Author: Dmitriy Govorukhin <dg...@gridgain.com>
Authored: Wed Dec 28 19:08:38 2016 +0300
Committer: Dmitriy Govorukhin <dg...@gridgain.com>
Committed: Wed Dec 28 19:08:38 2016 +0300
----------------------------------------------------------------------
.../cache/distributed/dht/atomic/GridDhtAtomicCache.java | 8 +++++++-
.../processors/cacheobject/IgniteCacheObjectProcessor.java | 2 +-
2 files changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b006b26/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
index 476abc4..c4ea7dc 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
@@ -465,7 +465,13 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
return near;
}
- /** {@inheritDoc} */
+ /**
+ * @param key Key.
+ * @param deserializeBinary Deserialize binary.
+ * @param needVer Need version.
+ * @return Value.
+ * @throws IgniteCheckedException If failed.
+ */
@Nullable public V get0(K key, boolean deserializeBinary, boolean needVer) throws IgniteCheckedException {
ctx.checkSecurity(SecurityPermission.CACHE_READ);
http://git-wip-us.apache.org/repos/asf/ignite/blob/9b006b26/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessor.java
index 01fafc9..eafb420 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessor.java
@@ -43,7 +43,7 @@ public interface IgniteCacheObjectProcessor extends GridProcessor {
public void onContinuousProcessorStarted(GridKernalContext ctx) throws IgniteCheckedException;
/**
- * @see GridComponent#onKernalStart()
+ * @see GridComponent#onKernalStart(boolean)
* @throws IgniteCheckedException If failed.
*/
public void onUtilityCacheStarted() throws IgniteCheckedException;
[23/50] [abbrv] ignite git commit: Merge with master - WIP.
Posted by ag...@apache.org.
Merge with master - WIP.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/f7d89fdb
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/f7d89fdb
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/f7d89fdb
Branch: refs/heads/ignite-3477
Commit: f7d89fdb311761fd5a4a4b8594001fb6cae13e88
Parents: 2e55963
Author: Ilya Lantukh <il...@gridgain.com>
Authored: Thu Dec 22 16:23:55 2016 +0300
Committer: Ilya Lantukh <il...@gridgain.com>
Committed: Thu Dec 22 16:23:55 2016 +0300
----------------------------------------------------------------------
.../processors/cache/GridCacheProxyImpl.java | 24 ++++++++++----
.../processors/cache/GridCacheTtlManager.java | 3 +-
.../processors/cache/IgniteInternalCache.java | 8 +++++
.../dht/atomic/GridDhtAtomicCache.java | 6 +++-
.../GridDhtPartitionsSingleMessage.java | 1 -
.../apache/ignite/internal/util/GridUnsafe.java | 11 ++++++
.../ignite/internal/util/IgniteUtils.java | 3 ++
.../query/h2/DmlStatementsProcessor.java | 2 +-
.../h2/twostep/GridReduceQueryExecutor.java | 35 ++++++--------------
9 files changed, 59 insertions(+), 34 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/f7d89fdb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java
index a3f32a8..8c73026 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java
@@ -209,7 +209,8 @@ public class GridCacheProxyImpl<K, V> implements IgniteInternalCache<K, V>, Exte
}
/** {@inheritDoc} */
- @Override public void localLoadCache(IgniteBiPredicate<K, V> p, @Nullable Object[] args) throws IgniteCheckedException {
+ @Override public void localLoadCache(IgniteBiPredicate<K, V> p,
+ @Nullable Object[] args) throws IgniteCheckedException {
CacheOperationContext prev = gate.enter(opCtx);
try {
@@ -915,6 +916,18 @@ public class GridCacheProxyImpl<K, V> implements IgniteInternalCache<K, V>, Exte
}
/** {@inheritDoc} */
+ @Override public Set<Cache.Entry<K, V>> entrySetx(CacheEntryPredicate... filter) {
+ CacheOperationContext prev = gate.enter(opCtx);
+
+ try {
+ return delegate.entrySetx(filter);
+ }
+ finally {
+ gate.leave(prev);
+ }
+ }
+
+ /** {@inheritDoc} */
@Override public Iterator<Cache.Entry<K, V>> scanIterator(boolean keepBinary,
@Nullable IgniteBiPredicate<Object, Object> p) throws IgniteCheckedException {
CacheOperationContext prev = gate.enter(opCtx);
@@ -981,8 +994,7 @@ public class GridCacheProxyImpl<K, V> implements IgniteInternalCache<K, V>, Exte
@Nullable @Override public V localPeek(K key,
CachePeekMode[] peekModes,
@Nullable IgniteCacheExpiryPolicy plc)
- throws IgniteCheckedException
- {
+ throws IgniteCheckedException {
CacheOperationContext prev = gate.enter(opCtx);
try {
@@ -1190,8 +1202,7 @@ public class GridCacheProxyImpl<K, V> implements IgniteInternalCache<K, V>, Exte
/** {@inheritDoc} */
@Override public IgniteInternalFuture<?> removeAllConflictAsync(Map<KeyCacheObject, GridCacheVersion> drMap)
- throws IgniteCheckedException
- {
+ throws IgniteCheckedException {
CacheOperationContext prev = gate.enter(opCtx);
try {
@@ -1341,7 +1352,8 @@ public class GridCacheProxyImpl<K, V> implements IgniteInternalCache<K, V>, Exte
}
/** {@inheritDoc} */
- @Override public boolean lockAll(@Nullable Collection<? extends K> keys, long timeout) throws IgniteCheckedException {
+ @Override public boolean lockAll(@Nullable Collection<? extends K> keys,
+ long timeout) throws IgniteCheckedException {
CacheOperationContext prev = gate.enter(opCtx);
try {
http://git-wip-us.apache.org/repos/asf/ignite/blob/f7d89fdb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManager.java
index 7ccf890..abe1b45 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManager.java
@@ -125,7 +125,8 @@ public class GridCacheTtlManager extends GridCacheManagerAdapter {
U.cancel(cleanupWorker);
U.join(cleanupWorker, log);
- pendingEntries.clear();
+ if (pendingEntries != null)
+ pendingEntries.clear();
cctx.shared().ttl().unregister(this);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/f7d89fdb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteInternalCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteInternalCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteInternalCache.java
index 568f92e..c2790db 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteInternalCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteInternalCache.java
@@ -940,6 +940,14 @@ public interface IgniteInternalCache<K, V> extends Iterable<Cache.Entry<K, V>> {
@Nullable public Set<Cache.Entry<K, V>> entrySet(int part);
/**
+ * Gets entry set containing internal entries.
+ *
+ * @param filter Filter.
+ * @return Entry set.
+ */
+ public Set<Cache.Entry<K, V>> entrySetx(CacheEntryPredicate... filter);
+
+ /**
* Starts new transaction with the specified concurrency and isolation.
*
* @param concurrency Concurrency.
http://git-wip-us.apache.org/repos/asf/ignite/blob/f7d89fdb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
index 2f2706e..e2bd45b 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
@@ -466,7 +466,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
}
/** {@inheritDoc} */
- @Nullable @Override public V get0(K key, boolean deserializeBinary, boolean needVer) throws IgniteCheckedException {
+ @Nullable public V get0(K key, boolean deserializeBinary, boolean needVer) throws IgniteCheckedException {
ctx.checkSecurity(SecurityPermission.CACHE_READ);
if (keyCheck)
@@ -549,12 +549,15 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
/** {@inheritDoc} */
@Override protected Map<K, V> getAll0(Collection<? extends K> keys, boolean deserializeBinary, boolean needVer)
throws IgniteCheckedException {
+ CacheOperationContext opCtx = ctx.operationContextPerCall();
+
return getAllAsyncInternal(keys,
!ctx.config().isReadFromBackup(),
true,
null,
ctx.kernalContext().job().currentTaskName(),
deserializeBinary,
+ opCtx != null && opCtx.recovery(),
false,
true,
needVer,
@@ -580,6 +583,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
subjId,
taskName,
deserializeBinary,
+ recovery,
skipVals,
canRemap,
needVer,
http://git-wip-us.apache.org/repos/asf/ignite/blob/f7d89fdb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsSingleMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsSingleMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsSingleMessage.java
index 0975a07..b380d9b 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsSingleMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsSingleMessage.java
@@ -221,7 +221,6 @@ public class GridDhtPartitionsSingleMessage extends GridDhtPartitionsAbstractMes
GridDhtPartitionMap2 map1 = parts.get(e.getKey());
assert map1 != null : e.getKey();
- assert F.isEmpty(map1.map());
assert !map1.hasMovingPartitions();
GridDhtPartitionMap2 map2 = parts.get(e.getValue());
http://git-wip-us.apache.org/repos/asf/ignite/blob/f7d89fdb/modules/core/src/main/java/org/apache/ignite/internal/util/GridUnsafe.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/GridUnsafe.java b/modules/core/src/main/java/org/apache/ignite/internal/util/GridUnsafe.java
index 6e9efdb..783ab96 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/GridUnsafe.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/GridUnsafe.java
@@ -1081,6 +1081,17 @@ public abstract class GridUnsafe {
}
/**
+ * Copies memory.
+ *
+ * @param src Source.
+ * @param dst Dst.
+ * @param len Length.
+ */
+ public static void copyMemory(long src, long dst, long len) {
+ UNSAFE.copyMemory(src, dst, len);
+ }
+
+ /**
* Sets all bytes in a given block of memory to a copy of another block.
*
* @param srcBase Source base.
http://git-wip-us.apache.org/repos/asf/ignite/blob/f7d89fdb/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
index 4a8a33c..c418acc 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
@@ -9183,6 +9183,9 @@ public abstract class IgniteUtils {
* @throws IgniteCheckedException If failed.
*/
public static File resolveWorkDirectory(String path, boolean delIfExist) throws IgniteCheckedException {
+ if (1 == 1)
+ return resolveWorkDirectory(defaultWorkDirectory(), path, delIfExist);
+
if (path == null) {
String ggWork0 = igniteWork;
http://git-wip-us.apache.org/repos/asf/ignite/blob/f7d89fdb/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/DmlStatementsProcessor.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/DmlStatementsProcessor.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/DmlStatementsProcessor.java
index 4030758..9d1bbd8 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/DmlStatementsProcessor.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/DmlStatementsProcessor.java
@@ -145,7 +145,7 @@ public class DmlStatementsProcessor {
if (opCtx == null)
// Mimics behavior of GridCacheAdapter#keepBinary and GridCacheProxyImpl#keepBinary
- newOpCtx = new CacheOperationContext(false, null, true, null, false, null);
+ newOpCtx = new CacheOperationContext(false, null, true, null, false, null, false);
else if (!opCtx.isKeepBinary())
newOpCtx = opCtx.keepBinary();
http://git-wip-us.apache.org/repos/asf/ignite/blob/f7d89fdb/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
index 333908f..51f8bef 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
@@ -586,7 +586,6 @@ public class GridReduceQueryExecutor {
IgniteProductVersion minNodeVer = cctx.shared().exchange().minimumNodeVersion(topVer);
- final boolean oldStyle = minNodeVer.compareToIgnoreTimestamp(DISTRIBUTED_JOIN_SINCE) < 0;
final boolean distributedJoins = qry.distributedJoins();
cancel.set(new Runnable() {
@@ -597,30 +596,18 @@ public class GridReduceQueryExecutor {
boolean retry = false;
- if (oldStyle && distributedJoins)
- throw new CacheException("Failed to enable distributed joins. Topology contains older data nodes.");
-
if (send(nodes,
- oldStyle ?
- new GridQueryRequest(qryReqId,
- r.pageSize,
- space,
- mapQrys,
- topVer,
- extraSpaces(space, qry.spaces()),
- null,
- timeoutMillis) :
- new GridH2QueryRequest()
- .requestId(qryReqId)
- .topologyVersion(topVer)
- .pageSize(r.pageSize)
- .caches(qry.caches())
- .tables(distributedJoins ? qry.tables() : null)
- .partitions(convert(partsMap))
- .queries(mapQrys)
- .flags(distributedJoins ? GridH2QueryRequest.FLAG_DISTRIBUTED_JOINS : 0)
- .timeout(timeoutMillis),
- oldStyle && partsMap != null ? new ExplicitPartitionsSpecializer(partsMap) : null,
+ new GridH2QueryRequest()
+ .requestId(qryReqId)
+ .topologyVersion(topVer)
+ .pageSize(r.pageSize)
+ .caches(qry.caches())
+ .tables(distributedJoins ? qry.tables() : null)
+ .partitions(convert(partsMap))
+ .queries(mapQrys)
+ .flags(distributedJoins ? GridH2QueryRequest.FLAG_DISTRIBUTED_JOINS : 0)
+ .timeout(timeoutMillis),
+ null,
distributedJoins)
) {
awaitAllReplies(r, nodes);
[13/50] [abbrv] ignite git commit: Merge with master - WIP.
Posted by ag...@apache.org.
Merge with master - WIP.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/8483e8fa
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/8483e8fa
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/8483e8fa
Branch: refs/heads/ignite-3477
Commit: 8483e8faeb7282d2a1483b1f51b4b1e9b7a0851e
Parents: 893ddf0 08606bd
Author: Ilya Lantukh <il...@gridgain.com>
Authored: Wed Dec 21 19:43:36 2016 +0300
Committer: Ilya Lantukh <il...@gridgain.com>
Committed: Wed Dec 21 19:43:36 2016 +0300
----------------------------------------------------------------------
README.md | 8 +
RELEASE_NOTES.txt | 22 +
assembly/dependencies-fabric-lgpl.xml | 1 +
assembly/dependencies-fabric.xml | 1 +
assembly/release-fabric-base.xml | 1 +
bin/ignite.bat | 5 +
bin/include/setenv.bat | 8 -
bin/include/setenv.sh | 31 -
examples/pom-standalone-lgpl.xml | 6 +
examples/pom.xml | 8 +-
examples/redis/redis-example.php | 82 +
examples/redis/redis-example.py | 62 +
examples/schema-import/pom.xml | 2 +-
.../examples/datagrid/SpatialQueryExample.java | 106 +
.../ignite/examples/ExampleNodeStartup.java | 2 +-
.../examples/datagrid/CachePutGetExample.java | 2 +-
.../examples/datagrid/CacheQueryDmlExample.java | 163 +
.../scalar/examples/ScalarJvmCloudExample.scala | 2 +-
.../SpatialQueryExampleMultiNodeSelfTest.java | 31 +
.../examples/SpatialQueryExampleSelfTest.java | 33 +
.../IgniteLgplExamplesSelfTestSuite.java | 4 +
.../CacheExamplesMultiNodeSelfTest.java | 7 +
.../ignite/examples/CacheExamplesSelfTest.java | 8 +
modules/aop/pom.xml | 2 +-
modules/apache-license-gen/pom.xml | 2 +-
modules/aws/pom.xml | 2 +-
.../s3/S3CheckpointManagerSelfTest.java | 3 +
.../checkpoint/s3/S3CheckpointSpiSelfTest.java | 4 +
.../s3/S3CheckpointSpiStartStopSelfTest.java | 7 +
.../s3/S3SessionCheckpointSelfTest.java | 2 +
.../s3/TcpDiscoveryS3IpFinderSelfTest.java | 7 +
.../ignite/testsuites/IgniteS3TestSuite.java | 15 +-
modules/benchmarks/pom.xml | 2 +-
.../jmh/misc/JmhIncrementBenchmark.java | 95 +
modules/camel/pom.xml | 2 +-
modules/cassandra/README.txt | 8 +-
modules/cassandra/licenses/apache-2.0.txt | 202 -
modules/cassandra/pom.xml | 331 +-
modules/cassandra/serializers/README.txt | 34 +
.../serializers/licenses/apache-2.0.txt | 202 +
modules/cassandra/serializers/pom.xml | 129 +
.../cassandra/serializer/KryoSerializer.java | 95 +
.../apache/ignite/tests/KryoSerializerTest.java | 70 +
.../java/org/apache/ignite/tests/MyPojo.java | 102 +
.../store/cassandra/CassandraCacheStore.java | 409 -
.../cassandra/CassandraCacheStoreFactory.java | 200 -
.../store/cassandra/common/CassandraHelper.java | 133 -
.../cassandra/common/PropertyMappingHelper.java | 220 -
.../store/cassandra/common/RandomSleeper.java | 104 -
.../store/cassandra/common/SystemHelper.java | 46 -
.../store/cassandra/common/package-info.java | 21 -
.../store/cassandra/datasource/Credentials.java | 37 -
.../store/cassandra/datasource/DataSource.java | 550 -
.../cassandra/datasource/PlainCredentials.java | 50 -
.../cassandra/datasource/package-info.java | 21 -
.../cache/store/cassandra/package-info.java | 21 -
.../persistence/KeyPersistenceSettings.java | 274 -
.../KeyValuePersistenceSettings.java | 478 -
.../persistence/PersistenceController.java | 421 -
.../persistence/PersistenceSettings.java | 335 -
.../persistence/PersistenceStrategy.java | 62 -
.../store/cassandra/persistence/PojoField.java | 219 -
.../cassandra/persistence/PojoKeyField.java | 91 -
.../cassandra/persistence/PojoValueField.java | 152 -
.../persistence/ValuePersistenceSettings.java | 107 -
.../cassandra/persistence/package-info.java | 21 -
.../cassandra/serializer/JavaSerializer.java | 81 -
.../cassandra/serializer/KryoSerializer.java | 93 -
.../store/cassandra/serializer/Serializer.java | 43 -
.../cassandra/serializer/package-info.java | 21 -
.../session/BatchExecutionAssistant.java | 95 -
.../cassandra/session/BatchLoaderAssistant.java | 47 -
.../cassandra/session/CassandraSession.java | 60 -
.../cassandra/session/CassandraSessionImpl.java | 832 --
.../cassandra/session/ExecutionAssistant.java | 77 -
.../session/GenericBatchExecutionAssistant.java | 71 -
.../session/LoadCacheCustomQueryWorker.java | 105 -
.../store/cassandra/session/package-info.java | 21 -
.../cassandra/session/pool/SessionPool.java | 173 -
.../cassandra/session/pool/SessionWrapper.java | 71 -
.../cassandra/session/pool/package-info.java | 21 -
.../store/cassandra/utils/DDLGenerator.java | 64 -
.../store/cassandra/utils/package-info.java | 21 -
.../cassandra/src/test/bootstrap/aws/README.txt | 13 -
.../aws/cassandra/cassandra-bootstrap.sh | 336 -
.../bootstrap/aws/cassandra/cassandra-env.sh | 287 -
.../bootstrap/aws/cassandra/cassandra-start.sh | 217 -
.../aws/cassandra/cassandra-template.yaml | 888 --
.../cassandra/src/test/bootstrap/aws/common.sh | 1481 --
modules/cassandra/src/test/bootstrap/aws/env.sh | 113 -
.../test/bootstrap/aws/ganglia/agent-start.sh | 75 -
.../bootstrap/aws/ganglia/ganglia-bootstrap.sh | 417 -
.../bootstrap/aws/ignite/ignite-bootstrap.sh | 336 -
.../ignite/ignite-cassandra-server-template.xml | 190 -
.../src/test/bootstrap/aws/ignite/ignite-env.sh | 29 -
.../test/bootstrap/aws/ignite/ignite-start.sh | 266 -
.../src/test/bootstrap/aws/logs-collector.sh | 173 -
.../tests/ignite-cassandra-client-template.xml | 192 -
.../test/bootstrap/aws/tests/tests-bootstrap.sh | 317 -
.../test/bootstrap/aws/tests/tests-manager.sh | 458 -
.../test/bootstrap/aws/tests/tests-report.sh | 499 -
.../CassandraDirectPersistenceLoadTest.java | 107 -
.../tests/CassandraDirectPersistenceTest.java | 371 -
.../apache/ignite/tests/DDLGeneratorTest.java | 43 -
.../tests/IgnitePersistentStoreLoadTest.java | 111 -
.../ignite/tests/IgnitePersistentStoreTest.java | 369 -
.../LoadTestsCassandraArtifactsCreator.java | 104 -
.../org/apache/ignite/tests/load/Generator.java | 27 -
.../apache/ignite/tests/load/IntGenerator.java | 33 -
.../ignite/tests/load/LoadTestDriver.java | 238 -
.../apache/ignite/tests/load/LongGenerator.java | 28 -
.../ignite/tests/load/PersonGenerator.java | 43 -
.../ignite/tests/load/PersonIdGenerator.java | 31 -
.../ignite/tests/load/StringGenerator.java | 28 -
.../org/apache/ignite/tests/load/Worker.java | 429 -
.../tests/load/cassandra/BulkReadWorker.java | 63 -
.../tests/load/cassandra/BulkWriteWorker.java | 52 -
.../ignite/tests/load/cassandra/ReadWorker.java | 51 -
.../tests/load/cassandra/WriteWorker.java | 51 -
.../tests/load/cassandra/package-info.java | 21 -
.../tests/load/ignite/BulkReadWorker.java | 52 -
.../tests/load/ignite/BulkWriteWorker.java | 52 -
.../ignite/tests/load/ignite/ReadWorker.java | 51 -
.../ignite/tests/load/ignite/WriteWorker.java | 51 -
.../ignite/tests/load/ignite/package-info.java | 21 -
.../apache/ignite/tests/load/package-info.java | 21 -
.../org/apache/ignite/tests/package-info.java | 21 -
.../org/apache/ignite/tests/pojos/Person.java | 246 -
.../org/apache/ignite/tests/pojos/PersonId.java | 110 -
.../apache/ignite/tests/pojos/package-info.java | 21 -
.../ignite/tests/utils/CacheStoreHelper.java | 64 -
.../tests/utils/CassandraAdminCredentials.java | 36 -
.../ignite/tests/utils/CassandraHelper.java | 358 -
.../tests/utils/CassandraLifeCycleBean.java | 149 -
.../utils/CassandraRegularCredentials.java | 36 -
.../ignite/tests/utils/TestCacheSession.java | 91 -
.../apache/ignite/tests/utils/TestsHelper.java | 375 -
.../apache/ignite/tests/utils/package-info.java | 21 -
.../src/test/resources/log4j.properties | 119 -
.../tests/cassandra/connection-settings.xml | 52 -
.../tests/cassandra/connection.properties | 17 -
.../tests/cassandra/credentials.properties | 22 -
.../tests/cassandra/embedded-cassandra.yaml | 119 -
.../ignite/tests/cassandra/keyspaces.properties | 17 -
.../tests/persistence/blob/ignite-config.xml | 94 -
.../persistence/blob/persistence-settings-1.xml | 21 -
.../persistence/blob/persistence-settings-2.xml | 21 -
.../persistence/blob/persistence-settings-3.xml | 29 -
.../tests/persistence/pojo/ignite-config.xml | 113 -
.../persistence/pojo/persistence-settings-1.xml | 21 -
.../persistence/pojo/persistence-settings-2.xml | 21 -
.../persistence/pojo/persistence-settings-3.xml | 173 -
.../persistence/primitive/ignite-config.xml | 94 -
.../primitive/ignite-remote-client-config.xml | 99 -
.../primitive/ignite-remote-server-config.xml | 110 -
.../primitive/persistence-settings-1.xml | 21 -
.../primitive/persistence-settings-2.xml | 21 -
.../src/test/resources/tests.properties | 50 -
.../src/test/scripts/cassandra-load-tests.bat | 41 -
.../src/test/scripts/cassandra-load-tests.sh | 39 -
.../src/test/scripts/ignite-load-tests.bat | 41 -
.../src/test/scripts/ignite-load-tests.sh | 39 -
modules/cassandra/src/test/scripts/jvm-opt.sh | 21 -
modules/cassandra/src/test/scripts/jvm-opts.bat | 24 -
.../scripts/recreate-cassandra-artifacts.bat | 41 -
.../scripts/recreate-cassandra-artifacts.sh | 39 -
modules/cassandra/store/README.txt | 32 +
modules/cassandra/store/licenses/apache-2.0.txt | 202 +
modules/cassandra/store/pom.xml | 305 +
.../store/cassandra/CassandraCacheStore.java | 519 +
.../cassandra/CassandraCacheStoreFactory.java | 200 +
.../store/cassandra/common/CassandraHelper.java | 176 +
.../cassandra/common/PropertyMappingHelper.java | 219 +
.../store/cassandra/common/RandomSleeper.java | 104 +
.../store/cassandra/common/SystemHelper.java | 46 +
.../store/cassandra/common/package-info.java | 21 +
.../store/cassandra/datasource/Credentials.java | 39 +
.../store/cassandra/datasource/DataSource.java | 647 +
.../cassandra/datasource/PlainCredentials.java | 53 +
.../cassandra/datasource/package-info.java | 21 +
.../cache/store/cassandra/package-info.java | 21 +
.../persistence/KeyPersistenceSettings.java | 305 +
.../KeyValuePersistenceSettings.java | 526 +
.../persistence/PersistenceController.java | 462 +
.../persistence/PersistenceSettings.java | 446 +
.../persistence/PersistenceStrategy.java | 62 +
.../store/cassandra/persistence/PojoField.java | 245 +
.../cassandra/persistence/PojoKeyField.java | 87 +
.../cassandra/persistence/PojoValueField.java | 143 +
.../persistence/ValuePersistenceSettings.java | 120 +
.../cassandra/persistence/package-info.java | 21 +
.../cassandra/serializer/JavaSerializer.java | 80 +
.../store/cassandra/serializer/Serializer.java | 43 +
.../cassandra/serializer/package-info.java | 21 +
.../session/BatchExecutionAssistant.java | 102 +
.../cassandra/session/BatchLoaderAssistant.java | 47 +
.../cassandra/session/CassandraSession.java | 70 +
.../cassandra/session/CassandraSessionImpl.java | 943 ++
.../cassandra/session/ExecutionAssistant.java | 84 +
.../session/GenericBatchExecutionAssistant.java | 71 +
.../session/LoadCacheCustomQueryWorker.java | 105 +
.../store/cassandra/session/package-info.java | 21 +
.../cassandra/session/pool/SessionPool.java | 173 +
.../cassandra/session/pool/SessionWrapper.java | 71 +
.../cassandra/session/pool/package-info.java | 21 +
.../session/transaction/BaseMutation.java | 68 +
.../session/transaction/DeleteMutation.java | 57 +
.../cassandra/session/transaction/Mutation.java | 63 +
.../session/transaction/WriteMutation.java | 60 +
.../session/transaction/package-info.java | 21 +
.../store/cassandra/utils/DDLGenerator.java | 76 +
.../store/cassandra/utils/package-info.java | 21 +
.../store/src/test/bootstrap/aws/README.txt | 13 +
.../aws/cassandra/cassandra-bootstrap.sh | 336 +
.../bootstrap/aws/cassandra/cassandra-env.sh | 287 +
.../bootstrap/aws/cassandra/cassandra-start.sh | 217 +
.../aws/cassandra/cassandra-template.yaml | 888 ++
.../store/src/test/bootstrap/aws/common.sh | 1481 ++
.../store/src/test/bootstrap/aws/env.sh | 113 +
.../test/bootstrap/aws/ganglia/agent-start.sh | 75 +
.../bootstrap/aws/ganglia/ganglia-bootstrap.sh | 417 +
.../bootstrap/aws/ignite/ignite-bootstrap.sh | 336 +
.../ignite/ignite-cassandra-server-template.xml | 190 +
.../src/test/bootstrap/aws/ignite/ignite-env.sh | 29 +
.../test/bootstrap/aws/ignite/ignite-start.sh | 266 +
.../src/test/bootstrap/aws/logs-collector.sh | 173 +
.../tests/ignite-cassandra-client-template.xml | 192 +
.../test/bootstrap/aws/tests/tests-bootstrap.sh | 317 +
.../test/bootstrap/aws/tests/tests-manager.sh | 458 +
.../test/bootstrap/aws/tests/tests-report.sh | 499 +
.../CassandraDirectPersistenceLoadTest.java | 107 +
.../tests/CassandraDirectPersistenceTest.java | 696 +
.../ignite/tests/CassandraLocalServer.java | 59 +
.../apache/ignite/tests/DDLGeneratorTest.java | 57 +
.../tests/DatasourceSerializationTest.java | 158 +
.../tests/IgnitePersistentStoreLoadTest.java | 111 +
.../ignite/tests/IgnitePersistentStoreTest.java | 666 +
.../LoadTestsCassandraArtifactsCreator.java | 104 +
.../org/apache/ignite/tests/load/Generator.java | 27 +
.../apache/ignite/tests/load/IntGenerator.java | 33 +
.../ignite/tests/load/LoadTestDriver.java | 238 +
.../apache/ignite/tests/load/LongGenerator.java | 28 +
.../ignite/tests/load/PersonGenerator.java | 43 +
.../ignite/tests/load/PersonIdGenerator.java | 31 +
.../ignite/tests/load/StringGenerator.java | 28 +
.../org/apache/ignite/tests/load/Worker.java | 429 +
.../tests/load/cassandra/BulkReadWorker.java | 63 +
.../tests/load/cassandra/BulkWriteWorker.java | 52 +
.../ignite/tests/load/cassandra/ReadWorker.java | 51 +
.../tests/load/cassandra/WriteWorker.java | 51 +
.../tests/load/cassandra/package-info.java | 21 +
.../tests/load/ignite/BulkReadWorker.java | 52 +
.../tests/load/ignite/BulkWriteWorker.java | 52 +
.../ignite/tests/load/ignite/ReadWorker.java | 51 +
.../ignite/tests/load/ignite/WriteWorker.java | 51 +
.../ignite/tests/load/ignite/package-info.java | 21 +
.../apache/ignite/tests/load/package-info.java | 21 +
.../org/apache/ignite/tests/package-info.java | 21 +
.../org/apache/ignite/tests/pojos/Person.java | 279 +
.../org/apache/ignite/tests/pojos/PersonId.java | 110 +
.../org/apache/ignite/tests/pojos/Product.java | 123 +
.../apache/ignite/tests/pojos/ProductOrder.java | 148 +
.../apache/ignite/tests/pojos/package-info.java | 21 +
.../ignite/tests/utils/CacheStoreHelper.java | 77 +
.../tests/utils/CassandraAdminCredentials.java | 38 +
.../ignite/tests/utils/CassandraHelper.java | 358 +
.../tests/utils/CassandraLifeCycleBean.java | 149 +
.../utils/CassandraRegularCredentials.java | 38 +
.../ignite/tests/utils/TestCacheSession.java | 95 +
.../ignite/tests/utils/TestTransaction.java | 132 +
.../apache/ignite/tests/utils/TestsHelper.java | 660 +
.../apache/ignite/tests/utils/package-info.java | 21 +
.../store/src/test/resources/log4j.properties | 119 +
.../tests/cassandra/connection-settings.xml | 52 +
.../tests/cassandra/connection.properties | 17 +
.../tests/cassandra/credentials.properties | 22 +
.../tests/cassandra/embedded-cassandra.yaml | 119 +
.../ignite/tests/cassandra/keyspaces.properties | 17 +
.../tests/persistence/blob/ignite-config.xml | 94 +
.../persistence/blob/persistence-settings-1.xml | 21 +
.../persistence/blob/persistence-settings-2.xml | 21 +
.../persistence/blob/persistence-settings-3.xml | 29 +
.../tests/persistence/pojo/ignite-config.xml | 169 +
.../ignite/tests/persistence/pojo/order.xml | 21 +
.../persistence/pojo/persistence-settings-1.xml | 21 +
.../persistence/pojo/persistence-settings-2.xml | 21 +
.../persistence/pojo/persistence-settings-3.xml | 175 +
.../persistence/pojo/persistence-settings-4.xml | 175 +
.../ignite/tests/persistence/pojo/product.xml | 21 +
.../persistence/primitive/ignite-config.xml | 94 +
.../primitive/ignite-remote-client-config.xml | 99 +
.../primitive/ignite-remote-server-config.xml | 110 +
.../primitive/persistence-settings-1.xml | 21 +
.../primitive/persistence-settings-2.xml | 21 +
.../store/src/test/resources/tests.properties | 65 +
.../src/test/scripts/cassandra-load-tests.bat | 41 +
.../src/test/scripts/cassandra-load-tests.sh | 39 +
.../src/test/scripts/ignite-load-tests.bat | 41 +
.../store/src/test/scripts/ignite-load-tests.sh | 39 +
.../cassandra/store/src/test/scripts/jvm-opt.sh | 21 +
.../store/src/test/scripts/jvm-opts.bat | 24 +
.../scripts/recreate-cassandra-artifacts.bat | 41 +
.../scripts/recreate-cassandra-artifacts.sh | 39 +
modules/clients/pom.xml | 9 +-
.../clients/src/test/config/jdbc-bin-config.xml | 54 +
.../client/ClientReconnectionSelfTest.java | 4 +-
.../client/router/TcpSslRouterSelfTest.java | 7 +-
.../client/suite/IgniteClientTestSuite.java | 75 +-
.../jdbc2/JdbcAbstractDmlStatementSelfTest.java | 263 +
.../JdbcAbstractUpdateStatementSelfTest.java | 37 +
...BinaryMarshallerInsertStatementSelfTest.java | 37 +
...cBinaryMarshallerMergeStatementSelfTest.java | 37 +
.../jdbc2/JdbcDeleteStatementSelfTest.java | 49 +
.../jdbc2/JdbcInsertStatementSelfTest.java | 122 +
.../jdbc2/JdbcMergeStatementSelfTest.java | 91 +
.../internal/jdbc2/JdbcNoDefaultCacheTest.java | 40 +-
.../internal/jdbc2/JdbcResultSetSelfTest.java | 109 +-
.../rest/ClientMemcachedProtocolSelfTest.java | 4 +-
.../rest/RestProcessorMultiStartSelfTest.java | 48 +-
.../rest/protocols/tcp/MockNioSession.java | 11 +
.../tcp/redis/RedisProtocolSelfTest.java | 559 +
.../jdbc/suite/IgniteJdbcDriverTestSuite.java | 5 +
modules/cloud/pom.xml | 2 +-
.../TcpDiscoveryCloudIpFinderSelfTest.java | 6 +-
.../ignite/testsuites/IgniteCloudTestSuite.java | 5 +-
modules/codegen/pom.xml | 2 +-
modules/core/pom.xml | 2 +-
.../src/main/java/org/apache/ignite/Ignite.java | 77 +-
.../java/org/apache/ignite/IgniteCache.java | 21 +
.../org/apache/ignite/IgniteDataStreamer.java | 2 +-
.../java/org/apache/ignite/IgniteScheduler.java | 13 +
.../java/org/apache/ignite/IgniteServices.java | 48 +-
.../apache/ignite/IgniteSystemProperties.java | 49 +
.../binary/BinaryAbstractIdentityResolver.java | 53 +
.../binary/BinaryArrayIdentityResolver.java | 224 +
.../binary/BinaryFieldIdentityResolver.java | 307 +
.../ignite/binary/BinaryIdentityResolver.java | 42 +
.../ignite/binary/BinaryTypeConfiguration.java | 27 +-
.../org/apache/ignite/cache/QueryEntity.java | 27 +
.../affinity/fair/FairAffinityFunction.java | 2 +-
.../rendezvous/RendezvousAffinityFunction.java | 82 +-
.../cache/query/QueryCancelledException.java | 35 +
.../apache/ignite/cache/query/QueryCursor.java | 8 +-
.../ignite/cache/query/QueryDetailMetrics.java | 98 +
.../apache/ignite/cache/query/QueryMetrics.java | 2 +-
.../org/apache/ignite/cache/query/SpiQuery.java | 8 +-
.../ignite/cache/query/SqlFieldsQuery.java | 28 +-
.../org/apache/ignite/cache/query/SqlQuery.java | 25 +
.../cache/store/CacheLoadOnlyStoreAdapter.java | 6 +-
.../store/jdbc/CacheAbstractJdbcStore.java | 209 +-
.../cache/store/jdbc/CacheJdbcBlobStore.java | 4 +-
.../cache/store/jdbc/CacheJdbcPojoStore.java | 26 +-
.../store/jdbc/CacheJdbcPojoStoreFactory.java | 45 +-
.../ignite/cache/store/jdbc/JdbcType.java | 2 +-
.../store/jdbc/dialect/BasicJdbcDialect.java | 12 +-
.../cache/store/jdbc/dialect/DB2Dialect.java | 14 +-
.../cache/store/jdbc/dialect/H2Dialect.java | 5 +-
.../cache/store/jdbc/dialect/JdbcDialect.java | 18 +-
.../cache/store/jdbc/dialect/MySQLDialect.java | 9 +-
.../cache/store/jdbc/dialect/OracleDialect.java | 13 +-
.../store/jdbc/dialect/SQLServerDialect.java | 22 +-
.../apache/ignite/compute/ComputeTaskSpis.java | 8 +-
.../configuration/CacheConfiguration.java | 97 +-
.../configuration/FileSystemConfiguration.java | 2 +-
.../configuration/IgniteConfiguration.java | 66 +-
.../ignite/configuration/OdbcConfiguration.java | 98 +-
.../java/org/apache/ignite/igfs/IgfsPath.java | 14 +-
.../org/apache/ignite/igfs/IgfsPathSummary.java | 3 +-
.../local/LocalIgfsSecondaryFileSystem.java | 131 +-
.../internal/ComputeTaskInternalFuture.java | 11 +
.../internal/GridEventConsumeHandler.java | 15 +-
.../ignite/internal/GridJobContextImpl.java | 4 +-
.../internal/GridJobSiblingsResponse.java | 3 +-
.../ignite/internal/GridKernalContext.java | 40 +
.../ignite/internal/GridKernalContextImpl.java | 68 +-
.../apache/ignite/internal/GridLoggerProxy.java | 3 +-
.../internal/GridMessageListenHandler.java | 13 +-
.../internal/GridPerformanceSuggestions.java | 2 +-
.../ignite/internal/GridTaskSessionImpl.java | 15 +-
.../org/apache/ignite/internal/GridTopic.java | 7 +-
.../ignite/internal/IgniteComponentType.java | 11 +-
.../ignite/internal/IgniteInternalFuture.java | 11 +
.../apache/ignite/internal/IgniteKernal.java | 182 +-
.../ignite/internal/IgniteSchedulerImpl.java | 18 +
.../ignite/internal/IgniteServicesImpl.java | 4 +-
.../org/apache/ignite/internal/IgnitionEx.java | 223 +-
.../ignite/internal/MarshallerContextImpl.java | 12 +-
.../internal/binary/BinaryClassDescriptor.java | 37 +-
.../ignite/internal/binary/BinaryContext.java | 90 +-
.../internal/binary/BinaryEnumObjectImpl.java | 8 +-
.../ignite/internal/binary/BinaryFieldImpl.java | 10 +-
.../internal/binary/BinaryMarshaller.java | 23 +-
.../ignite/internal/binary/BinaryObjectEx.java | 8 +
.../internal/binary/BinaryObjectExImpl.java | 247 +-
.../internal/binary/BinaryObjectImpl.java | 68 +-
.../binary/BinaryObjectOffheapImpl.java | 69 +-
.../internal/binary/BinaryPrimitives.java | 30 +-
.../internal/binary/BinaryReaderExImpl.java | 24 +
.../internal/binary/BinaryReaderHandles.java | 2 +-
.../binary/BinarySerializedFieldComparator.java | 343 +
.../ignite/internal/binary/BinaryUtils.java | 5 +-
.../internal/binary/BinaryWriterExImpl.java | 93 +-
.../internal/binary/GridBinaryMarshaller.java | 2 +-
.../binary/builder/BinaryBuilderReader.java | 11 +
.../binary/builder/BinaryBuilderSerializer.java | 4 +
.../binary/builder/BinaryObjectBuilderImpl.java | 29 +-
.../streams/BinaryAbstractInputStream.java | 5 +
.../streams/BinaryAbstractOutputStream.java | 5 +
.../binary/streams/BinaryHeapInputStream.java | 9 +-
.../binary/streams/BinaryHeapOutputStream.java | 7 +-
.../streams/BinaryMemoryAllocatorChunk.java | 3 +-
.../streams/BinaryOffheapInputStream.java | 14 +-
.../streams/BinaryOffheapOutputStream.java | 8 +-
.../internal/binary/streams/BinaryStream.java | 12 +-
.../client/GridClientConfiguration.java | 1 -
.../GridClientConnectionManagerAdapter.java | 1 +
.../GridClientOptimizedMarshaller.java | 5 +-
.../GridClientZipOptimizedMarshaller.java | 5 +-
.../internal/cluster/ClusterGroupAdapter.java | 2 +-
.../cluster/ClusterNodeLocalMapImpl.java | 3 +-
.../igfs/common/IgfsControlResponse.java | 19 +-
.../internal/igfs/common/IgfsMarshaller.java | 14 +-
.../ignite/internal/jdbc/JdbcResultSet.java | 10 +-
.../apache/ignite/internal/jdbc/JdbcUtils.java | 4 +-
.../ignite/internal/jdbc2/JdbcConnection.java | 17 +
.../internal/jdbc2/JdbcPreparedStatement.java | 71 +-
.../ignite/internal/jdbc2/JdbcQueryTask.java | 5 +-
.../ignite/internal/jdbc2/JdbcQueryTaskV2.java | 406 +
.../ignite/internal/jdbc2/JdbcResultSet.java | 81 +-
.../internal/jdbc2/JdbcSqlFieldsQuery.java | 49 +
.../ignite/internal/jdbc2/JdbcStatement.java | 213 +-
.../apache/ignite/internal/jdbc2/JdbcUtils.java | 25 +-
.../internal/managers/GridManagerAdapter.java | 15 +
.../checkpoint/GridCheckpointManager.java | 6 +-
.../managers/communication/GridIoManager.java | 224 +-
.../managers/communication/GridIoMessage.java | 13 +
.../communication/GridIoMessageFactory.java | 81 +-
.../communication/IgniteIoTestMessage.java | 13 +-
.../deployment/GridDeploymentCommunication.java | 4 +-
.../GridDeploymentPerVersionStore.java | 2 +-
.../discovery/GridDiscoveryManager.java | 192 +-
.../eventstorage/GridEventStorageManager.java | 18 +-
.../loadbalancer/GridLoadBalancerManager.java | 10 +-
.../processors/affinity/AffinityAssignment.java | 88 +
.../affinity/GridAffinityAssignment.java | 8 +-
.../affinity/GridAffinityAssignmentCache.java | 35 +-
.../affinity/GridAffinityProcessor.java | 89 +-
.../processors/affinity/GridAffinityUtils.java | 12 +-
.../affinity/HistoryAffinityAssignment.java | 169 +
.../cache/CacheAffinitySharedManager.java | 57 +-
.../cache/CacheEntrySerializablePredicate.java | 4 +-
.../cache/CacheInvokeDirectResult.java | 4 +-
.../cache/DynamicCacheChangeBatch.java | 7 +
.../processors/cache/GridCacheAdapter.java | 42 +-
.../cache/GridCacheAffinityManager.java | 6 +-
.../processors/cache/GridCacheContext.java | 2 +-
.../cache/GridCacheDeploymentManager.java | 4 +-
.../processors/cache/GridCacheEntryEx.java | 16 +-
.../processors/cache/GridCacheEventManager.java | 10 +-
.../processors/cache/GridCacheIoManager.java | 89 +-
.../processors/cache/GridCacheMapEntry.java | 59 +-
.../processors/cache/GridCacheMessage.java | 11 +-
.../processors/cache/GridCacheMvccManager.java | 77 +
.../GridCachePartitionExchangeManager.java | 387 +-
.../processors/cache/GridCachePreloader.java | 19 +-
.../cache/GridCachePreloaderAdapter.java | 16 +-
.../processors/cache/GridCacheProcessor.java | 306 +-
.../GridCacheReturnCompletableWrapper.java | 101 +
.../cache/GridCacheSharedContext.java | 25 +-
.../cache/GridCacheSharedTtlCleanupManager.java | 132 +
.../processors/cache/GridCacheTtlManager.java | 6 +
.../processors/cache/GridCacheUtilityKey.java | 6 +-
.../processors/cache/GridCacheUtils.java | 126 +-
.../cache/GridDeferredAckMessageSender.java | 219 +
.../processors/cache/IgniteCacheProxy.java | 98 +-
.../processors/cache/QueryCursorImpl.java | 117 +-
.../binary/CacheObjectBinaryProcessorImpl.java | 43 +-
.../distributed/GridDistributedLockRequest.java | 5 +
.../GridDistributedLockResponse.java | 4 +-
.../GridDistributedTxFinishResponse.java | 6 +
.../GridDistributedTxPrepareRequest.java | 4 +-
.../GridDistributedTxPrepareResponse.java | 4 +-
.../GridDistributedTxRemoteAdapter.java | 32 +-
.../GridDistributedUnlockRequest.java | 5 +
.../dht/GridClientPartitionTopology.java | 136 +-
.../dht/GridDhtAffinityAssignmentRequest.java | 2 +-
.../dht/GridDhtAffinityAssignmentResponse.java | 12 +-
.../distributed/dht/GridDhtCacheAdapter.java | 3 +-
.../distributed/dht/GridDhtLocalPartition.java | 2 +-
.../distributed/dht/GridDhtLockFuture.java | 23 +-
.../distributed/dht/GridDhtLockResponse.java | 9 +-
.../dht/GridDhtPartitionTopology.java | 31 +-
.../dht/GridDhtPartitionTopologyImpl.java | 282 +-
.../distributed/dht/GridDhtTxFinishFuture.java | 12 +-
.../distributed/dht/GridDhtTxFinishRequest.java | 33 +-
.../dht/GridDhtTxFinishResponse.java | 56 +-
.../dht/GridDhtTxOnePhaseCommitAckRequest.java | 134 +
.../distributed/dht/GridDhtTxPrepareFuture.java | 44 +-
.../dht/GridDhtTxPrepareRequest.java | 93 +-
.../cache/distributed/dht/GridDhtTxRemote.java | 6 +-
.../GridDhtAtomicAbstractUpdateFuture.java | 471 +
.../GridDhtAtomicAbstractUpdateRequest.java | 287 +
.../dht/atomic/GridDhtAtomicCache.java | 374 +-
.../atomic/GridDhtAtomicSingleUpdateFuture.java | 190 +
.../GridDhtAtomicSingleUpdateRequest.java | 683 +
.../dht/atomic/GridDhtAtomicUpdateFuture.java | 443 +-
.../dht/atomic/GridDhtAtomicUpdateRequest.java | 317 +-
.../dht/atomic/GridDhtAtomicUpdateResponse.java | 4 +-
...idNearAtomicAbstractSingleUpdateRequest.java | 562 +
.../GridNearAtomicAbstractUpdateFuture.java | 15 +-
.../GridNearAtomicAbstractUpdateRequest.java | 226 +
.../atomic/GridNearAtomicFullUpdateRequest.java | 1046 ++
...GridNearAtomicSingleUpdateFilterRequest.java | 226 +
.../GridNearAtomicSingleUpdateFuture.java | 143 +-
...GridNearAtomicSingleUpdateInvokeRequest.java | 307 +
.../GridNearAtomicSingleUpdateRequest.java | 360 +
.../dht/atomic/GridNearAtomicUpdateFuture.java | 42 +-
.../dht/atomic/GridNearAtomicUpdateRequest.java | 1119 --
.../atomic/GridNearAtomicUpdateResponse.java | 4 +-
.../dht/preloader/GridDhtForceKeysResponse.java | 4 +-
.../GridDhtPartitionDemandMessage.java | 4 +-
.../dht/preloader/GridDhtPartitionDemander.java | 233 +-
.../dht/preloader/GridDhtPartitionFullMap.java | 36 +-
.../dht/preloader/GridDhtPartitionMap2.java | 53 +-
.../GridDhtPartitionsAbstractMessage.java | 40 +-
.../GridDhtPartitionsExchangeFuture.java | 129 +-
.../preloader/GridDhtPartitionsFullMessage.java | 150 +-
.../GridDhtPartitionsSingleMessage.java | 132 +-
.../GridDhtPartitionsSingleRequest.java | 4 +-
.../dht/preloader/GridDhtPreloader.java | 55 +-
.../distributed/near/GridNearAtomicCache.java | 18 +-
.../distributed/near/GridNearCacheAdapter.java | 7 +
.../distributed/near/GridNearGetRequest.java | 5 +
.../distributed/near/GridNearGetResponse.java | 4 +-
...arOptimisticSerializableTxPrepareFuture.java | 4 +-
.../near/GridNearOptimisticTxPrepareFuture.java | 9 +-
.../GridNearPessimisticTxPrepareFuture.java | 4 +-
.../near/GridNearSingleGetResponse.java | 4 +-
.../near/GridNearTxFinishFuture.java | 112 +-
.../near/GridNearTxFinishResponse.java | 4 +-
.../local/atomic/GridLocalAtomicCache.java | 3 +
.../processors/cache/query/CacheQuery.java | 1 -
.../processors/cache/query/CacheQueryType.java | 2 +-
.../query/GridCacheDistributedQueryManager.java | 2 +-
.../cache/query/GridCacheLocalQueryFuture.java | 4 +-
.../cache/query/GridCacheQueryAdapter.java | 10 -
.../GridCacheQueryDetailMetricsAdapter.java | 248 +
.../query/GridCacheQueryDetailMetricsKey.java | 82 +
.../query/GridCacheQueryFutureAdapter.java | 2 -
.../cache/query/GridCacheQueryManager.java | 178 +-
.../query/GridCacheQueryMetricsAdapter.java | 37 +-
.../cache/query/GridCacheQueryRequest.java | 18 +-
.../cache/query/GridCacheQueryResponse.java | 4 +-
.../cache/query/GridCacheSqlQuery.java | 17 +-
.../cache/query/GridCacheTwoStepQuery.java | 253 -
.../cache/query/IgniteQueryErrorCode.java | 91 +
.../continuous/CacheContinuousQueryHandler.java | 21 +-
.../CacheContinuousQueryListener.java | 4 +-
.../continuous/CacheContinuousQueryManager.java | 6 +-
.../jdbc/GridCacheQueryJdbcMetadataTask.java | 4 +-
.../query/jdbc/GridCacheQueryJdbcTask.java | 6 +-
.../store/GridCacheStoreManagerAdapter.java | 2 +-
.../cache/store/GridCacheWriteBehindStore.java | 2 +-
.../cache/transactions/IgniteTxAdapter.java | 46 +-
.../cache/transactions/IgniteTxEntry.java | 49 +-
.../cache/transactions/IgniteTxHandler.java | 167 +-
.../transactions/IgniteTxLocalAdapter.java | 38 +-
.../cache/transactions/IgniteTxManager.java | 156 +-
.../GridCacheLazyPlainVersionedEntry.java | 6 +
.../version/GridCachePlainVersionedEntry.java | 5 +-
.../version/GridCacheRawVersionedEntry.java | 8 +-
.../IgniteCacheObjectProcessorImpl.java | 3 +-
.../clock/GridClockSyncProcessor.java | 2 +-
.../closure/GridClosureProcessor.java | 77 +-
.../processors/cluster/ClusterProcessor.java | 2 +-
.../processors/cluster/GridUpdateNotifier.java | 108 +-
.../continuous/GridContinuousHandler.java | 8 -
.../continuous/GridContinuousProcessor.java | 49 +-
.../processors/continuous/StartRequestData.java | 4 +-
.../datastreamer/DataStreamProcessor.java | 118 +-
.../datastreamer/DataStreamerImpl.java | 691 +-
.../datastructures/GridCacheQueueAdapter.java | 2 +-
.../processors/hadoop/HadoopClassLoader.java | 487 +
.../processors/hadoop/HadoopClasspathUtils.java | 424 +
.../processors/hadoop/HadoopDefaultJobInfo.java | 156 +
.../processors/hadoop/HadoopHelper.java | 62 +
.../internal/processors/hadoop/HadoopJob.java | 5 +
.../internal/processors/hadoop/HadoopJobId.java | 79 +-
.../processors/hadoop/HadoopJobInfo.java | 4 +-
.../processors/hadoop/HadoopJobProperty.java | 50 +-
.../processors/hadoop/HadoopLocations.java | 123 +
.../hadoop/HadoopMapReducePlanner.java | 1 +
.../hadoop/HadoopMapperAwareTaskOutput.java | 32 +
.../processors/hadoop/HadoopNoopHelper.java | 71 +
.../processors/hadoop/HadoopNoopProcessor.java | 4 +-
.../processors/hadoop/HadoopTaskInfo.java | 43 +
.../hadoop/message/HadoopMessage.java | 27 +
.../shuffle/HadoopDirectShuffleMessage.java | 243 +
.../hadoop/shuffle/HadoopShuffleAck.java | 170 +
.../shuffle/HadoopShuffleFinishRequest.java | 172 +
.../shuffle/HadoopShuffleFinishResponse.java | 142 +
.../hadoop/shuffle/HadoopShuffleMessage.java | 361 +
.../igfs/IgfsAbstractOutputStream.java | 266 +
.../processors/igfs/IgfsAckMessage.java | 5 +-
.../internal/processors/igfs/IgfsAsyncImpl.java | 12 +-
.../internal/processors/igfs/IgfsContext.java | 64 +-
.../processors/igfs/IgfsDataManager.java | 148 +-
.../processors/igfs/IgfsDeleteMessage.java | 5 +-
.../ignite/internal/processors/igfs/IgfsEx.java | 18 -
.../internal/processors/igfs/IgfsFileImpl.java | 5 +-
.../igfs/IgfsFragmentizerManager.java | 29 +-
.../internal/processors/igfs/IgfsImpl.java | 601 +-
.../processors/igfs/IgfsInputStreamAdapter.java | 51 -
.../processors/igfs/IgfsInputStreamImpl.java | 215 +-
.../processors/igfs/IgfsIpcHandler.java | 7 +-
.../processors/igfs/IgfsKernalContextAware.java | 32 +
.../processors/igfs/IgfsMetaManager.java | 1 -
.../processors/igfs/IgfsModeResolver.java | 3 +-
.../processors/igfs/IgfsOutputStreamImpl.java | 319 +-
.../igfs/IgfsOutputStreamProxyImpl.java | 163 +
.../internal/processors/igfs/IgfsPathIds.java | 2 +-
.../internal/processors/igfs/IgfsPaths.java | 9 +-
.../internal/processors/igfs/IgfsProcessor.java | 31 +-
.../igfs/IgfsSecondaryFileSystemImpl.java | 2 +-
.../internal/processors/igfs/IgfsServer.java | 5 +-
.../processors/igfs/IgfsThreadFactory.java | 61 +
.../internal/processors/igfs/IgfsUtils.java | 21 +-
.../local/LocalFileSystemIgfsFile.java | 9 +-
.../local/LocalFileSystemSizeVisitor.java | 60 +
.../secondary/local/LocalFileSystemUtils.java | 142 +
.../processors/job/GridJobProcessor.java | 21 +-
.../internal/processors/job/GridJobWorker.java | 16 +-
.../OsDiscoveryNodeValidationProcessor.java | 2 +-
.../processors/odbc/OdbcMessageParser.java | 26 +-
.../processors/odbc/OdbcNioListener.java | 2 +-
.../internal/processors/odbc/OdbcProcessor.java | 54 +-
.../odbc/OdbcQueryGetParamsMetaRequest.java | 60 +
.../odbc/OdbcQueryGetParamsMetaResult.java | 40 +
.../internal/processors/odbc/OdbcRequest.java | 3 +
.../processors/odbc/OdbcRequestHandler.java | 206 +-
.../internal/processors/odbc/OdbcUtils.java | 4 +-
.../processors/odbc/escape/OdbcEscapeType.java | 13 +-
.../processors/odbc/escape/OdbcEscapeUtils.java | 58 +-
.../offheap/GridOffHeapProcessor.java | 18 +-
.../platform/PlatformAbstractTarget.java | 290 +-
.../platform/PlatformAsyncTarget.java | 44 +
.../platform/PlatformConfigurationEx.java | 8 +
.../platform/PlatformContextImpl.java | 3 -
.../platform/PlatformNoopProcessor.java | 44 +-
.../processors/platform/PlatformProcessor.java | 51 +-
.../platform/PlatformProcessorImpl.java | 172 +-
.../processors/platform/PlatformTarget.java | 123 +-
.../platform/PlatformTargetProxy.java | 126 +
.../platform/PlatformTargetProxyImpl.java | 222 +
.../binary/PlatformBinaryProcessor.java | 96 +
.../platform/cache/PlatformCache.java | 980 +-
.../platform/cache/PlatformCacheExtension.java | 47 +
.../platform/cache/PlatformCacheIterator.java | 2 +-
.../cache/affinity/PlatformAffinity.java | 18 +-
.../affinity/PlatformAffinityFunction.java | 14 +-
.../PlatformAffinityFunctionTarget.java | 4 +-
.../cache/expiry/PlatformExpiryPolicy.java | 93 +
.../expiry/PlatformExpiryPolicyFactory.java | 76 +
.../query/PlatformAbstractQueryCursor.java | 55 +-
.../query/PlatformContinuousQueryProxy.java | 55 +
.../cache/query/PlatformFieldsQueryCursor.java | 6 +
.../cache/store/PlatformCacheStoreCallback.java | 61 -
.../callback/PlatformCallbackGateway.java | 11 +-
.../callback/PlatformCallbackUtils.java | 9 +-
.../platform/cluster/PlatformClusterGroup.java | 167 +-
.../platform/compute/PlatformCompute.java | 116 +-
.../cpp/PlatformCppConfigurationClosure.java | 13 +-
.../cpp/PlatformCppConfigurationEx.java | 7 +
.../datastreamer/PlatformDataStreamer.java | 107 +-
.../PlatformStreamReceiverImpl.java | 8 +-
.../datastructures/PlatformAtomicLong.java | 174 +-
.../datastructures/PlatformAtomicReference.java | 44 +-
.../datastructures/PlatformAtomicSequence.java | 126 +-
.../dotnet/PlatformDotNetCacheStore.java | 117 +-
.../PlatformDotNetConfigurationClosure.java | 13 +-
.../dotnet/PlatformDotNetConfigurationEx.java | 15 +
...PlatformDotNetEntityFrameworkCacheEntry.java | 102 +
...formDotNetEntityFrameworkCacheExtension.java | 353 +
.../PlatformDotNetEntityFrameworkCacheKey.java | 164 +
...EntityFrameworkIncreaseVersionProcessor.java | 45 +
.../platform/events/PlatformEvents.java | 205 +-
.../memory/PlatformInputStreamImpl.java | 14 +-
.../memory/PlatformOutputStreamImpl.java | 14 +-
.../platform/messaging/PlatformMessaging.java | 90 +-
.../platform/services/PlatformServices.java | 249 +-
.../transactions/PlatformTransactions.java | 222 +-
.../utils/PlatformConfigurationUtils.java | 111 +-
.../platform/utils/PlatformFutureUtils.java | 14 +-
.../utils/PlatformListenableTarget.java | 62 +
.../platform/utils/PlatformUtils.java | 8 +-
.../PlatformDotNetSessionCacheExtension.java | 144 +
.../websession/PlatformDotNetSessionData.java | 260 +
.../PlatformDotNetSessionLockProcessor.java | 84 +
.../PlatformDotNetSessionLockResult.java | 106 +
...tformDotNetSessionSetAndUnlockProcessor.java | 179 +
.../internal/processors/pool/PoolProcessor.java | 154 +
.../processors/query/GridQueryCancel.java | 83 +
.../processors/query/GridQueryFieldsResult.java | 3 +-
.../query/GridQueryFieldsResultAdapter.java | 3 +-
.../processors/query/GridQueryIndexing.java | 32 +-
.../processors/query/GridQueryProcessor.java | 796 +-
.../processors/query/GridQueryProperty.java | 20 +
.../query/GridQueryTypeDescriptor.java | 25 +
.../processors/query/IgniteSQLException.java | 89 +
.../twostep/messages/GridQueryFailResponse.java | 36 +-
.../h2/twostep/messages/GridQueryRequest.java | 31 +-
.../processors/rest/GridRestProcessor.java | 15 +
.../handlers/redis/GridRedisCommandHandler.java | 39 +
.../GridRedisConnectionCommandHandler.java | 74 +
.../redis/GridRedisRestCommandHandler.java | 102 +
.../exception/GridRedisGenericException.java | 37 +
.../redis/exception/GridRedisTypeException.java | 37 +
.../redis/key/GridRedisDelCommandHandler.java | 95 +
.../key/GridRedisExistsCommandHandler.java | 94 +
.../server/GridRedisDbSizeCommandHandler.java | 80 +
.../string/GridRedisAppendCommandHandler.java | 118 +
.../string/GridRedisGetCommandHandler.java | 107 +
.../string/GridRedisGetRangeCommandHandler.java | 128 +
.../string/GridRedisGetSetCommandHandler.java | 94 +
.../string/GridRedisIncrDecrCommandHandler.java | 193 +
.../string/GridRedisMGetCommandHandler.java | 94 +
.../string/GridRedisMSetCommandHandler.java | 91 +
.../string/GridRedisSetCommandHandler.java | 156 +
.../string/GridRedisSetRangeCommandHandler.java | 149 +
.../string/GridRedisStrlenCommandHandler.java | 89 +
.../handlers/task/GridTaskCommandHandler.java | 10 +-
.../protocols/tcp/GridClientPacketType.java | 3 +
.../tcp/GridTcpMemcachedNioListener.java | 15 +-
.../protocols/tcp/GridTcpRestNioListener.java | 16 +-
.../rest/protocols/tcp/GridTcpRestParser.java | 43 +-
.../protocols/tcp/redis/GridRedisCommand.java | 80 +
.../protocols/tcp/redis/GridRedisMessage.java | 219 +
.../tcp/redis/GridRedisNioListener.java | 146 +
.../tcp/redis/GridRedisProtocolParser.java | 314 +
.../service/GridServiceProcessor.java | 80 +-
.../session/GridTaskSessionProcessor.java | 9 +-
.../processors/task/GridTaskProcessor.java | 11 +-
.../processors/task/GridTaskWorker.java | 20 +-
.../util/GridBoundedConcurrentOrderedMap.java | 5 +
.../internal/util/GridBoundedPriorityQueue.java | 68 +
.../ignite/internal/util/GridHandleTable.java | 10 +-
.../ignite/internal/util/GridLogThrottle.java | 66 +-
.../apache/ignite/internal/util/GridUnsafe.java | 60 +-
.../ignite/internal/util/IgniteUtils.java | 521 +-
.../internal/util/SerializableTransient.java | 58 +
.../ignite/internal/util/StripedExecutor.java | 667 +
.../util/future/GridFinishedFuture.java | 24 +
.../internal/util/future/GridFutureAdapter.java | 27 +-
.../util/future/GridFutureChainListener.java | 30 +-
.../internal/util/io/GridUnsafeDataInput.java | 12 +-
.../internal/util/io/GridUnsafeDataOutput.java | 12 +-
.../internal/util/ipc/IpcToNioAdapter.java | 2 +-
.../ipc/shmem/IpcSharedMemoryNativeLoader.java | 2 +-
.../shmem/IpcSharedMemoryServerEndpoint.java | 19 +-
.../util/lang/IgniteSingletonIterator.java | 56 +
.../util/nio/GridCommunicationClient.java | 4 +-
.../nio/GridConnectionBytesVerifyFilter.java | 17 +-
.../util/nio/GridNioAsyncNotifyFilter.java | 10 +-
.../internal/util/nio/GridNioCodecFilter.java | 19 +-
.../ignite/internal/util/nio/GridNioFilter.java | 16 +-
.../internal/util/nio/GridNioFilterAdapter.java | 10 +-
.../internal/util/nio/GridNioFilterChain.java | 16 +-
.../ignite/internal/util/nio/GridNioFuture.java | 4 +-
.../util/nio/GridNioRecoveryDescriptor.java | 95 +-
.../ignite/internal/util/nio/GridNioServer.java | 1360 +-
.../internal/util/nio/GridNioSession.java | 11 +
.../internal/util/nio/GridNioSessionImpl.java | 49 +-
.../util/nio/GridNioSessionMetaKey.java | 7 +-
.../ignite/internal/util/nio/GridNioWorker.java | 48 +
.../util/nio/GridSelectorNioSessionImpl.java | 158 +-
.../util/nio/GridTcpNioCommunicationClient.java | 49 +-
.../internal/util/nio/SessionWriteRequest.java | 85 +
.../util/nio/ssl/BlockingSslHandler.java | 61 +-
.../internal/util/nio/ssl/GridNioSslFilter.java | 73 +-
.../util/nio/ssl/GridNioSslHandler.java | 21 +-
.../internal/util/nio/ssl/GridSslMeta.java | 94 +
.../util/offheap/unsafe/GridUnsafeMemory.java | 43 +-
.../util/tostring/GridToStringBuilder.java | 2 +-
.../cache/VisorCacheQueryDetailMetrics.java | 167 +
...sorCacheQueryDetailMetricsCollectorTask.java | 146 +
.../VisorCacheResetQueryDetailMetricsTask.java | 71 +
.../cache/VisorCacheResetQueryMetricsTask.java | 69 +
.../visor/cache/VisorCacheTypeMetadata.java | 70 +-
.../visor/event/VisorGridDiscoveryEventV2.java | 80 +
.../visor/misc/VisorResolveHostNameTask.java | 4 +-
.../visor/node/VisorNodeDataCollectorJob.java | 19 +-
.../internal/visor/query/VisorQueryJob.java | 2 +-
.../internal/visor/util/VisorEventMapper.java | 96 +-
.../internal/visor/util/VisorTaskUtils.java | 48 +-
.../apache/ignite/logger/java/JavaLogger.java | 14 +-
.../logger/java/JavaLoggerFileHandler.java | 10 +-
.../ignite/marshaller/AbstractMarshaller.java | 41 +-
.../AbstractNodeNameAwareMarshaller.java | 142 +
.../ignite/marshaller/MarshallerUtils.java | 80 +
.../ignite/marshaller/jdk/JdkMarshaller.java | 52 +-
.../optimized/OptimizedClassDescriptor.java | 90 +-
.../optimized/OptimizedMarshaller.java | 34 +-
.../optimized/OptimizedObjectOutputStream.java | 25 +-
.../dotnet/PlatformDotNetAffinityFunction.java | 9 +-
.../security/SecurityBasicPermissionSet.java | 107 +
.../security/SecurityPermissionSetBuilder.java | 222 +
.../org/apache/ignite/services/Service.java | 12 +-
.../org/apache/ignite/spi/IgniteSpiAdapter.java | 11 +
.../org/apache/ignite/spi/IgniteSpiContext.java | 26 +-
.../sharedfs/SharedFsCheckpointSpi.java | 10 +-
.../spi/checkpoint/sharedfs/SharedFsUtils.java | 4 +-
.../communication/tcp/TcpCommunicationSpi.java | 382 +-
.../tcp/TcpCommunicationSpiMBean.java | 40 +
.../ignite/spi/discovery/tcp/ClientImpl.java | 72 +-
.../ignite/spi/discovery/tcp/ServerImpl.java | 626 +-
.../spi/discovery/tcp/TcpDiscoveryImpl.java | 61 +-
.../spi/discovery/tcp/TcpDiscoverySpi.java | 28 +-
.../tcp/internal/TcpDiscoveryStatistics.java | 4 +
.../TcpDiscoveryMulticastIpFinder.java | 11 +-
.../sharedfs/TcpDiscoverySharedFsIpFinder.java | 2 +-
.../messages/TcpDiscoveryAbstractMessage.java | 7 +
.../messages/TcpDiscoveryClientAckResponse.java | 5 +
.../TcpDiscoveryClientHeartbeatMessage.java | 7 +-
.../TcpDiscoveryConnectionCheckMessage.java | 5 +
.../TcpDiscoveryCustomEventMessage.java | 3 +-
.../messages/TcpDiscoveryHeartbeatMessage.java | 5 +
.../TcpDiscoveryNodeAddFinishedMessage.java | 11 +
.../messages/TcpDiscoveryNodeAddedMessage.java | 33 +-
.../RoundRobinGlobalLoadBalancer.java | 16 +-
.../spi/swapspace/file/FileSwapSpaceSpi.java | 1947 +++
.../org/apache/ignite/stream/StreamAdapter.java | 4 +-
.../ignite/stream/socket/SocketStreamer.java | 19 +-
.../ignite/thread/IgniteThreadFactory.java | 8 +-
.../resources/META-INF/classnames.properties | 68 +-
.../core/src/main/resources/ignite.properties | 2 +-
.../AbstractAffinityFunctionSelfTest.java | 2 +-
.../CacheJdbcPojoStoreAbstractSelfTest.java | 161 +-
...heJdbcPojoStoreBinaryMarshallerSelfTest.java | 26 +-
...reBinaryMarshallerWithSqlEscapeSelfTest.java | 28 +
...dbcPojoStoreOptimizedMarshallerSelfTest.java | 2 +-
...ptimizedMarshallerWithSqlEscapeSelfTest.java | 28 +
.../apache/ignite/igfs/IgfsPathSelfTest.java | 6 -
.../ignite/internal/ClusterGroupSelfTest.java | 2 +-
.../internal/GridEventStorageSelfTest.java | 97 +-
.../IgniteClientReconnectCacheTest.java | 35 +
...RoundRobinErrorAfterClientReconnectTest.java | 99 +
.../MarshallerContextLockingSelfTest.java | 2 +-
.../BinaryArrayIdentityResolverSelfTest.java | 300 +
.../BinaryFieldIdentityResolverSelfTest.java | 333 +
.../binary/BinaryFieldsOffheapSelfTest.java | 2 +-
.../BinaryFooterOffsetsOffheapSelfTest.java | 2 +-
...ryIdentityResolverConfigurationSelfTest.java | 138 +
.../binary/BinaryMarshallerSelfTest.java | 434 +-
.../BinaryObjectBuilderAdditionalSelfTest.java | 171 +-
...naryObjectBuilderDefaultMappersSelfTest.java | 2 +-
.../binary/BinaryObjectToStringSelfTest.java | 92 +
.../BinarySerialiedFieldComparatorSelfTest.java | 568 +
...GridManagerLocalMessageListenerSelfTest.java | 222 +
.../managers/GridManagerStopSelfTest.java | 2 +
...unicationBalanceMultipleConnectionsTest.java | 28 +
.../IgniteCommunicationBalanceTest.java | 339 +
.../communication/IgniteIoTestMessagesTest.java | 95 +
.../IgniteVariousConnectionNumberTest.java | 166 +
.../GridDiscoveryManagerAliveCacheSelfTest.java | 6 +-
.../discovery/GridDiscoveryManagerSelfTest.java | 6 +-
.../CacheAtomicSingleMessageCountSelfTest.java | 259 +
...CacheExchangeMessageDuplicatedStateTest.java | 393 +
.../cache/CacheGetEntryAbstractTest.java | 4 +-
.../CacheSwapUnswapGetTestSmallQueueSize.java | 35 +
.../cache/CrossCacheTxRandomOperationsTest.java | 30 +-
...idAbstractCacheInterceptorRebalanceTest.java | 358 +
.../cache/GridCacheAbstractFullApiSelfTest.java | 53 +-
.../GridCacheAtomicMessageCountSelfTest.java | 24 +-
...heInterceptorAtomicOffheapRebalanceTest.java | 30 +
...GridCacheInterceptorAtomicRebalanceTest.java | 36 +
...ceptorTransactionalOffheapRebalanceTest.java | 35 +
...heInterceptorTransactionalRebalanceTest.java | 36 +
.../cache/GridCacheOffHeapCleanupTest.java | 169 +
...CacheOffHeapMultiThreadedUpdateSelfTest.java | 6 +-
.../GridCachePartitionedAffinitySpreadTest.java | 7 +-
...ridCacheStoreManagerDeserializationTest.java | 1 +
.../cache/GridCacheSwapCleanupTest.java | 99 +
.../processors/cache/GridCacheTestEntryEx.java | 11 +-
.../GridCacheTtlManagerEvictionSelfTest.java | 160 +
.../GridCacheTtlManagerNotificationTest.java | 107 +-
.../cache/GridCacheUtilsSelfTest.java | 64 +-
...calCacheStoreManagerDeserializationTest.java | 2 +-
.../cache/GridLocalIgniteSerializationTest.java | 378 +
.../IgniteCacheAtomicStopBusySelfTest.java | 10 +-
.../IgniteCacheConfigVariationsFullApiTest.java | 7 +-
.../cache/IgniteCacheDynamicStopSelfTest.java | 48 +-
...niteCacheExpireAndUpdateConsistencyTest.java | 7 +
.../IgniteCacheInterceptorSelfTestSuite.java | 5 +
.../IgniteCacheP2pUnmarshallingErrorTest.java | 2 +-
.../cache/IgniteCachePeekModesAbstractTest.java | 2 +-
.../cache/IgniteDynamicCacheStartSelfTest.java | 217 +-
.../MarshallerCacheJobRunNodeRestartTest.java | 2 +-
.../cache/OffheapCacheOnClientsTest.java | 143 +
.../cache/WithKeepBinaryCacheFullApiTest.java | 10 +-
.../GridCacheBinaryObjectsAbstractSelfTest.java | 297 +-
.../GridCacheQueueApiSelfAbstractTest.java | 66 +
...SemaphoreFailoverSafeReleasePermitsTest.java | 129 +
...CacheLoadingConcurrentGridStartSelfTest.java | 255 +-
...ncurrentGridStartSelfTestAllowOverwrite.java | 30 +
...eAtomicMessageRecovery10ConnectionsTest.java | 28 +
...cMessageRecoveryNoPairedConnectionsTest.java | 47 +
...niteCacheClientNodeChangingTopologyTest.java | 22 +-
...acheConnectionRecovery10ConnectionsTest.java | 35 +
.../distributed/IgniteCacheCreatePutTest.java | 2 +-
.../distributed/IgniteCacheGetRestartTest.java | 3 +
.../distributed/dht/GridCacheDhtTestUtils.java | 232 -
.../dht/IgniteCacheMultiTxLockSelfTest.java | 6 +-
...artitionedBackupNodeFailureRecoveryTest.java | 193 +
.../IgniteCachePutRetryAbstractSelfTest.java | 38 +-
...gniteCachePutRetryTransactionalSelfTest.java | 75 +-
...eAtomicInvalidPartitionHandlingSelfTest.java | 2 +-
...tomicClientOnlyMultiNodeFullApiSelfTest.java | 17 +-
...eAtomicNearOnlyMultiNodeFullApiSelfTest.java | 17 +-
...erNoStripedPoolMultiNodeFullApiSelfTest.java | 35 +
...edNoStripedPoolMultiNodeFullApiSelfTest.java | 35 +
...cingDelayedPartitionMapExchangeSelfTest.java | 8 +-
.../GridCacheRebalancingSyncSelfTest.java | 20 +-
.../GridCacheSyncReplicatedPreloadSelfTest.java | 3 -
.../IgniteCacheSyncRebalanceModeSelfTest.java | 2 +-
.../IgniteCacheExpiryPolicyAbstractTest.java | 14 +-
.../IgniteCacheExpiryPolicyTestSuite.java | 2 +
...eCacheExpiryPolicyWithStoreAbstractTest.java | 40 +
...eCacheOnlyOneTtlCleanupThreadExistsTest.java | 102 +
.../cache/query/IndexingSpiQuerySelfTest.java | 218 +
.../cache/query/IndexingSpiQueryTxSelfTest.java | 162 +
...eContinuousQueryAsyncFailoverTxSelfTest.java | 5 +
...ContinuousQueryFailoverAbstractSelfTest.java | 326 +-
.../CacheContinuousQueryFailoverTxSelfTest.java | 5 +
...eEntryProcessorExternalizableFailedTest.java | 588 +
...eContinuousQueryMultiNodesFilteringTest.java | 161 +
.../TxDeadlockDetectionNoHangsTest.java | 2 +-
.../TxOptimisticDeadlockDetectionTest.java | 29 +-
...ComputeJobExecutionErrorToLogManualTest.java | 88 +
.../IgniteNoCustomEventsOnNodeStart.java | 7 +
.../DataStreamProcessorSelfTest.java | 4 +-
.../datastreamer/DataStreamerImplSelfTest.java | 170 +-
.../DataStreamerMultiThreadedSelfTest.java | 2 -
.../datastreamer/DataStreamerTimeoutTest.java | 92 +-
.../igfs/IgfsAbstractBaseSelfTest.java | 40 +-
.../processors/igfs/IgfsAbstractSelfTest.java | 215 +-
.../IgfsAtomicPrimaryMultiNodeSelfTest.java | 39 +
.../IgfsAtomicPrimaryOffheapTieredSelfTest.java | 39 +
.../IgfsAtomicPrimaryOffheapValuesSelfTest.java | 39 +
.../igfs/IgfsAtomicPrimarySelfTest.java | 39 +
.../igfs/IgfsDataManagerSelfTest.java | 6 +-
.../igfs/IgfsDualAbstractSelfTest.java | 70 +-
.../processors/igfs/IgfsIgniteMock.java | 19 +
...SecondaryFileSystemDualAbstractSelfTest.java | 92 +-
...lSecondaryFileSystemProxyClientSelfTest.java | 28 +
...fsLocalSecondaryFileSystemProxySelfTest.java | 267 +
...IgfsLocalSecondaryFileSystemTestAdapter.java | 27 +-
.../processors/igfs/IgfsMaxSizeSelfTest.java | 122 +
.../igfs/IgfsMetaManagerSelfTest.java | 4 +-
.../processors/igfs/IgfsMetricsSelfTest.java | 21 +-
.../internal/processors/igfs/IgfsMock.java | 15 +-
.../igfs/IgfsModeResolverSelfTest.java | 4 +-
.../processors/igfs/IgfsProcessorSelfTest.java | 11 +-
.../igfs/IgfsProcessorValidationSelfTest.java | 30 +
.../processors/igfs/IgfsProxySelfTest.java | 32 +
...IpcEndpointRegistrationAbstractSelfTest.java | 76 +-
...dpointRegistrationOnLinuxAndMacSelfTest.java | 11 +-
.../processors/igfs/IgfsStreamsSelfTest.java | 4 +-
.../igfs/benchmark/IgfsBenchmark.java | 561 +
.../odbc/OdbcEscapeSequenceSelfTest.java | 210 +-
.../odbc/OdbcProcessorValidationSelfTest.java | 37 +-
.../handlers/log/GridLogCommandHandlerTest.java | 5 +-
.../GridServiceProcessorProxySelfTest.java | 2 +-
...artupWithSpecifiedWorkDirectorySelfTest.java | 166 -
.../util/future/GridFutureAdapterSelfTest.java | 123 +-
.../ipc/shmem/IgfsSharedMemoryTestServer.java | 4 +-
.../IpcSharedMemoryCrashDetectionSelfTest.java | 9 +-
.../IpcSharedMemoryBenchmarkReader.java | 2 +-
.../nio/impl/GridNioFilterChainSelfTest.java | 18 +-
.../utils/GridBoundedPriorityQueueSelfTest.java | 114 +
.../loadtests/hashmap/GridCacheTestContext.java | 2 +
.../loadtests/nio/GridNioBenchmarkClient.java | 4 +-
.../ignite/logger/java/JavaLoggerTest.java | 3 +-
.../marshaller/MarshallerContextSelfTest.java | 90 +
.../marshaller/MarshallerContextTestImpl.java | 28 +-
.../OptimizedMarshallerNodeFailoverTest.java | 4 -
.../p2p/GridP2PRecursionTaskSelfTest.java | 2 +-
.../platform/PlatformCacheWriteMetricsTask.java | 463 +
.../SecurityPermissionSetBuilderTest.java | 110 +
...heckpointSpiMultipleDirectoriesSelfTest.java | 6 +-
.../GridAbstractCommunicationSelfTest.java | 2 -
...mmunicationSpiConcurrentConnectSelfTest.java | 47 +-
...nicationSpiConcurrentConnectSslSelfTest.java | 35 +
...cpCommunicationSpiMultithreadedSelfTest.java | 11 +-
...dTcpCommunicationSpiRecoveryAckSelfTest.java | 6 +-
...ationSpiRecoveryNoPairedConnectionsTest.java | 28 +
...GridTcpCommunicationSpiRecoverySelfTest.java | 22 +
...dTcpCommunicationSpiRecoverySslSelfTest.java | 35 +
...CommunicationSpiSslSmallBuffersSelfTest.java | 43 +
.../tcp/IgniteCacheSslStartStopSelfTest.java | 1 -
...CommunicationRecoveryAckClosureSelfTest.java | 6 +-
.../tcp/TcpClientDiscoverySpiMulticastTest.java | 2 +-
.../spi/discovery/tcp/TcpDiscoverySelfTest.java | 138 +-
.../tcp/TcpDiscoverySnapshotHistoryTest.java | 14 +-
.../TcpDiscoveryMulticastIpFinderSelfTest.java | 6 +-
.../GridInternalTasksLoadBalancingSelfTest.java | 201 +
.../testframework/GridSpiTestContext.java | 115 +-
.../ignite/testframework/GridTestUtils.java | 39 +-
.../ignite/testframework/IgniteTestSuite.java | 316 +-
.../testframework/junits/GridAbstractTest.java | 55 +-
.../junits/GridTestKernalContext.java | 6 +-
.../ignite/testframework/junits/IgniteMock.java | 25 +
.../junits/IgniteTestResources.java | 2 -
.../junits/common/GridCommonAbstractTest.java | 31 +-
.../multijvm/IgniteCacheProcessProxy.java | 16 +
.../junits/multijvm/IgniteProcessProxy.java | 15 +
.../junits/spi/GridSpiAbstractTest.java | 2 -
.../ignite/testsuites/IgniteBasicTestSuite.java | 7 +
.../testsuites/IgniteBinaryBasicTestSuite.java | 2 -
.../IgniteBinaryObjectsTestSuite.java | 12 +
.../IgniteCacheDataStructuresSelfTestSuite.java | 3 +
.../IgniteCacheFullApiSelfTestSuite.java | 6 +
.../ignite/testsuites/IgniteCacheTestSuite.java | 25 +
.../testsuites/IgniteCacheTestSuite2.java | 9 +
.../testsuites/IgniteCacheTestSuite4.java | 6 +
.../testsuites/IgniteCacheTestSuite5.java | 8 +-
.../testsuites/IgniteComputeGridTestSuite.java | 2 +
.../ignite/testsuites/IgniteIgfsTestSuite.java | 19 +
.../apache/ignite/testsuites/IgniteIgnore.java | 9 +-
.../testsuites/IgniteIgnoredTestSuite.java | 63 -
.../testsuites/IgniteKernalSelfTestSuite.java | 4 +-
.../testsuites/IgniteLangSelfTestSuite.java | 4 +-
.../IgniteSpiCommunicationSelfTestSuite.java | 13 +-
.../IgniteSpiLoadBalancingSelfTestSuite.java | 34 +-
.../ignite/testsuites/IgniteSpiTestSuite.java | 6 +-
.../testsuites/IgniteUtilSelfTestSuite.java | 2 +
.../ignite/thread/IgniteThreadPoolSizeTest.java | 131 +
.../apache/ignite/util/GridLogThrottleTest.java | 27 +-
modules/docker/1.8.0/Dockerfile | 46 +
modules/docker/1.8.0/run.sh | 51 +
modules/docker/Dockerfile | 6 +-
modules/extdata/p2p/pom.xml | 2 +-
.../CacheNoValueClassOnServerTestClient.java | 2 -
.../CacheConfigurationP2PTestClient.java | 2 -
.../extdata/uri/modules/uri-dependency/pom.xml | 2 +-
modules/extdata/uri/pom.xml | 2 +-
modules/flink/pom.xml | 2 +-
.../apache/ignite/sink/flink/IgniteSink.java | 2 +-
modules/flume/README.txt | 2 +-
modules/flume/pom.xml | 2 +-
modules/gce/pom.xml | 2 +-
modules/geospatial/pom.xml | 2 +-
.../h2/GridBinaryH2IndexingGeoSelfTest.java | 35 +
.../query/h2/GridH2IndexingGeoSelfTest.java | 2 +-
.../testsuites/GeoSpatialIndexingTestSuite.java | 2 +
modules/hadoop/pom.xml | 51 +-
.../hadoop/fs/BasicHadoopFileSystemFactory.java | 132 +-
.../fs/CachingHadoopFileSystemFactory.java | 54 +-
.../hadoop/fs/HadoopFileSystemFactory.java | 11 +-
.../fs/IgniteHadoopFileSystemCounterWriter.java | 79 +-
.../fs/IgniteHadoopIgfsSecondaryFileSystem.java | 402 +-
.../fs/KerberosHadoopFileSystemFactory.java | 77 +-
.../hadoop/fs/v1/IgniteHadoopFileSystem.java | 47 +-
.../hadoop/fs/v2/IgniteHadoopFileSystem.java | 47 +-
.../IgniteHadoopClientProtocolProvider.java | 46 +-
.../mapreduce/IgniteHadoopMapReducePlanner.java | 22 +-
.../IgniteHadoopWeightedMapReducePlanner.java | 4 +-
.../ignite/hadoop/util/UserNameMapper.java | 4 +-
.../processors/hadoop/HadoopClassLoader.java | 966 --
.../processors/hadoop/HadoopClasspathMain.java | 44 -
.../processors/hadoop/HadoopClasspathUtils.java | 295 -
.../processors/hadoop/HadoopCommonUtils.java | 154 +
.../processors/hadoop/HadoopContext.java | 1 -
.../processors/hadoop/HadoopDefaultJobInfo.java | 157 -
.../processors/hadoop/HadoopExternalSplit.java | 96 +
.../processors/hadoop/HadoopHelperImpl.java | 133 +
.../processors/hadoop/HadoopLocations.java | 123 -
.../hadoop/HadoopMapReduceCounterGroup.java | 123 -
.../hadoop/HadoopMapReduceCounters.java | 228 -
.../processors/hadoop/HadoopMapperUtils.java | 56 +
.../processors/hadoop/HadoopProcessor.java | 32 +-
.../processors/hadoop/HadoopSplitWrapper.java | 128 +
.../internal/processors/hadoop/HadoopUtils.java | 436 -
.../hadoop/counter/HadoopCounterAdapter.java | 1 +
.../counter/HadoopPerformanceCounter.java | 12 +-
.../hadoop/delegate/HadoopDelegateUtils.java | 138 +
.../HadoopFileSystemCounterWriterDelegate.java | 36 +
.../HadoopFileSystemFactoryDelegate.java | 36 +
.../HadoopIgfsSecondaryFileSystemDelegate.java | 28 +
.../hadoop/fs/HadoopFileSystemCacheUtils.java | 242 -
.../hadoop/fs/HadoopFileSystemsUtils.java | 51 -
.../hadoop/fs/HadoopLazyConcurrentMap.java | 212 -
.../hadoop/fs/HadoopLocalFileSystemV1.java | 39 -
.../hadoop/fs/HadoopLocalFileSystemV2.java | 88 -
.../processors/hadoop/fs/HadoopParameters.java | 94 -
.../hadoop/fs/HadoopRawLocalFileSystem.java | 314 -
.../processors/hadoop/igfs/HadoopIgfs.java | 202 -
.../igfs/HadoopIgfsCommunicationException.java | 57 -
.../processors/hadoop/igfs/HadoopIgfsEx.java | 93 -
.../hadoop/igfs/HadoopIgfsFuture.java | 97 -
.../hadoop/igfs/HadoopIgfsInProc.java | 510 -
.../hadoop/igfs/HadoopIgfsInputStream.java | 629 -
.../processors/hadoop/igfs/HadoopIgfsIo.java | 76 -
.../processors/hadoop/igfs/HadoopIgfsIpcIo.java | 624 -
.../hadoop/igfs/HadoopIgfsIpcIoListener.java | 36 -
.../hadoop/igfs/HadoopIgfsJclLogger.java | 116 -
.../hadoop/igfs/HadoopIgfsOutProc.java | 524 -
.../hadoop/igfs/HadoopIgfsOutputStream.java | 201 -
.../hadoop/igfs/HadoopIgfsProperties.java | 86 -
.../hadoop/igfs/HadoopIgfsProxyInputStream.java | 337 -
.../igfs/HadoopIgfsProxyOutputStream.java | 165 -
...fsSecondaryFileSystemPositionedReadable.java | 105 -
.../hadoop/igfs/HadoopIgfsStreamDelegate.java | 96 -
.../igfs/HadoopIgfsStreamEventListener.java | 39 -
.../processors/hadoop/igfs/HadoopIgfsUtils.java | 174 -
.../hadoop/igfs/HadoopIgfsWrapper.java | 552 -
.../impl/HadoopMapReduceCounterGroup.java | 124 +
.../hadoop/impl/HadoopMapReduceCounters.java | 229 +
.../processors/hadoop/impl/HadoopUtils.java | 331 +
.../HadoopBasicFileSystemFactoryDelegate.java | 178 +
.../HadoopCachingFileSystemFactoryDelegate.java | 75 +
.../HadoopDefaultFileSystemFactoryDelegate.java | 62 +
...doopFileSystemCounterWriterDelegateImpl.java | 108 +
...doopIgfsSecondaryFileSystemDelegateImpl.java | 470 +
...HadoopKerberosFileSystemFactoryDelegate.java | 117 +
.../impl/fs/HadoopFileSystemCacheUtils.java | 243 +
.../hadoop/impl/fs/HadoopFileSystemsUtils.java | 51 +
.../hadoop/impl/fs/HadoopLazyConcurrentMap.java | 210 +
.../hadoop/impl/fs/HadoopLocalFileSystemV1.java | 40 +
.../hadoop/impl/fs/HadoopLocalFileSystemV2.java | 89 +
.../hadoop/impl/fs/HadoopParameters.java | 94 +
.../impl/fs/HadoopRawLocalFileSystem.java | 315 +
.../processors/hadoop/impl/igfs/HadoopIgfs.java | 203 +
.../igfs/HadoopIgfsCommunicationException.java | 57 +
.../hadoop/impl/igfs/HadoopIgfsEx.java | 94 +
.../hadoop/impl/igfs/HadoopIgfsFuture.java | 97 +
.../hadoop/impl/igfs/HadoopIgfsInProc.java | 511 +
.../hadoop/impl/igfs/HadoopIgfsInputStream.java | 630 +
.../hadoop/impl/igfs/HadoopIgfsIo.java | 76 +
.../hadoop/impl/igfs/HadoopIgfsIpcIo.java | 625 +
.../impl/igfs/HadoopIgfsIpcIoListener.java | 36 +
.../hadoop/impl/igfs/HadoopIgfsJclLogger.java | 116 +
.../hadoop/impl/igfs/HadoopIgfsOutProc.java | 525 +
.../impl/igfs/HadoopIgfsOutputStream.java | 202 +
.../hadoop/impl/igfs/HadoopIgfsProperties.java | 90 +
.../impl/igfs/HadoopIgfsProxyInputStream.java | 338 +
.../impl/igfs/HadoopIgfsProxyOutputStream.java | 166 +
...fsSecondaryFileSystemPositionedReadable.java | 106 +
.../impl/igfs/HadoopIgfsStreamDelegate.java | 96 +
.../igfs/HadoopIgfsStreamEventListener.java | 39 +
.../hadoop/impl/igfs/HadoopIgfsUtils.java | 175 +
.../hadoop/impl/igfs/HadoopIgfsWrapper.java | 554 +
.../hadoop/impl/proto/HadoopClientProtocol.java | 354 +
.../hadoop/impl/v1/HadoopV1CleanupTask.java | 65 +
.../hadoop/impl/v1/HadoopV1Counter.java | 107 +
.../hadoop/impl/v1/HadoopV1MapTask.java | 122 +
.../hadoop/impl/v1/HadoopV1OutputCollector.java | 138 +
.../hadoop/impl/v1/HadoopV1Partitioner.java | 44 +
.../hadoop/impl/v1/HadoopV1ReduceTask.java | 101 +
.../hadoop/impl/v1/HadoopV1Reporter.java | 81 +
.../hadoop/impl/v1/HadoopV1SetupTask.java | 57 +
.../hadoop/impl/v1/HadoopV1Splitter.java | 103 +
.../processors/hadoop/impl/v1/HadoopV1Task.java | 98 +
.../processors/hadoop/impl/v2/HadoopDaemon.java | 126 +
.../impl/v2/HadoopSerializationWrapper.java | 139 +
.../impl/v2/HadoopShutdownHookManager.java | 98 +
.../hadoop/impl/v2/HadoopV2CleanupTask.java | 73 +
.../hadoop/impl/v2/HadoopV2Context.java | 255 +
.../hadoop/impl/v2/HadoopV2Counter.java | 89 +
.../processors/hadoop/impl/v2/HadoopV2Job.java | 457 +
.../impl/v2/HadoopV2JobResourceManager.java | 324 +
.../hadoop/impl/v2/HadoopV2MapTask.java | 109 +
.../hadoop/impl/v2/HadoopV2Partitioner.java | 44 +
.../hadoop/impl/v2/HadoopV2ReduceTask.java | 91 +
.../hadoop/impl/v2/HadoopV2SetupTask.java | 66 +
.../hadoop/impl/v2/HadoopV2Splitter.java | 112 +
.../processors/hadoop/impl/v2/HadoopV2Task.java | 186 +
.../hadoop/impl/v2/HadoopV2TaskContext.java | 563 +
.../impl/v2/HadoopWritableSerialization.java | 76 +
.../hadoop/jobtracker/HadoopJobTracker.java | 92 +-
.../hadoop/message/HadoopMessage.java | 27 -
.../planner/HadoopDefaultMapReducePlan.java | 7 +-
.../hadoop/proto/HadoopClientProtocol.java | 349 -
.../hadoop/shuffle/HadoopShuffle.java | 112 +-
.../hadoop/shuffle/HadoopShuffleAck.java | 92 -
.../hadoop/shuffle/HadoopShuffleJob.java | 748 +-
.../hadoop/shuffle/HadoopShuffleLocalState.java | 67 +
.../hadoop/shuffle/HadoopShuffleMessage.java | 242 -
.../shuffle/HadoopShuffleRemoteState.java | 61 +
.../shuffle/direct/HadoopDirectDataInput.java | 166 +
.../shuffle/direct/HadoopDirectDataOutput.java | 221 +
.../direct/HadoopDirectDataOutputContext.java | 100 +
.../direct/HadoopDirectDataOutputState.java | 54 +
.../shuffle/streams/HadoopDataOutStream.java | 2 +-
.../external/HadoopExternalTaskExecutor.java | 13 +-
.../child/HadoopChildProcessRunner.java | 28 +-
.../child/HadoopExternalProcessStarter.java | 10 +-
.../HadoopExternalCommunication.java | 20 +-
.../communication/HadoopIpcToNioAdapter.java | 2 +-
.../communication/HadoopMarshallerFilter.java | 17 +-
.../hadoop/v1/HadoopV1CleanupTask.java | 64 -
.../processors/hadoop/v1/HadoopV1Counter.java | 106 -
.../processors/hadoop/v1/HadoopV1MapTask.java | 122 -
.../hadoop/v1/HadoopV1OutputCollector.java | 137 -
.../hadoop/v1/HadoopV1Partitioner.java | 44 -
.../hadoop/v1/HadoopV1ReduceTask.java | 101 -
.../processors/hadoop/v1/HadoopV1Reporter.java | 81 -
.../processors/hadoop/v1/HadoopV1SetupTask.java | 56 -
.../processors/hadoop/v1/HadoopV1Splitter.java | 102 -
.../processors/hadoop/v1/HadoopV1Task.java | 97 -
.../processors/hadoop/v2/HadoopDaemon.java | 126 -
.../hadoop/v2/HadoopExternalSplit.java | 89 -
.../hadoop/v2/HadoopSerializationWrapper.java | 138 -
.../hadoop/v2/HadoopShutdownHookManager.java | 98 -
.../hadoop/v2/HadoopSplitWrapper.java | 119 -
.../hadoop/v2/HadoopV2CleanupTask.java | 72 -
.../processors/hadoop/v2/HadoopV2Context.java | 243 -
.../processors/hadoop/v2/HadoopV2Counter.java | 88 -
.../processors/hadoop/v2/HadoopV2Job.java | 443 -
.../hadoop/v2/HadoopV2JobResourceManager.java | 322 -
.../processors/hadoop/v2/HadoopV2MapTask.java | 99 -
.../hadoop/v2/HadoopV2Partitioner.java | 44 -
.../hadoop/v2/HadoopV2ReduceTask.java | 91 -
.../processors/hadoop/v2/HadoopV2SetupTask.java | 65 -
.../processors/hadoop/v2/HadoopV2Splitter.java | 111 -
.../processors/hadoop/v2/HadoopV2Task.java | 185 -
.../hadoop/v2/HadoopV2TaskContext.java | 559 -
.../hadoop/v2/HadoopWritableSerialization.java | 75 -
.../resources/META-INF/classnames.properties | 114 +
.../HadoopClientProtocolEmbeddedSelfTest.java | 35 -
.../hadoop/HadoopClientProtocolSelfTest.java | 654 -
.../hadoop/cache/HadoopTxConfigCacheTest.java | 42 -
...KerberosHadoopFileSystemFactorySelfTest.java | 121 -
.../util/BasicUserNameMapperSelfTest.java | 133 -
.../util/ChainedUserNameMapperSelfTest.java | 107 -
.../util/KerberosUserNameMapperSelfTest.java | 99 -
.../ignite/igfs/Hadoop1DualAbstractTest.java | 158 -
.../igfs/Hadoop1OverIgfsDualAsyncTest.java | 30 -
.../igfs/Hadoop1OverIgfsDualSyncTest.java | 30 -
.../igfs/HadoopFIleSystemFactorySelfTest.java | 327 -
.../HadoopIgfs20FileSystemAbstractSelfTest.java | 2040 ---
...Igfs20FileSystemLoopbackPrimarySelfTest.java | 74 -
...oopIgfs20FileSystemShmemPrimarySelfTest.java | 74 -
.../igfs/HadoopIgfsDualAbstractSelfTest.java | 321 -
.../igfs/HadoopIgfsDualAsyncSelfTest.java | 32 -
.../ignite/igfs/HadoopIgfsDualSyncSelfTest.java | 32 -
...adoopIgfsSecondaryFileSystemTestAdapter.java | 149 -
...oopSecondaryFileSystemConfigurationTest.java | 575 -
.../apache/ignite/igfs/IgfsEventsTestSuite.java | 285 -
.../igfs/IgfsNearOnlyMultiNodeSelfTest.java | 223 -
.../IgniteHadoopFileSystemAbstractSelfTest.java | 2432 ---
.../IgniteHadoopFileSystemClientSelfTest.java | 212 -
...IgniteHadoopFileSystemHandshakeSelfTest.java | 389 -
.../IgniteHadoopFileSystemIpcCacheSelfTest.java | 214 -
.../IgniteHadoopFileSystemLoggerSelfTest.java | 298 -
...niteHadoopFileSystemLoggerStateSelfTest.java | 329 -
...adoopFileSystemLoopbackAbstractSelfTest.java | 46 -
...SystemLoopbackEmbeddedDualAsyncSelfTest.java | 33 -
...eSystemLoopbackEmbeddedDualSyncSelfTest.java | 33 -
...leSystemLoopbackEmbeddedPrimarySelfTest.java | 33 -
...SystemLoopbackEmbeddedSecondarySelfTest.java | 34 -
...SystemLoopbackExternalDualAsyncSelfTest.java | 33 -
...eSystemLoopbackExternalDualSyncSelfTest.java | 33 -
...leSystemLoopbackExternalPrimarySelfTest.java | 33 -
...SystemLoopbackExternalSecondarySelfTest.java | 34 -
...condaryFileSystemInitializationSelfTest.java | 214 -
...teHadoopFileSystemShmemAbstractSelfTest.java | 91 -
...ileSystemShmemEmbeddedDualAsyncSelfTest.java | 33 -
...FileSystemShmemEmbeddedDualSyncSelfTest.java | 33 -
...pFileSystemShmemEmbeddedPrimarySelfTest.java | 33 -
...ileSystemShmemEmbeddedSecondarySelfTest.java | 33 -
...ileSystemShmemExternalDualAsyncSelfTest.java | 33 -
...FileSystemShmemExternalDualSyncSelfTest.java | 33 -
...pFileSystemShmemExternalPrimarySelfTest.java | 33 -
...ileSystemShmemExternalSecondarySelfTest.java | 33 -
.../hadoop/HadoopAbstractMapReduceTest.java | 429 -
.../hadoop/HadoopAbstractSelfTest.java | 239 -
.../hadoop/HadoopAbstractWordCountTest.java | 175 -
.../hadoop/HadoopClassLoaderTest.java | 110 -
.../hadoop/HadoopCommandLineTest.java | 474 -
.../HadoopDefaultMapReducePlannerSelfTest.java | 615 -
.../processors/hadoop/HadoopErrorSimulator.java | 326 -
.../hadoop/HadoopFileSystemsTest.java | 155 -
.../processors/hadoop/HadoopGroupingTest.java | 307 -
.../hadoop/HadoopJobTrackerSelfTest.java | 345 -
.../hadoop/HadoopMapReduceEmbeddedSelfTest.java | 253 -
.../HadoopMapReduceErrorResilienceTest.java | 154 -
.../processors/hadoop/HadoopMapReduceTest.java | 66 -
.../hadoop/HadoopNoHadoopMapReduceTest.java | 47 -
.../processors/hadoop/HadoopPlannerMockJob.java | 168 -
.../hadoop/HadoopPopularWordsTest.java | 298 -
.../HadoopSerializationWrapperSelfTest.java | 79 -
.../processors/hadoop/HadoopSharedMap.java | 1 +
.../hadoop/HadoopSnappyFullMapReduceTest.java | 36 -
.../processors/hadoop/HadoopSnappyTest.java | 102 -
.../hadoop/HadoopSortingExternalTest.java | 46 -
.../processors/hadoop/HadoopSortingTest.java | 303 -
.../hadoop/HadoopSplitWrapperSelfTest.java | 72 -
.../processors/hadoop/HadoopStartup.java | 54 -
.../hadoop/HadoopTaskExecutionSelfTest.java | 567 -
.../hadoop/HadoopTasksAllVersionsTest.java | 260 -
.../processors/hadoop/HadoopTasksV1Test.java | 58 -
.../processors/hadoop/HadoopTasksV2Test.java | 77 -
.../hadoop/HadoopTestClassLoader.java | 106 +
.../hadoop/HadoopTestRoundRobinMrPlanner.java | 71 -
.../hadoop/HadoopTestTaskContext.java | 228 -
.../processors/hadoop/HadoopTestUtils.java | 107 -
.../processors/hadoop/HadoopV2JobSelfTest.java | 100 -
.../hadoop/HadoopValidationSelfTest.java | 53 -
.../HadoopWeightedMapReducePlannerTest.java | 599 -
.../HadoopWeightedPlannerMapReduceTest.java | 38 -
.../hadoop/books/alice-in-wonderland.txt | 3735 -----
.../processors/hadoop/books/art-of-war.txt | 6982 ---------
.../hadoop/books/huckleberry-finn.txt | 11733 ---------------
.../processors/hadoop/books/sherlock-holmes.txt | 13052 -----------------
.../processors/hadoop/books/tom-sawyer.txt | 8858 -----------
.../hadoop/deps/CircularWIthHadoop.java | 32 -
.../hadoop/deps/CircularWithoutHadoop.java | 27 -
.../processors/hadoop/deps/WithCast.java | 41 -
.../hadoop/deps/WithClassAnnotation.java | 28 -
.../hadoop/deps/WithConstructorInvocation.java | 31 -
.../processors/hadoop/deps/WithExtends.java | 27 -
.../processors/hadoop/deps/WithField.java | 29 -
.../processors/hadoop/deps/WithImplements.java | 36 -
.../hadoop/deps/WithIndirectField.java | 27 -
.../processors/hadoop/deps/WithInitializer.java | 33 -
.../processors/hadoop/deps/WithInnerClass.java | 31 -
.../hadoop/deps/WithLocalVariable.java | 38 -
.../hadoop/deps/WithMethodAnnotation.java | 32 -
.../hadoop/deps/WithMethodArgument.java | 31 -
.../hadoop/deps/WithMethodCheckedException.java | 31 -
.../hadoop/deps/WithMethodInvocation.java | 31 -
.../hadoop/deps/WithMethodReturnType.java | 31 -
.../hadoop/deps/WithMethodRuntimeException.java | 31 -
.../processors/hadoop/deps/WithOuterClass.java | 38 -
.../hadoop/deps/WithParameterAnnotation.java | 31 -
.../processors/hadoop/deps/WithStaticField.java | 29 -
.../hadoop/deps/WithStaticInitializer.java | 34 -
.../processors/hadoop/deps/Without.java | 25 -
.../hadoop/examples/HadoopWordCount1.java | 94 -
.../hadoop/examples/HadoopWordCount1Map.java | 79 -
.../hadoop/examples/HadoopWordCount1Reduce.java | 61 -
.../hadoop/examples/HadoopWordCount2.java | 111 -
.../examples/HadoopWordCount2Combiner.java | 45 -
.../hadoop/examples/HadoopWordCount2Mapper.java | 88 -
.../examples/HadoopWordCount2Reducer.java | 113 -
.../impl/HadoopAbstractMapReduceTest.java | 430 +
.../hadoop/impl/HadoopAbstractSelfTest.java | 239 +
.../impl/HadoopAbstractWordCountTest.java | 175 +
.../hadoop/impl/HadoopCommandLineTest.java | 476 +
.../HadoopDefaultMapReducePlannerSelfTest.java | 619 +
.../hadoop/impl/HadoopErrorSimulator.java | 326 +
.../hadoop/impl/HadoopFileSystemsTest.java | 155 +
.../hadoop/impl/HadoopGroupingTest.java | 302 +
.../hadoop/impl/HadoopJobTrackerSelfTest.java | 334 +
.../impl/HadoopMapReduceEmbeddedSelfTest.java | 269 +
.../HadoopMapReduceErrorResilienceTest.java | 154 +
.../hadoop/impl/HadoopMapReduceTest.java | 66 +
.../impl/HadoopNoHadoopMapReduceTest.java | 47 +
.../hadoop/impl/HadoopPlannerMockJob.java | 182 +
.../hadoop/impl/HadoopPopularWordsTest.java | 298 +
.../HadoopSerializationWrapperSelfTest.java | 80 +
.../impl/HadoopSnappyFullMapReduceTest.java | 36 +
.../hadoop/impl/HadoopSnappyTest.java | 104 +
.../hadoop/impl/HadoopSortingExternalTest.java | 46 +
.../hadoop/impl/HadoopSortingTest.java | 304 +
.../hadoop/impl/HadoopSplitWrapperSelfTest.java | 72 +
.../processors/hadoop/impl/HadoopStartup.java | 54 +
.../impl/HadoopTaskExecutionSelfTest.java | 550 +
.../hadoop/impl/HadoopTasksAllVersionsTest.java | 264 +
.../hadoop/impl/HadoopTasksV1Test.java | 62 +
.../hadoop/impl/HadoopTasksV2Test.java | 81 +
.../impl/HadoopTestRoundRobinMrPlanner.java | 75 +
.../hadoop/impl/HadoopTestTaskContext.java | 233 +
.../processors/hadoop/impl/HadoopTestUtils.java | 178 +
.../hadoop/impl/HadoopTxConfigCacheTest.java | 42 +
.../hadoop/impl/HadoopUserLibsSelfTest.java | 261 +
.../hadoop/impl/HadoopV2JobSelfTest.java | 108 +
.../hadoop/impl/HadoopValidationSelfTest.java | 53 +
.../HadoopWeightedMapReducePlannerTest.java | 602 +
.../HadoopWeightedPlannerMapReduceTest.java | 38 +
.../hadoop/impl/books/alice-in-wonderland.txt | 3735 +++++
.../processors/hadoop/impl/books/art-of-war.txt | 6982 +++++++++
.../hadoop/impl/books/huckleberry-finn.txt | 11733 +++++++++++++++
.../hadoop/impl/books/sherlock-holmes.txt | 13052 +++++++++++++++++
.../processors/hadoop/impl/books/tom-sawyer.txt | 8858 +++++++++++
.../HadoopClientProtocolEmbeddedSelfTest.java | 35 +
...opClientProtocolMultipleServersSelfTest.java | 340 +
.../client/HadoopClientProtocolSelfTest.java | 654 +
.../hadoop/impl/examples/HadoopWordCount1.java | 94 +
.../impl/examples/HadoopWordCount1Map.java | 79 +
.../impl/examples/HadoopWordCount1Reduce.java | 61 +
.../hadoop/impl/examples/HadoopWordCount2.java | 111 +
.../impl/examples/HadoopWordCount2Combiner.java | 45 +
.../impl/examples/HadoopWordCount2Mapper.java | 88 +
.../impl/examples/HadoopWordCount2Reducer.java | 113 +
...KerberosHadoopFileSystemFactorySelfTest.java | 127 +
.../impl/igfs/Hadoop1DualAbstractTest.java | 163 +
.../impl/igfs/Hadoop1OverIgfsDualAsyncTest.java | 32 +
.../impl/igfs/Hadoop1OverIgfsDualSyncTest.java | 32 +
.../igfs/HadoopFIleSystemFactorySelfTest.java | 345 +
.../HadoopIgfs20FileSystemAbstractSelfTest.java | 2047 +++
...Igfs20FileSystemLoopbackPrimarySelfTest.java | 77 +
...oopIgfs20FileSystemShmemPrimarySelfTest.java | 77 +
.../igfs/HadoopIgfsDualAbstractSelfTest.java | 328 +
.../impl/igfs/HadoopIgfsDualAsyncSelfTest.java | 32 +
.../impl/igfs/HadoopIgfsDualSyncSelfTest.java | 32 +
...adoopIgfsSecondaryFileSystemTestAdapter.java | 152 +
...oopSecondaryFileSystemConfigurationTest.java | 595 +
.../hadoop/impl/igfs/IgfsEventsTestSuite.java | 289 +
.../igfs/IgfsNearOnlyMultiNodeSelfTest.java | 226 +
.../IgniteHadoopFileSystemAbstractSelfTest.java | 2435 +++
.../IgniteHadoopFileSystemClientSelfTest.java | 216 +
...IgniteHadoopFileSystemHandshakeSelfTest.java | 393 +
.../IgniteHadoopFileSystemIpcCacheSelfTest.java | 215 +
.../IgniteHadoopFileSystemLoggerSelfTest.java | 299 +
...niteHadoopFileSystemLoggerStateSelfTest.java | 332 +
...adoopFileSystemLoopbackAbstractSelfTest.java | 50 +
...SystemLoopbackEmbeddedDualAsyncSelfTest.java | 33 +
...eSystemLoopbackEmbeddedDualSyncSelfTest.java | 33 +
...leSystemLoopbackEmbeddedPrimarySelfTest.java | 33 +
...SystemLoopbackEmbeddedSecondarySelfTest.java | 34 +
...SystemLoopbackExternalDualAsyncSelfTest.java | 33 +
...eSystemLoopbackExternalDualSyncSelfTest.java | 33 +
...leSystemLoopbackExternalPrimarySelfTest.java | 33 +
...SystemLoopbackExternalSecondarySelfTest.java | 34 +
...condaryFileSystemInitializationSelfTest.java | 217 +
...teHadoopFileSystemShmemAbstractSelfTest.java | 94 +
...ileSystemShmemEmbeddedDualAsyncSelfTest.java | 33 +
...FileSystemShmemEmbeddedDualSyncSelfTest.java | 33 +
...pFileSystemShmemEmbeddedPrimarySelfTest.java | 33 +
...ileSystemShmemEmbeddedSecondarySelfTest.java | 33 +
...ileSystemShmemExternalDualAsyncSelfTest.java | 33 +
...FileSystemShmemExternalDualSyncSelfTest.java | 33 +
...pFileSystemShmemExternalPrimarySelfTest.java | 33 +
...ileSystemShmemExternalSecondarySelfTest.java | 33 +
.../collections/HadoopAbstractMapTest.java | 175 +
.../HadoopConcurrentHashMultimapSelftest.java | 280 +
.../collections/HadoopHashMapSelfTest.java | 133 +
.../collections/HadoopSkipListSelfTest.java | 320 +
.../streams/HadoopDataStreamSelfTest.java | 153 +
.../taskexecutor/HadoopExecutorServiceTest.java | 119 +
.../HadoopExternalTaskExecutionSelfTest.java | 232 +
.../HadoopExternalCommunicationSelfTest.java | 222 +
.../impl/util/BasicUserNameMapperSelfTest.java | 134 +
.../util/ChainedUserNameMapperSelfTest.java | 111 +
.../util/KerberosUserNameMapperSelfTest.java | 100 +
.../collections/HadoopAbstractMapTest.java | 174 -
.../HadoopConcurrentHashMultimapSelftest.java | 278 -
.../collections/HadoopHashMapSelfTest.java | 131 -
.../collections/HadoopSkipListSelfTest.java | 318 -
.../streams/HadoopDataStreamSelfTest.java | 150 -
.../hadoop/state/HadoopGroupingTestState.java | 40 +
.../state/HadoopJobTrackerSelfTestState.java | 45 +
.../HadoopMapReduceEmbeddedSelfTestState.java | 32 +
.../HadoopTaskExecutionSelfTestValues.java | 51 +
.../taskexecutor/HadoopExecutorServiceTest.java | 118 -
.../HadoopExternalTaskExecutionSelfTest.java | 232 -
.../HadoopExternalCommunicationSelfTest.java | 220 -
.../testsuites/IgniteHadoopTestSuite.java | 117 +-
.../IgniteIgfsLinuxAndMacOSTestSuite.java | 25 +-
modules/hibernate/pom.xml | 2 +-
.../hibernate/CacheHibernateBlobStore.java | 4 +-
modules/ignored-tests/README.txt | 4 +
modules/ignored-tests/pom.xml | 241 +
...gniteIgnoredBinarySimpleMapperTestSuite.java | 41 +
.../IgniteIgnoredBinaryTestSuite.java | 42 +
.../testsuites/IgniteIgnoredTestSuite.java | 61 +
.../apache/ignite/testsuites/package-info.java | 22 +
modules/indexing/pom.xml | 2 +-
.../cache/query/GridCacheTwoStepQuery.java | 253 +
.../query/h2/DmlStatementsProcessor.java | 1083 ++
.../query/h2/GridH2ResultSetIterator.java | 3 +-
.../processors/query/h2/IgniteH2Indexing.java | 294 +-
.../query/h2/dml/FastUpdateArgument.java | 27 +
.../query/h2/dml/FastUpdateArguments.java | 53 +
.../query/h2/dml/KeyValueSupplier.java | 30 +
.../processors/query/h2/dml/UpdateMode.java | 36 +
.../processors/query/h2/dml/UpdatePlan.java | 128 +
.../query/h2/dml/UpdatePlanBuilder.java | 486 +
.../processors/query/h2/dml/package-info.java | 22 +
.../query/h2/opt/GridH2RowDescriptor.java | 23 +
.../query/h2/opt/GridH2TreeIndex.java | 2 +-
.../query/h2/opt/GridH2ValueCacheObject.java | 1 -
.../processors/query/h2/sql/DmlAstUtils.java | 616 +
.../processors/query/h2/sql/GridSqlArray.java | 8 +
.../processors/query/h2/sql/GridSqlConst.java | 6 +
.../processors/query/h2/sql/GridSqlDelete.java | 68 +
.../query/h2/sql/GridSqlFunction.java | 5 +-
.../processors/query/h2/sql/GridSqlInsert.java | 149 +
.../processors/query/h2/sql/GridSqlKeyword.java | 46 +
.../processors/query/h2/sql/GridSqlMerge.java | 143 +
.../processors/query/h2/sql/GridSqlQuery.java | 44 +-
.../query/h2/sql/GridSqlQueryParser.java | 323 +-
.../query/h2/sql/GridSqlQuerySplitter.java | 149 +-
.../processors/query/h2/sql/GridSqlSelect.java | 3 +-
.../query/h2/sql/GridSqlStatement.java | 64 +
.../processors/query/h2/sql/GridSqlUpdate.java | 105 +
.../query/h2/twostep/GridMapQueryExecutor.java | 66 +-
.../query/h2/twostep/GridMergeIndex.java | 61 +-
.../h2/twostep/GridReduceQueryExecutor.java | 212 +-
.../h2/twostep/msg/GridH2QueryRequest.java | 42 +-
...CacheAbstractQueryDetailMetricsSelfTest.java | 572 +
.../CacheAbstractQueryMetricsSelfTest.java | 307 +-
.../cache/CacheConfigurationP2PTestServer.java | 2 -
.../CacheLocalQueryDetailMetricsSelfTest.java | 33 +
...edQueryDetailMetricsDistributedSelfTest.java | 33 +
...titionedQueryDetailMetricsLocalSelfTest.java | 33 +
...edQueryDetailMetricsDistributedSelfTest.java | 33 +
...plicatedQueryDetailMetricsLocalSelfTest.java | 33 +
...niteCacheAbstractInsertSqlQuerySelfTest.java | 559 +
.../IgniteCacheAbstractSqlDmlQuerySelfTest.java | 243 +
.../IgniteCacheDeleteSqlQuerySelfTest.java | 106 +
.../IgniteCacheInsertSqlQuerySelfTest.java | 203 +
.../cache/IgniteCacheMergeSqlQuerySelfTest.java | 153 +
.../cache/IgniteCacheOffheapEvictQueryTest.java | 9 +-
.../IgniteCacheQueryMultiThreadedSelfTest.java | 59 +
.../IgniteCacheUpdateSqlQuerySelfTest.java | 472 +
.../IgniteCacheAtomicFieldsQuerySelfTest.java | 21 -
...lientQueryReplicatedNodeRestartSelfTest.java | 7 +
...niteCacheDistributedQueryCancelSelfTest.java | 176 +
...butedQueryStopOnCancelOrTimeoutSelfTest.java | 262 +
...cheQueryAbstractDistributedJoinSelfTest.java | 290 +
...QueryNodeRestartDistributedJoinSelfTest.java | 262 +-
.../IgniteCacheQueryNodeRestartSelfTest2.java | 125 +-
...nCancelOrTimeoutDistributedJoinSelfTest.java | 140 +
...gniteCacheReplicatedFieldsQuerySelfTest.java | 13 +-
.../IgniteCacheReplicatedQuerySelfTest.java | 6 +-
...eCacheLocalQueryCancelOrTimeoutSelfTest.java | 158 +
.../query/IgniteSqlSplitterSelfTest.java | 330 +
.../h2/GridIndexingSpiAbstractSelfTest.java | 50 +-
.../query/h2/sql/BaseH2CompareQueryTest.java | 3 +-
.../query/h2/sql/GridQueryParsingTest.java | 120 +-
...narySimpleNameMapperCacheQueryTestSuite.java | 2 -
.../IgniteCacheQuerySelfTestSuite.java | 23 +-
.../IgniteCacheQuerySelfTestSuite2.java | 25 +-
modules/jcl/pom.xml | 2 +-
modules/jms11/pom.xml | 2 +-
.../stream/jms11/IgniteJmsStreamerTest.java | 206 +-
.../jms11/IgniteJmsStreamerTestSuite.java | 2 +-
modules/jta/pom.xml | 2 +-
...titionedCacheJtaLookupClassNameSelfTest.java | 4 +-
.../ignite/testsuites/IgniteJtaTestSuite.java | 3 +-
modules/kafka/README.txt | 4 +
modules/kafka/pom.xml | 2 +-
.../ignite/stream/kafka/KafkaStreamer.java | 50 +-
.../kafka/connect/IgniteSinkConnector.java | 9 +
.../kafka/connect/IgniteSinkConstants.java | 3 +
.../stream/kafka/connect/IgniteSinkTask.java | 47 +-
.../kafka/connect/IgniteSourceConnector.java | 9 +
.../serialization/CacheEventDeserializer.java | 3 +-
.../serialization/CacheEventSerializer.java | 3 +-
.../kafka/KafkaIgniteStreamerSelfTest.java | 36 +-
.../kafka/connect/IgniteSinkConnectorMock.java | 30 +
.../kafka/connect/IgniteSinkConnectorTest.java | 99 +-
.../kafka/connect/IgniteSinkTaskMock.java | 29 +
.../connect/IgniteSourceConnectorTest.java | 14 +-
modules/log4j/pom.xml | 2 +-
modules/log4j2/pom.xml | 2 +-
modules/mesos/pom.xml | 2 +-
modules/mqtt/pom.xml | 2 +-
modules/osgi-karaf/pom.xml | 2 +-
.../osgi-karaf/src/main/resources/features.xml | 12 +-
modules/osgi-paxlogging/pom.xml | 2 +-
modules/osgi/pom.xml | 2 +-
modules/platforms/cpp/DEVNOTES.txt | 23 +-
modules/platforms/cpp/README.txt | 10 +-
modules/platforms/cpp/binary/Makefile.am | 4 +-
.../ignite/impl/binary/binary_reader_impl.h | 2 +-
.../ignite/impl/binary/binary_type_manager.h | 14 +-
.../cpp/binary/project/vs/binary.vcxproj | 2 -
.../src/impl/binary/binary_reader_impl.cpp | 3 +-
modules/platforms/cpp/common/Makefile.am | 4 +-
.../common/include/ignite/common/concurrent.h | 10 +-
.../cpp/common/include/ignite/ignite_error.h | 15 +-
.../cpp/common/project/vs/common.vcxproj | 1 -
.../platforms/cpp/common/src/ignite_error.cpp | 6 +-
modules/platforms/cpp/configure.ac | 2 +-
modules/platforms/cpp/configure.acrel | 2 +-
modules/platforms/cpp/core-test/Makefile.am | 10 +-
.../cpp/core-test/config/cache-query.xml | 4 +-
.../cpp/core-test/src/cache_query_test.cpp | 300 +-
.../cpp/core-test/src/decimal_test.cpp | 2 +-
.../cpp/core-test/src/interop_memory_test.cpp | 5 +-
modules/platforms/cpp/core/Makefile.am | 5 +-
modules/platforms/cpp/core/include/Makefile.am | 1 +
.../cpp/core/include/ignite/cache/cache.h | 15 +-
.../include/ignite/cache/query/query_cursor.h | 6 +-
.../ignite/cache/query/query_fields_cursor.h | 4 +-
.../impl/binary/binary_type_updater_impl.h | 12 +-
.../core/include/ignite/impl/cache/cache_impl.h | 41 +-
.../ignite/impl/cache/query/query_batch.h | 148 +
.../impl/cache/query/query_fields_row_impl.h | 30 +-
.../ignite/impl/cache/query/query_impl.h | 30 +-
.../include/ignite/impl/ignite_environment.h | 49 +-
.../ignite/impl/interop/interop_target.h | 18 +
.../platforms/cpp/core/project/vs/core.vcxproj | 4 +-
.../cpp/core/project/vs/core.vcxproj.filters | 6 +
modules/platforms/cpp/core/src/ignition.cpp | 8 +-
.../impl/binary/binary_type_updater_impl.cpp | 13 +-
.../cpp/core/src/impl/cache/cache_impl.cpp | 48 +-
.../core/src/impl/cache/query/query_batch.cpp | 52 +
.../core/src/impl/cache/query/query_impl.cpp | 193 +-
.../cpp/core/src/impl/ignite_environment.cpp | 45 +-
.../core/src/impl/interop/interop_target.cpp | 29 +-
.../src/impl/transactions/transactions_impl.cpp | 135 +-
modules/platforms/cpp/examples/README.txt | 9 +-
modules/platforms/cpp/examples/configure.ac | 44 +-
.../cpp/examples/odbc-example/Makefile.am | 4 +-
.../odbc-example/config/example-odbc.xml | 38 +-
.../project/vs/odbc-example.vcxproj | 7 +-
.../project/vs/odbc-example.vcxproj.filters | 8 +
.../examples/odbc-example/src/odbc_example.cpp | 514 +-
.../cpp/examples/putget-example/Makefile.am | 4 +-
.../putget-example/src/putget_example.cpp | 2 +-
.../cpp/examples/query-example/Makefile.am | 4 +-
.../query-example/src/query_example.cpp | 58 +-
modules/platforms/cpp/ignite/Makefile.am | 4 +-
.../cpp/ignite/project/vs/ignite.vcxproj | 4 +-
modules/platforms/cpp/jni/Makefile.am | 4 +-
.../cpp/jni/include/ignite/jni/exports.h | 112 +-
.../platforms/cpp/jni/include/ignite/jni/java.h | 242 +-
.../cpp/jni/include/ignite/jni/utils.h | 91 +-
.../platforms/cpp/jni/project/vs/jni.vcxproj | 1 -
modules/platforms/cpp/jni/project/vs/module.def | 96 +-
modules/platforms/cpp/jni/src/exports.cpp | 375 +-
modules/platforms/cpp/jni/src/java.cpp | 1485 +-
modules/platforms/cpp/odbc-test/Makefile.am | 7 +-
.../odbc-test/config/queries-test-noodbc.xml | 4 +
.../cpp/odbc-test/config/queries-test.xml | 4 +
.../odbc-test/include/sql_test_suite_fixture.h | 6 +
.../platforms/cpp/odbc-test/include/test_type.h | 42 +-
.../cpp/odbc-test/include/test_utils.h | 8 +
.../cpp/odbc-test/project/vs/odbc-test.vcxproj | 3 +
.../project/vs/odbc-test.vcxproj.filters | 9 +
.../cpp/odbc-test/src/api_robustness_test.cpp | 1114 ++
.../src/application_data_buffer_test.cpp | 129 +-
.../platforms/cpp/odbc-test/src/column_test.cpp | 10 +-
.../cpp/odbc-test/src/configuration_test.cpp | 14 +-
.../cpp/odbc-test/src/queries_test.cpp | 631 +-
.../platforms/cpp/odbc-test/src/row_test.cpp | 4 +-
.../src/sql_date_time_functions_test.cpp | 213 +
.../cpp/odbc-test/src/sql_outer_join_test.cpp | 498 +
.../odbc-test/src/sql_string_functions_test.cpp | 63 +
.../odbc-test/src/sql_test_suite_fixture.cpp | 25 +-
modules/platforms/cpp/odbc/Makefile.am | 7 +-
modules/platforms/cpp/odbc/README.txt | 23 +-
.../platforms/cpp/odbc/include/ignite/odbc.h | 28 +-
.../ignite/odbc/app/application_data_buffer.h | 58 +-
.../odbc/include/ignite/odbc/app/parameter.h | 29 +-
.../cpp/odbc/include/ignite/odbc/common_types.h | 29 +-
.../include/ignite/odbc/config/configuration.h | 59 +-
.../ignite/odbc/diagnostic/diagnosable.h | 7 +
.../odbc/diagnostic/diagnosable_adapter.h | 10 +
.../ignite/odbc/diagnostic/diagnostic_record.h | 19 +
.../odbc/diagnostic/diagnostic_record_storage.h | 16 +
.../cpp/odbc/include/ignite/odbc/message.h | 138 +-
.../odbc/include/ignite/odbc/query/data_query.h | 12 +-
.../cpp/odbc/include/ignite/odbc/query/query.h | 44 +-
.../cpp/odbc/include/ignite/odbc/result_page.h | 3 -
.../cpp/odbc/include/ignite/odbc/statement.h | 183 +-
.../odbc/system/ui/dsn_configuration_window.h | 8 +
.../cpp/odbc/include/ignite/odbc/type_traits.h | 2 +-
.../cpp/odbc/include/ignite/odbc/utility.h | 11 +-
.../cpp/odbc/install/ignite-odbc-amd64.wxs | 114 +
.../cpp/odbc/install/ignite-odbc-install.ini | 1 +
.../cpp/odbc/install/ignite-odbc-x86.wxs | 114 +
.../cpp/odbc/install/install_amd64.cmd | 22 +-
.../platforms/cpp/odbc/install/install_x86.cmd | 11 +-
.../odbc/os/win/src/system/socket_client.cpp | 4 +-
.../src/system/ui/dsn_configuration_window.cpp | 23 +-
.../cpp/odbc/os/win/src/system/ui/window.cpp | 2 +-
.../platforms/cpp/odbc/project/vs/module.def | 1 -
.../platforms/cpp/odbc/project/vs/odbc.vcxproj | 6 +-
.../odbc/src/app/application_data_buffer.cpp | 382 +-
.../platforms/cpp/odbc/src/app/parameter.cpp | 129 +-
modules/platforms/cpp/odbc/src/column.cpp | 14 +-
modules/platforms/cpp/odbc/src/common_types.cpp | 3 +
.../cpp/odbc/src/config/configuration.cpp | 49 +-
.../cpp/odbc/src/config/connection_info.cpp | 59 +-
modules/platforms/cpp/odbc/src/connection.cpp | 25 +-
.../odbc/src/diagnostic/diagnostic_record.cpp | 34 +-
.../diagnostic/diagnostic_record_storage.cpp | 18 +
modules/platforms/cpp/odbc/src/dsn_config.cpp | 14 +-
modules/platforms/cpp/odbc/src/entry_points.cpp | 99 +-
modules/platforms/cpp/odbc/src/odbc.cpp | 434 +-
.../odbc/src/query/column_metadata_query.cpp | 2 +-
.../platforms/cpp/odbc/src/query/data_query.cpp | 8 +-
.../cpp/odbc/src/query/foreign_keys_query.cpp | 2 +-
.../cpp/odbc/src/query/primary_keys_query.cpp | 2 +-
.../odbc/src/query/special_columns_query.cpp | 2 +-
.../cpp/odbc/src/query/table_metadata_query.cpp | 2 +-
.../cpp/odbc/src/query/type_info_query.cpp | 2 +-
modules/platforms/cpp/odbc/src/statement.cpp | 531 +-
modules/platforms/cpp/odbc/src/utility.cpp | 22 +-
.../Apache.Ignite.AspNet.Tests.csproj | 77 +
.../Apache.Ignite.AspNet.Tests.snk | Bin 0 -> 596 bytes
.../Apache.Ignite.AspNet.Tests/App.config | 73 +
.../ExpiryCacheHolderTest.cs | 503 +
.../IgniteOutputCacheProviderTest.cs | 172 +
.../IgniteSessionStateItemCollectionTest.cs | 267 +
.../IgniteSessionStateStoreDataTest.cs | 117 +
.../IgniteSessionStateStoreProviderTest.cs | 488 +
.../Properties/AssemblyInfo.cs | 42 +
.../Apache.Ignite.AspNet.Tests/packages.config | 22 +
.../Apache.Ignite.AspNet.csproj | 9 +-
.../Apache.Ignite.AspNet.nuspec | 4 +-
.../Apache.Ignite.AspNet.ruleset | 3 +
.../IgniteOutputCacheProvider.cs | 120 +-
.../IgniteSessionStateStoreProvider.cs | 509 +
.../Apache.Ignite.AspNet/Impl/ConfigUtil.cs | 115 +
.../Impl/ExpiryCacheHolder.cs | 113 +
.../Impl/IgniteSessionStateItemCollection.cs | 534 +
.../Impl/IgniteSessionStateStoreData.cs | 116 +
.../Impl/SessionStateLockResult.cs | 91 +
.../Properties/AssemblyInfo.cs | 13 +-
.../Properties/AssemblyInfo.cs | 40 +-
.../Apache.Ignite.Core.Tests.NuGet.csproj | 21 +
.../EntityFrameworkCacheTest.cs | 62 +
.../Log4NetTest.cs | 87 +
.../Properties/AssemblyInfo.cs | 38 +-
.../packages.config | 4 +
.../Properties/AssemblyInfo.cs | 40 +-
.../Apache.Ignite.Core.Tests.csproj | 23 +-
.../AspNet/IgniteOutputCacheProviderTest.cs | 172 -
.../Binary/BinaryCompactFooterInteropTest.cs | 31 +-
.../Binary/BinaryReaderWriterTest.cs | 29 +
.../Affinity/AffinityFunctionSpringTest.cs | 38 +-
.../Cache/Affinity/AffinityFunctionTest.cs | 33 +-
.../Cache/CacheAbstractTest.cs | 121 +-
.../Cache/CacheConfigurationTest.cs | 25 +-
.../Cache/CacheMetricsTest.cs | 252 +
.../Cache/CacheSwapSpaceTest.cs | 122 +
.../Cache/CacheTestAsyncWrapper.cs | 13 +
.../Cache/Query/CacheQueriesTest.cs | 50 +-
.../Compute/ComputeApiTest.cs | 26 +
.../Dataload/DataStreamerTestTopologyChange.cs | 27 +-
.../Examples/Example.cs | 6 +-
.../Examples/ExamplesTest.cs | 43 +-
.../Apache.Ignite.Core.Tests/ExceptionsTest.cs | 3 +
.../Apache.Ignite.Core.Tests/ExecutableTest.cs | 64 +-
.../IgniteConfigurationSectionTest.cs | 20 +
.../IgniteConfigurationSerializerTest.cs | 48 +-
.../IgniteConfigurationTest.cs | 48 +-
.../Log/Log4NetLoggerTest.cs | 188 +
.../Process/IgniteProcess.cs | 21 +-
.../ProjectFilesTest.cs | 98 +-
.../Properties/AssemblyInfo.cs | 40 +-
.../Apache.Ignite.Core.Tests/ReconnectTest.cs | 83 +-
.../Services/ServicesTest.cs | 45 +-
.../Apache.Ignite.Core.Tests/TestRunner.cs | 37 +-
.../Apache.Ignite.Core.Tests/TestUtils.cs | 5 +-
.../dotnet/Apache.Ignite.Core.Tests/app.config | 1 +
.../Apache.Ignite.Core.Tests/custom_app.config | 1 +
.../Apache.Ignite.Core.Tests/packages.config | 22 +-
.../Apache.Ignite.Core.csproj | 13 +-
.../Binary/BinaryConfiguration.cs | 5 +-
.../Cache/Configuration/CacheConfiguration.cs | 22 +
.../dotnet/Apache.Ignite.Core/Cache/ICache.cs | 19 +-
.../Apache.Ignite.Core/Cache/ICacheLock.cs | 2 +-
.../Apache.Ignite.Core/Cache/ICacheMetrics.cs | 244 +-
.../Apache.Ignite.Core/Cluster/IClusterGroup.cs | 14 +
.../Compute/ComputeTaskSplitAdapter.cs | 2 +-
.../Apache.Ignite.Core/Compute/ICompute.cs | 6 +-
.../Apache.Ignite.Core/IgniteConfiguration.cs | 39 +-
.../IgniteConfigurationSection.xsd | 63 +-
.../dotnet/Apache.Ignite.Core/Ignition.cs | 12 +
.../Apache.Ignite.Core/Impl/Binary/Binary.cs | 2 +-
.../Impl/Binary/BinaryObjectHeader.cs | 2 +-
.../Impl/Binary/BinaryObjectSchemaSerializer.cs | 2 +-
.../Impl/Binary/BinaryProcessor.cs | 156 +
.../Impl/Binary/BinaryReader.cs | 3 +-
.../Impl/Binary/BinaryUtils.cs | 12 +
.../Impl/Binary/BinaryWriter.cs | 6 +-
.../Impl/Binary/Marshaller.cs | 11 +-
.../Impl/Cache/CacheAffinityImpl.cs | 5 +-
.../Apache.Ignite.Core/Impl/Cache/CacheImpl.cs | 554 +-
.../Apache.Ignite.Core/Impl/Cache/CacheLock.cs | 24 +-
.../Impl/Cache/CacheMetricsImpl.cs | 617 +-
.../Apache.Ignite.Core/Impl/Cache/CacheOp.cs | 47 +-
.../Impl/Cache/Expiry/ExpiryPolicyFactory.cs | 46 +
.../Impl/Cache/Expiry/ExpiryPolicySerializer.cs | 134 +
.../Impl/Cache/ICacheInternal.cs | 14 +
.../Impl/Cache/ICacheLockInternal.cs | 47 +
.../Impl/Cache/Query/AbstractQueryCursor.cs | 10 +-
.../Continuous/ContinuousQueryHandleImpl.cs | 117 +-
.../Impl/Cache/Query/FieldsQueryCursor.cs | 3 +
.../Impl/Cache/Store/CacheStore.cs | 108 +-
.../Impl/Cluster/ClusterGroupImpl.cs | 150 +-
.../Impl/Cluster/IClusterGroupEx.cs | 35 -
.../Apache.Ignite.Core/Impl/Common/Fnv1Hash.cs | 2 +-
.../Apache.Ignite.Core/Impl/Common/Future.cs | 39 +-
.../Common/IgniteConfigurationXmlSerializer.cs | 21 +-
.../Impl/Common/Listenable.cs | 49 +
.../Impl/Compute/ComputeFunc.cs | 5 +-
.../Impl/Compute/ComputeImpl.cs | 50 +-
.../Impl/Compute/ComputeJob.cs | 10 +-
.../Impl/Compute/ComputeOutFunc.cs | 5 +-
.../Impl/DataStructures/AtomicLong.cs | 34 +-
.../Impl/DataStructures/AtomicReference.cs | 8 +-
.../Impl/DataStructures/AtomicSequence.cs | 26 +-
.../Impl/Datastream/DataStreamerImpl.cs | 49 +-
.../Apache.Ignite.Core/Impl/Events/Events.cs | 180 +-
.../Apache.Ignite.Core/Impl/ExceptionUtils.cs | 1 +
.../Impl/Handle/HandleRegistry.cs | 8 +-
.../dotnet/Apache.Ignite.Core/Impl/Ignite.cs | 41 +-
.../Apache.Ignite.Core/Impl/IgniteProxy.cs | 15 +-
.../Apache.Ignite.Core/Impl/IgniteUtils.cs | 2 +-
.../Memory/PlatformBigEndianMemoryStream.cs | 34 +-
.../Impl/Messaging/Messaging.cs | 113 +-
.../Apache.Ignite.Core/Impl/PlatformTarget.cs | 268 +-
.../Impl/Services/Services.cs | 148 +-
.../Impl/SwapSpace/SwapSpaceSerializer.cs | 99 +
.../Impl/Transactions/TransactionsImpl.cs | 64 +-
.../Impl/Unmanaged/IgniteJniNativeMethods.cs | 288 +-
.../Impl/Unmanaged/UnmanagedCallbacks.cs | 59 +-
.../Impl/Unmanaged/UnmanagedTarget.cs | 2 +-
.../Impl/Unmanaged/UnmanagedUtils.cs | 569 +-
.../dotnet/Apache.Ignite.Core/NuGet/Install.ps1 | 14 +
.../NuGet/LINQPad/PutGetExample.linq | 2 +-
.../NuGet/LINQPad/QueryExample.linq | 6 +-
.../Apache.Ignite.Core/NuGet/Uninstall.ps1 | 14 +
.../Properties/AssemblyInfo.cs | 43 +-
.../SwapSpace/File/FileSwapSpaceSpi.cs | 105 +
.../SwapSpace/ISwapSpaceSpi.cs | 35 +
.../Transactions/ITransactions.cs | 2 +-
.../TransactionDeadlockException.cs | 71 +
.../Apache.Ignite.EntityFramework.Tests.csproj | 96 +
.../Apache.Ignite.EntityFramework.Tests.snk | Bin 0 -> 596 bytes
.../App.config | 71 +
.../ArrayDbDataReaderTests.cs | 192 +
.../DbCachingPolicyTest.cs | 43 +
.../EntityFrameworkCacheInitializationTest.cs | 137 +
.../EntityFrameworkCacheTest.cs | 951 ++
.../Properties/AssemblyInfo.cs | 39 +
.../packages.config | 23 +
.../Apache.Ignite.EntityFramework.csproj | 95 +
.../Apache.Ignite.EntityFramework.nuspec | 57 +
.../Apache.Ignite.EntityFramework.snk | Bin 0 -> 596 bytes
.../DbCachingMode.cs | 48 +
.../DbCachingPolicy.cs | 72 +
.../DbQueryInfo.cs | 78 +
.../IDbCachingPolicy.cs | 58 +
.../IgniteDbConfiguration.cs | 340 +
.../Impl/ArrayDbDataReader.cs | 305 +
.../Impl/DataReaderField.cs | 74 +
.../Impl/DataReaderResult.cs | 93 +
.../Impl/DbCache.cs | 295 +
.../Impl/DbCacheKey.cs | 92 +
.../Impl/DbCommandDefinitionProxy.cs | 51 +
.../Impl/DbCommandInfo.cs | 158 +
.../Impl/DbCommandProxy.cs | 263 +
.../Impl/DbProviderServicesProxy.cs | 169 +
.../Impl/DbTransactionInterceptor.cs | 134 +
.../Properties/AssemblyInfo.cs | 41 +
.../packages.config | 20 +
.../Apache.Ignite.Linq.csproj | 2 +-
.../Apache.Ignite.Linq/ICacheQueryable.cs | 32 +-
.../NuGet/LINQPad/QueryExample.linq | 4 +-
.../Properties/AssemblyInfo.cs | 42 +-
.../Apache.Ignite.Log4Net.csproj | 76 +
.../Apache.Ignite.Log4Net.nuspec | 50 +
.../Apache.Ignite.Log4Net.snk | Bin 0 -> 596 bytes
.../IgniteLog4NetLogger.cs | 123 +
.../Properties/AssemblyInfo.cs | 40 +
.../Apache.Ignite.Log4Net/packages.config | 20 +
.../Apache.Ignite.NLog.csproj | 4 +-
.../Properties/AssemblyInfo.cs | 8 +-
.../dotnet/Apache.Ignite.NLog/packages.config | 18 +
modules/platforms/dotnet/Apache.Ignite.sln | 61 +
.../dotnet/Apache.Ignite.sln.DotSettings | 3 +-
.../Apache.Ignite.sln.TeamCity.DotSettings | 1 +
.../Apache.Ignite/Config/ArgsConfigurator.cs | 7 +-
.../dotnet/Apache.Ignite/Config/Configurator.cs | 10 +
.../Apache.Ignite/Properties/AssemblyInfo.cs | 40 +-
modules/platforms/dotnet/README.md | 150 +
modules/platforms/dotnet/README.txt | 13 +-
.../Apache.Ignite.Examples.csproj | 9 +
.../examples/Apache.Ignite.Examples/App.config | 1 +
.../DataStructures/AtomicLongExample.cs | 65 +
.../DataStructures/AtomicReferenceExample.cs | 65 +
.../DataStructures/AtomicSequenceExample.cs | 88 +
.../Datagrid/EntryProcessorExample.cs | 90 +
.../Datagrid/LinqExample.cs | 6 +-
.../Datagrid/MultiTieredCacheExample.cs | 138 +
.../Datagrid/NearCacheExample.cs | 87 +
.../Datagrid/OptimisticTransactionExample.cs | 110 +
.../Datagrid/QueryExample.cs | 24 +-
.../TransactionDeadlockDetectionExample.cs | 121 +
.../Misc/ClientReconnectExample.cs | 159 +
.../Properties/AssemblyInfo.cs | 44 +-
.../Apache.Ignite.ExamplesDll.csproj | 6 +
.../Binary/Employee.cs | 5 +-
.../Compute/AverageSalaryJob.cs | 5 +-
.../DataStructures/AtomicLongIncrementAction.cs | 49 +
.../AtomicReferenceModifyAction.cs | 61 +
.../AtomicSequenceIncrementAction.cs | 49 +
.../Datagrid/CacheIncrementEntryProcessor.cs | 45 +
.../Datagrid/CachePutEntryProcessor.cs | 45 +
.../Datagrid/ScanQueryFilter.cs | 50 +
.../Events/LocalListener.cs | 2 +-
.../Properties/AssemblyInfo.cs | 42 +-
modules/rest-http/pom.xml | 2 +-
modules/scalar-2.10/pom.xml | 2 +-
modules/scalar/pom.xml | 2 +-
modules/schedule/pom.xml | 2 +-
modules/schema-import-db/pom.xml | 2 +-
.../apache/ignite/schema/parser/DbColumn.java | 16 +-
.../parser/dialect/DatabaseMetadataDialect.java | 9 +
.../parser/dialect/JdbcMetadataDialect.java | 21 +-
.../parser/dialect/MySQLMetadataDialect.java | 24 +-
.../parser/dialect/OracleMetadataDialect.java | 5 +-
modules/schema-import/pom.xml | 2 +-
.../ignite/schema/model/PojoDescriptor.java | 24 +-
modules/slf4j/pom.xml | 2 +-
modules/spark-2.10/pom.xml | 2 +-
modules/spark/pom.xml | 2 +-
modules/spring/pom.xml | 2 +-
.../org/apache/ignite/IgniteSpringBean.java | 23 +-
.../src/test/config/incorrect-store-cache.xml | 2 +
.../src/test/config/jdbc-pojo-store-builtin.xml | 15 +-
.../src/test/config/jdbc-pojo-store-obj.xml | 15 +-
modules/spring/src/test/config/node.xml | 2 +
modules/spring/src/test/config/node1.xml | 2 +
.../test/config/pojo-incorrect-store-cache.xml | 2 +
modules/spring/src/test/config/store-cache.xml | 2 +
modules/spring/src/test/config/store-cache1.xml | 2 +
.../jdbc/CacheJdbcBlobStoreFactorySelfTest.java | 12 +-
.../jdbc/CacheJdbcPojoStoreFactorySelfTest.java | 14 +-
.../store/jdbc/CachePojoStoreXmlSelfTest.java | 13 +-
.../CachePojoStoreXmlWithSqlEscapeSelfTest.java | 28 +
.../p2p/GridP2PUserVersionChangeSelfTest.java | 7 +-
.../IgniteStartFromStreamConfigurationTest.java | 18 +-
.../testsuites/IgniteResourceSelfTestSuite.java | 11 +-
.../testsuites/IgniteSpringTestSuite.java | 20 +-
modules/ssh/pom.xml | 2 +-
modules/storm/pom.xml | 2 +-
modules/tools/pom.xml | 2 +-
.../ignite/tools/classgen/ClassesGenerator.java | 8 +-
modules/twitter/pom.xml | 2 +-
modules/urideploy/pom.xml | 2 +-
.../spi/deployment/uri/UriDeploymentSpi.java | 2 +-
.../scanners/http/UriDeploymentHttpScanner.java | 8 +-
modules/visor-console-2.10/pom.xml | 2 +-
modules/visor-console/pom.xml | 2 +-
.../commands/cache/VisorCacheCommand.scala | 7 +-
.../scala/org/apache/ignite/visor/visor.scala | 2 +-
modules/visor-plugins/pom.xml | 2 +-
modules/web-agent/.gitignore | 2 -
modules/web-agent/README.txt | 88 -
.../web-agent/assembly/release-web-agent.xml | 72 -
modules/web-agent/bin/ignite-web-agent.bat | 70 -
modules/web-agent/bin/ignite-web-agent.sh | 87 -
modules/web-agent/demo/README.txt | 4 -
modules/web-agent/demo/db-init.sql | 102 -
modules/web-agent/jdbc-drivers/README.txt | 10 -
modules/web-agent/logs/README.txt | 5 -
modules/web-agent/pom.xml | 189 -
.../console/agent/AgentConfiguration.java | 268 -
.../ignite/console/agent/AgentLauncher.java | 344 -
.../apache/ignite/console/agent/AgentUtils.java | 111 -
.../console/agent/handlers/AbstractHandler.java | 110 -
.../console/agent/handlers/DatabaseHandler.java | 298 -
.../console/agent/handlers/RestHandler.java | 276 -
.../ignite/console/demo/AgentClusterDemo.java | 638 -
.../ignite/console/demo/AgentMetadataDemo.java | 92 -
.../apache/ignite/console/demo/model/Car.java | 152 -
.../ignite/console/demo/model/Country.java | 152 -
.../ignite/console/demo/model/Department.java | 152 -
.../ignite/console/demo/model/Employee.java | 356 -
.../ignite/console/demo/model/Parking.java | 152 -
.../src/main/resources/log4j.properties | 53 -
modules/web-console/.gitignore | 6 +
modules/web-console/DEVNOTES.txt | 37 +-
modules/web-console/backend/.eslintrc | 186 +
modules/web-console/backend/.gitignore | 6 +
.../web-console/backend/agent_dists/README.txt | 7 +
modules/web-console/backend/app/agent.js | 833 ++
modules/web-console/backend/app/app.js | 63 +
modules/web-console/backend/app/browser.js | 456 +
modules/web-console/backend/app/configure.js | 86 +
modules/web-console/backend/app/mongo.js | 873 ++
modules/web-console/backend/app/mongoose.js | 29 +
modules/web-console/backend/app/nconf.js | 48 +
modules/web-console/backend/app/routes.js | 64 +
modules/web-console/backend/app/settings.js | 78 +
.../backend/config/settings.json.sample | 23 +
.../backend/errors/AppErrorException.js | 36 +
.../backend/errors/AuthFailedException.js | 30 +
.../backend/errors/DuplicateKeyException.js | 28 +
.../backend/errors/IllegalAccessError.js | 29 +
.../backend/errors/IllegalArgumentException.js | 29 +
.../backend/errors/MissingResourceException.js | 30 +
.../backend/errors/ServerErrorException.js | 36 +
modules/web-console/backend/errors/index.js | 41 +
modules/web-console/backend/index.js | 106 +
modules/web-console/backend/injector.js | 30 +
modules/web-console/backend/middlewares/api.js | 44 +
modules/web-console/backend/middlewares/host.js | 40 +
modules/web-console/backend/middlewares/user.js | 36 +
modules/web-console/backend/package.json | 62 +
modules/web-console/backend/routes/admin.js | 84 +
modules/web-console/backend/routes/agent.js | 51 +
modules/web-console/backend/routes/caches.js | 65 +
modules/web-console/backend/routes/clusters.js | 64 +
.../web-console/backend/routes/configuration.js | 41 +
modules/web-console/backend/routes/demo.js | 133 +
.../web-console/backend/routes/demo/caches.json | 87 +
.../backend/routes/demo/clusters.json | 50 +
.../backend/routes/demo/domains.json | 312 +
.../web-console/backend/routes/demo/igfss.json | 10 +
modules/web-console/backend/routes/domains.js | 76 +
modules/web-console/backend/routes/igfss.js | 65 +
modules/web-console/backend/routes/notebooks.js | 80 +
modules/web-console/backend/routes/profile.js | 73 +
modules/web-console/backend/routes/public.js | 129 +
modules/web-console/backend/services/agents.js | 83 +
modules/web-console/backend/services/auth.js | 118 +
modules/web-console/backend/services/caches.js | 154 +
.../web-console/backend/services/clusters.js | 148 +
.../backend/services/configurations.js | 59 +
modules/web-console/backend/services/domains.js | 195 +
modules/web-console/backend/services/igfss.js | 144 +
modules/web-console/backend/services/mails.js | 131 +
.../web-console/backend/services/notebooks.js | 104 +
.../web-console/backend/services/sessions.js | 65 +
modules/web-console/backend/services/spaces.js | 75 +
modules/web-console/backend/services/users.js | 229 +
modules/web-console/backend/test/app/db.js | 66 +
.../web-console/backend/test/app/httpAgent.js | 50 +
.../web-console/backend/test/app/mockgoose.js | 30 +
.../backend/test/config/settings.json | 20 +
.../web-console/backend/test/data/accounts.json | 19 +
.../web-console/backend/test/data/caches.json | 97 +
.../web-console/backend/test/data/clusters.json | 54 +
.../web-console/backend/test/data/domains.json | 317 +
.../web-console/backend/test/data/igfss.json | 12 +
.../web-console/backend/test/data/spaces.json | 14 +
modules/web-console/backend/test/index.js | 35 +
modules/web-console/backend/test/injector.js | 48 +
.../web-console/backend/test/routes/clusters.js | 83 +
.../web-console/backend/test/routes/public.js | 68 +
.../backend/test/unit/AuthService.test.js | 105 +
.../backend/test/unit/CacheService.test.js | 147 +
.../backend/test/unit/ClusterService.test.js | 147 +
.../backend/test/unit/DomainService.test.js | 167 +
.../backend/test/unit/IgfsService.test.js | 145 +
.../docker/compose/backend/.dockerignore | 3 +
.../docker/compose/backend/Dockerfile | 30 +
.../web-console/docker/compose/backend/build.sh | 57 +
.../docker/compose/docker-compose.yml | 54 +
.../docker/compose/frontend/.dockerignore | 3 +
.../docker/compose/frontend/Dockerfile | 32 +
.../docker/compose/frontend/DockerfileBuild | 30 +
.../docker/compose/frontend/build.sh | 59 +
.../docker/compose/frontend/nginx/nginx.conf | 57 +
.../compose/frontend/nginx/web-console.conf | 68 +
.../web-console/docker/standalone/.dockerignore | 7 +
.../web-console/docker/standalone/Dockerfile | 87 +
modules/web-console/docker/standalone/build.sh | 59 +
.../docker/standalone/docker-compose.yml | 36 +
.../web-console/docker/standalone/entrypoint.sh | 23 +
.../docker/standalone/nginx/nginx.conf | 55 +
.../docker/standalone/nginx/web-console.conf | 63 +
modules/web-console/frontend/.babelrc | 9 +
modules/web-console/frontend/.eslintrc | 198 +
modules/web-console/frontend/.gitignore | 7 +
modules/web-console/frontend/app/app.config.js | 96 +
modules/web-console/frontend/app/app.js | 272 +
.../frontend/app/controllers/auth.controller.js | 30 +
.../controllers/reset-password.controller.js | 50 +
.../web-console/frontend/app/data/colors.json | 22 +
.../frontend/app/data/countries.json | 94 +
.../frontend/app/data/demo-info.json | 14 +
.../web-console/frontend/app/data/dialects.json | 9 +
.../frontend/app/data/event-types.json | 169 +
.../frontend/app/data/getting-started.json | 109 +
.../frontend/app/data/java-classes.json | 21 +
.../frontend/app/data/java-keywords.json | 55 +
.../frontend/app/data/java-primitives.json | 9 +
.../frontend/app/data/jdbc-types.json | 44 +
.../frontend/app/data/pom-dependencies.json | 20 +
.../frontend/app/data/sql-keywords.json | 41 +
.../frontend/app/decorator/select.js | 77 +
.../frontend/app/decorator/tooltip.js | 73 +
.../app/directives/auto-focus.directive.js | 26 +
.../app/directives/bs-affix-update.directive.js | 34 +
.../app/directives/centered/centered.css | 37 +
.../directives/centered/centered.directive.js | 26 +
.../directives/copy-to-clipboard.directive.js | 29 +
.../hide-on-state-change.directive.js | 31 +
.../information/information.directive.js | 30 +
.../app/directives/information/information.jade | 20 +
.../app/directives/information/information.scss | 56 +
.../frontend/app/directives/match.directive.js | 27 +
.../app/directives/on-click-focus.directive.js | 26 +
.../directives/on-enter-focus-move.directive.js | 29 +
.../app/directives/on-enter.directive.js | 32 +
.../app/directives/on-escape.directive.js | 32 +
.../app/directives/on-focus-out.directive.js | 37 +
.../directives/restore-input-focus.directive.js | 24 +
.../directives/retain-selection.directive.js | 67 +
.../ui-ace-docker/ui-ace-docker.controller.js | 33 +
.../ui-ace-docker/ui-ace-docker.directive.js | 46 +
.../directives/ui-ace-docker/ui-ace-docker.jade | 31 +
.../ui-ace-java/ui-ace-java.controller.js | 92 +
.../ui-ace-java/ui-ace-java.directive.js | 63 +
.../app/directives/ui-ace-java/ui-ace-java.jade | 22 +
.../ui-ace-pojos/ui-ace-pojos.controller.js | 95 +
.../ui-ace-pojos/ui-ace-pojos.directive.js | 46 +
.../directives/ui-ace-pojos/ui-ace-pojos.jade | 40 +
.../ui-ace-pom/ui-ace-pom.controller.js | 33 +
.../ui-ace-pom/ui-ace-pom.directive.js | 41 +
.../app/directives/ui-ace-pom/ui-ace-pom.jade | 17 +
.../ui-ace-sharp/ui-ace-sharp.controller.js | 32 +
.../ui-ace-sharp/ui-ace-sharp.directive.js | 133 +
.../directives/ui-ace-sharp/ui-ace-sharp.jade | 22 +
.../ui-ace-spring/ui-ace-spring.controller.js | 88 +
.../ui-ace-spring/ui-ace-spring.directive.js | 66 +
.../directives/ui-ace-spring/ui-ace-spring.jade | 17 +
.../app/directives/ui-ace-tabs.directive.js | 24 +
.../ui-grid-settings/ui-grid-settings.jade | 33 +
.../ui-grid-settings/ui-grid-settings.scss | 38 +
.../frontend/app/filters/byName.filter.js | 23 +
.../frontend/app/filters/default-name.filter.js | 21 +
.../app/filters/domainsValidation.filter.js | 33 +
.../frontend/app/filters/duration.filter.js | 41 +
.../frontend/app/filters/hasPojo.filter.js | 21 +
.../frontend/app/helpers/jade/form.jade | 28 +
.../helpers/jade/form/form-field-checkbox.jade | 38 +
.../helpers/jade/form/form-field-datalist.jade | 51 +
.../app/helpers/jade/form/form-field-down.jade | 18 +
.../helpers/jade/form/form-field-dropdown.jade | 50 +
.../helpers/jade/form/form-field-feedback.jade | 32 +
.../app/helpers/jade/form/form-field-label.jade | 23 +
.../helpers/jade/form/form-field-number.jade | 52 +
.../helpers/jade/form/form-field-password.jade | 47 +
.../app/helpers/jade/form/form-field-text.jade | 47 +
.../app/helpers/jade/form/form-field-up.jade | 18 +
.../app/helpers/jade/form/form-group.jade | 23 +
.../frontend/app/helpers/jade/mixins.jade | 563 +
.../frontend/app/modules/Demo/Demo.module.js | 166 +
.../frontend/app/modules/ace.module.js | 269 +
.../frontend/app/modules/agent/agent.module.js | 343 +
.../app/modules/branding/branding.module.js | 45 +
.../app/modules/branding/branding.provider.js | 111 +
.../app/modules/branding/features.directive.js | 35 +
.../app/modules/branding/footer.directive.js | 34 +
.../modules/branding/header-logo.directive.js | 34 +
.../app/modules/branding/header-logo.jade | 18 +
.../modules/branding/header-title.directive.js | 35 +
.../branding/powered-by-apache.directive.js | 35 +
.../app/modules/branding/powered-by-apache.jade | 18 +
.../app/modules/branding/terms.directive.js | 30 +
.../configuration/EventGroups.provider.js | 30 +
.../modules/configuration/Sidebar.provider.js | 39 +
.../modules/configuration/Version.service.js | 95 +
.../configuration/configuration.module.js | 65 +
.../generator/AbstractTransformer.js | 341 +
.../modules/configuration/generator/Beans.js | 385 +
.../generator/ConfigurationGenerator.js | 1794 +++
.../configuration/generator/Docker.service.js | 78 +
.../generator/JavaTransformer.service.js | 1724 +++
.../generator/PlatformGenerator.js | 522 +
.../configuration/generator/Pom.service.js | 233 +
.../generator/Properties.service.js | 93 +
.../configuration/generator/Readme.service.js | 79 +
.../generator/SharpTransformer.service.js | 243 +
.../generator/SpringTransformer.service.js | 333 +
.../configuration/generator/StringBuilder.js | 76 +
.../defaults/cache.platform.provider.js | 60 +
.../generator/defaults/cache.provider.js | 137 +
.../defaults/cluster.platform.provider.js | 49 +
.../generator/defaults/cluster.provider.js | 293 +
.../generator/defaults/igfs.provider.js | 68 +
.../configuration/generator/generator-common.js | 625 +
.../configuration/generator/generator-java.js | 3617 +++++
.../generator/generator-optional.js | 25 +
.../configuration/generator/generator-spring.js | 2111 +++
.../modules/configuration/sidebar.directive.js | 30 +
.../modules/dialog/dialog-content.directive.js | 31 +
.../modules/dialog/dialog-title.directive.js | 31 +
.../app/modules/dialog/dialog.controller.js | 40 +
.../app/modules/dialog/dialog.directive.js | 32 +
.../app/modules/dialog/dialog.factory.js | 32 +
.../frontend/app/modules/dialog/dialog.jade | 26 +
.../app/modules/dialog/dialog.module.js | 32 +
.../field/bs-select-placeholder.directive.js | 47 +
.../app/modules/form/field/down.directive.js | 39 +
.../app/modules/form/field/feedback.scss | 37 +
.../frontend/app/modules/form/field/field.scss | 43 +
.../field/form-control-feedback.directive.js | 40 +
.../form/field/input/autofocus.directive.js | 30 +
.../app/modules/form/field/input/text.scss | 40 +
.../app/modules/form/field/label.directive.js | 47 +
.../app/modules/form/field/tooltip.directive.js | 49 +
.../app/modules/form/field/up.directive.js | 39 +
.../frontend/app/modules/form/form.module.js | 94 +
.../app/modules/form/group/add.directive.js | 40 +
.../app/modules/form/group/tooltip.directive.js | 40 +
.../app/modules/form/panel/chevron.directive.js | 53 +
.../app/modules/form/panel/field.directive.js | 69 +
.../app/modules/form/panel/panel.directive.js | 37 +
.../app/modules/form/panel/revert.directive.js | 54 +
.../modules/form/services/FormGUID.service.js | 22 +
.../form/validator/ipaddress.directive.js | 86 +
.../validator/java-built-in-class.directive.js | 35 +
.../form/validator/java-identifier.directive.js | 35 +
.../form/validator/java-keywords.directive.js | 39 +
.../validator/java-package-name.directive.js | 31 +
.../java-package-specified.directive.js | 39 +
.../form/validator/property-unique.directive.js | 47 +
.../property-value-specified.directive.js | 31 +
.../modules/form/validator/unique.directive.js | 49 +
.../modules/form/validator/uuid.directive.js | 31 +
.../getting-started/GettingStarted.provider.js | 112 +
.../frontend/app/modules/loading/loading.css | 73 +
.../app/modules/loading/loading.directive.js | 51 +
.../frontend/app/modules/loading/loading.jade | 23 +
.../app/modules/loading/loading.module.js | 26 +
.../app/modules/loading/loading.service.js | 48 +
.../app/modules/navbar/Navbar.provider.js | 28 +
.../app/modules/navbar/Userbar.provider.js | 28 +
.../app/modules/navbar/navbar.directive.js | 30 +
.../app/modules/navbar/navbar.module.js | 33 +
.../app/modules/navbar/userbar.directive.js | 48 +
.../frontend/app/modules/nodes/Nodes.service.js | 69 +
.../modules/nodes/nodes-dialog.controller.js | 68 +
.../app/modules/nodes/nodes-dialog.jade | 35 +
.../app/modules/nodes/nodes-dialog.scss | 37 +
.../frontend/app/modules/nodes/nodes.module.js | 27 +
.../frontend/app/modules/socket.module.js | 41 +
.../frontend/app/modules/sql/Notebook.data.js | 165 +
.../app/modules/sql/Notebook.service.js | 74 +
.../app/modules/sql/notebook.controller.js | 60 +
.../app/modules/sql/scan-filter-input.jade | 39 +
.../modules/sql/scan-filter-input.service.js | 51 +
.../frontend/app/modules/sql/sql.controller.js | 1721 +++
.../frontend/app/modules/sql/sql.module.js | 60 +
.../frontend/app/modules/states/admin.state.js | 35 +
.../app/modules/states/configuration.state.js | 97 +
.../configuration/Configuration.resource.js | 42 +
.../configuration/caches/client-near-cache.jade | 50 +
.../configuration/caches/concurrency.jade | 65 +
.../states/configuration/caches/general.jade | 69 +
.../states/configuration/caches/memory.jade | 109 +
.../configuration/caches/near-cache-client.jade | 51 +
.../configuration/caches/near-cache-server.jade | 52 +
.../configuration/caches/node-filter.jade | 59 +
.../states/configuration/caches/query.jade | 111 +
.../states/configuration/caches/rebalance.jade | 66 +
.../states/configuration/caches/statistics.jade | 39 +
.../states/configuration/caches/store.jade | 250 +
.../states/configuration/clusters/atomic.jade | 54 +
.../configuration/clusters/attributes.jade | 57 +
.../states/configuration/clusters/binary.jade | 77 +
.../configuration/clusters/cache-key-cfg.jade | 50 +
.../configuration/clusters/checkpoint.jade | 85 +
.../configuration/clusters/checkpoint/fs.jade | 66 +
.../configuration/clusters/checkpoint/jdbc.jade | 46 +
.../configuration/clusters/checkpoint/s3.jade | 177 +
.../configuration/clusters/collision.jade | 63 +
.../clusters/collision/custom.jade | 24 +
.../clusters/collision/fifo-queue.jade | 27 +
.../clusters/collision/job-stealing.jade | 63 +
.../clusters/collision/priority-queue.jade | 42 +
.../configuration/clusters/communication.jade | 100 +
.../configuration/clusters/connector.jade | 104 +
.../configuration/clusters/deployment.jade | 114 +
.../configuration/clusters/discovery.jade | 88 +
.../states/configuration/clusters/events.jade | 68 +
.../states/configuration/clusters/failover.jade | 73 +
.../states/configuration/clusters/general.jade | 76 +
.../clusters/general/discovery/cloud.jade | 134 +
.../clusters/general/discovery/google.jade | 38 +
.../clusters/general/discovery/jdbc.jade | 31 +
.../clusters/general/discovery/multicast.jade | 99 +
.../clusters/general/discovery/s3.jade | 27 +
.../clusters/general/discovery/shared.jade | 23 +
.../clusters/general/discovery/vm.jade | 79 +
.../clusters/general/discovery/zookeeper.jade | 85 +
.../bounded-exponential-backoff.jade | 27 +
.../discovery/zookeeper/retrypolicy/custom.jade | 24 +
.../retrypolicy/exponential-backoff.jade | 27 +
.../zookeeper/retrypolicy/forever.jade | 22 +
.../zookeeper/retrypolicy/n-times.jade | 25 +
.../zookeeper/retrypolicy/one-time.jade | 23 +
.../zookeeper/retrypolicy/until-elapsed.jade | 25 +
.../states/configuration/clusters/igfs.jade | 38 +
.../configuration/clusters/load-balancing.jade | 104 +
.../states/configuration/clusters/logger.jade | 66 +
.../configuration/clusters/logger/custom.jade | 25 +
.../configuration/clusters/logger/log4j.jade | 50 +
.../configuration/clusters/logger/log4j2.jade | 39 +
.../configuration/clusters/marshaller.jade | 76 +
.../states/configuration/clusters/metrics.jade | 51 +
.../states/configuration/clusters/odbc.jade | 48 +
.../states/configuration/clusters/ssl.jade | 110 +
.../states/configuration/clusters/swap.jade | 72 +
.../states/configuration/clusters/thread.jade | 48 +
.../states/configuration/clusters/time.jade | 47 +
.../configuration/clusters/transactions.jade | 69 +
.../states/configuration/domains/general.jade | 52 +
.../states/configuration/domains/query.jade | 172 +
.../states/configuration/domains/store.jade | 127 +
.../modules/states/configuration/igfs/dual.jade | 42 +
.../states/configuration/igfs/fragmentizer.jade | 43 +
.../states/configuration/igfs/general.jade | 57 +
.../modules/states/configuration/igfs/ipc.jade | 60 +
.../modules/states/configuration/igfs/misc.jade | 108 +
.../states/configuration/igfs/secondary.jade | 45 +
.../configuration/preview-panel.directive.js | 239 +
.../summary/summary-tabs.directive.js | 50 +
.../configuration/summary/summary.controller.js | 405 +
.../frontend/app/modules/states/errors.state.js | 43 +
.../frontend/app/modules/states/logout.state.js | 35 +
.../app/modules/states/password.state.js | 46 +
.../app/modules/states/profile.state.js | 35 +
.../frontend/app/modules/states/signin.state.js | 43 +
.../app/modules/user/AclRoute.provider.js | 47 +
.../frontend/app/modules/user/Auth.service.js | 56 +
.../frontend/app/modules/user/User.service.js | 51 +
.../frontend/app/modules/user/permissions.js | 28 +
.../frontend/app/modules/user/user.module.js | 73 +
.../app/services/ChartColors.service.js | 22 +
.../frontend/app/services/Clone.service.js | 64 +
.../frontend/app/services/Confirm.service.js | 68 +
.../app/services/ConfirmBatch.service.js | 92 +
.../app/services/CopyToClipboard.service.js | 50 +
.../frontend/app/services/Countries.service.js | 31 +
.../app/services/ErrorPopover.service.js | 129 +
.../frontend/app/services/Focus.service.js | 33 +
.../frontend/app/services/FormUtils.service.js | 439 +
.../app/services/InetAddress.service.js | 53 +
.../frontend/app/services/JavaTypes.service.js | 182 +
.../app/services/LegacyTable.service.js | 229 +
.../app/services/LegacyUtils.service.js | 548 +
.../frontend/app/services/Messages.service.js | 63 +
.../app/services/ModelNormalizer.service.js | 59 +
.../frontend/app/services/SqlTypes.service.js | 65 +
.../app/services/UnsavedChangesGuard.service.js | 38 +
modules/web-console/frontend/app/vendor.js | 56 +
.../frontend/controllers/admin-controller.js | 93 +
.../frontend/controllers/caches-controller.js | 619 +
.../frontend/controllers/clusters-controller.js | 832 ++
.../frontend/controllers/domains-controller.js | 1862 +++
.../frontend/controllers/igfs-controller.js | 416 +
.../frontend/controllers/profile-controller.js | 95 +
.../frontend/gulpfile.babel.js/index.js | 26 +
.../frontend/gulpfile.babel.js/paths.js | 83 +
.../frontend/gulpfile.babel.js/tasks/build.js | 21 +
.../frontend/gulpfile.babel.js/tasks/bundle.js | 32 +
.../frontend/gulpfile.babel.js/tasks/clean.js | 32 +
.../frontend/gulpfile.babel.js/tasks/copy.js | 33 +
.../gulpfile.babel.js/tasks/ignite-modules.js | 55 +
.../frontend/gulpfile.babel.js/tasks/jade.js | 49 +
.../frontend/gulpfile.babel.js/tasks/watch.js | 33 +
.../gulpfile.babel.js/webpack/common.js | 192 +
.../webpack/environments/development.js | 83 +
.../webpack/environments/production.js | 45 +
.../webpack/environments/test.js | 52 +
.../frontend/gulpfile.babel.js/webpack/index.js | 34 +
.../webpack/plugins/progress.js | 82 +
.../frontend/ignite_modules/README.txt | 6 +
.../frontend/ignite_modules/index.js | 27 +
modules/web-console/frontend/package.json | 125 +
modules/web-console/frontend/public/favicon.ico | Bin 0 -> 1150 bytes
.../frontend/public/images/cache.png | Bin 0 -> 23700 bytes
.../frontend/public/images/cluster.png | Bin 0 -> 29376 bytes
.../frontend/public/images/docker.png | Bin 0 -> 521 bytes
.../frontend/public/images/domains.png | Bin 0 -> 23828 bytes
.../web-console/frontend/public/images/igfs.png | Bin 0 -> 14307 bytes
.../frontend/public/images/ignite-logo.png | Bin 0 -> 1982 bytes
.../frontend/public/images/ignite-logo@2x.png | Bin 0 -> 3325 bytes
.../frontend/public/images/ignite-puzzle.png | Bin 0 -> 71974 bytes
.../web-console/frontend/public/images/java.png | Bin 0 -> 170 bytes
.../frontend/public/images/pb-ignite.png | Bin 0 -> 3493 bytes
.../frontend/public/images/pb-ignite@2x.png | Bin 0 -> 8558 bytes
.../frontend/public/images/query-chart.png | Bin 0 -> 16637 bytes
.../frontend/public/images/query-metadata.png | Bin 0 -> 32298 bytes
.../frontend/public/images/query-table.png | Bin 0 -> 29189 bytes
.../frontend/public/images/summary.png | Bin 0 -> 31997 bytes
.../web-console/frontend/public/images/xml.png | Bin 0 -> 232 bytes
.../public/stylesheets/_bootstrap-custom.scss | 65 +
.../stylesheets/_bootstrap-variables.scss | 891 ++
.../stylesheets/_font-awesome-custom.scss | 50 +
.../public/stylesheets/blocks/error.scss | 31 +
.../frontend/public/stylesheets/form-field.scss | 108 +
.../frontend/public/stylesheets/style.scss | 2228 +++
.../frontend/public/stylesheets/variables.scss | 28 +
.../frontend/test/e2e/exampe.test.js | 40 +
.../frontend/test/karma.conf.babel.js | 91 +
modules/web-console/frontend/test/karma.conf.js | 19 +
.../frontend/test/protractor.conf.js | 50 +
.../frontend/test/unit/JavaTransformer.test.js | 57 +
.../frontend/test/unit/JavaTypes.test.js | 128 +
.../frontend/test/unit/SharpTransformer.test.js | 55 +
.../test/unit/SpringTransformer.test.js | 57 +
.../frontend/test/unit/SqlTypes.test.js | 51 +
.../frontend/test/unit/UserAuth.test.js | 35 +
.../frontend/test/unit/Version.test.js | 82 +
.../test/unit/defaultName.filter.test.js | 38 +
modules/web-console/frontend/views/403.jade | 22 +
modules/web-console/frontend/views/404.jade | 22 +
modules/web-console/frontend/views/base.jade | 22 +
.../frontend/views/configuration/caches.jade | 54 +
.../frontend/views/configuration/clusters.jade | 68 +
.../views/configuration/domains-import.jade | 167 +
.../frontend/views/configuration/domains.jade | 66 +
.../frontend/views/configuration/igfs.jade | 51 +
.../frontend/views/configuration/sidebar.jade | 29 +
.../summary-project-structure.jade | 27 +
.../views/configuration/summary-tabs.jade | 25 +
.../frontend/views/configuration/summary.jade | 83 +
.../frontend/views/includes/footer.jade | 23 +
.../frontend/views/includes/header.jade | 52 +
modules/web-console/frontend/views/index.jade | 47 +
modules/web-console/frontend/views/reset.jade | 48 +
.../frontend/views/settings/admin.jade | 76 +
.../frontend/views/settings/profile.jade | 76 +
modules/web-console/frontend/views/signin.jade | 163 +
.../frontend/views/sql/cache-metadata.jade | 40 +
.../frontend/views/sql/chart-settings.jade | 40 +
.../frontend/views/sql/notebook-new.jade | 33 +
.../frontend/views/sql/paragraph-rate.jade | 31 +
modules/web-console/frontend/views/sql/sql.jade | 229 +
.../views/templates/agent-download.jade | 50 +
.../frontend/views/templates/alert.jade | 21 +
.../frontend/views/templates/batch-confirm.jade | 34 +
.../frontend/views/templates/clone.jade | 39 +
.../frontend/views/templates/confirm.jade | 33 +
.../frontend/views/templates/demo-info.jade | 47 +
.../frontend/views/templates/dropdown.jade | 24 +
.../views/templates/getting-started.jade | 34 +
.../frontend/views/templates/message.jade | 28 +
.../frontend/views/templates/pagination.jade | 32 +
.../frontend/views/templates/select.jade | 26 +
.../views/templates/validation-error.jade | 25 +
modules/web-console/pom.xml | 35 +-
modules/web-console/src/main/js/.babelrc | 3 -
modules/web-console/src/main/js/.eslintrc | 202 -
modules/web-console/src/main/js/.gitignore | 9 -
.../web-console/src/main/js/app/app.config.js | 86 -
modules/web-console/src/main/js/app/app.js | 274 -
.../main/js/app/controllers/auth.controller.js | 30 -
.../js/app/controllers/notebooks.controller.js | 69 -
.../controllers/reset-password.controller.js | 51 -
.../src/main/js/app/data/colors.json | 22 -
.../src/main/js/app/data/countries.json | 94 -
.../src/main/js/app/data/demo-info.json | 14 -
.../src/main/js/app/data/event-types.json | 169 -
.../src/main/js/app/data/getting-started.json | 109 -
.../src/main/js/app/data/java-classes.json | 18 -
.../src/main/js/app/data/java-keywords.json | 55 -
.../src/main/js/app/data/java-primitives.json | 9 -
.../src/main/js/app/data/pom-dependencies.json | 20 -
.../src/main/js/app/decorator/select.js | 77 -
.../src/main/js/app/decorator/tooltip.js | 56 -
.../js/app/directives/auto-focus.directive.js | 26 -
.../app/directives/bs-affix-update.directive.js | 34 -
.../js/app/directives/centered/centered.css | 37 -
.../directives/centered/centered.directive.js | 26 -
.../directives/copy-to-clipboard.directive.js | 29 -
.../hide-on-state-change.directive.js | 31 -
.../information/information.directive.js | 30 -
.../app/directives/information/information.jade | 20 -
.../app/directives/information/information.scss | 56 -
.../main/js/app/directives/match.directive.js | 27 -
.../app/directives/on-click-focus.directive.js | 26 -
.../directives/on-enter-focus-move.directive.js | 29 -
.../js/app/directives/on-enter.directive.js | 32 -
.../js/app/directives/on-escape.directive.js | 32 -
.../ui-ace-docker/ui-ace-docker.controller.js | 33 -
.../ui-ace-docker/ui-ace-docker.directive.js | 46 -
.../directives/ui-ace-docker/ui-ace-docker.jade | 31 -
.../ui-ace-java/ui-ace-java.controller.js | 32 -
.../ui-ace-java/ui-ace-java.directive.js | 133 -
.../app/directives/ui-ace-java/ui-ace-java.jade | 22 -
.../ui-ace-pojos/ui-ace-pojos.controller.js | 95 -
.../ui-ace-pojos/ui-ace-pojos.directive.js | 46 -
.../directives/ui-ace-pojos/ui-ace-pojos.jade | 40 -
.../ui-ace-pom/ui-ace-pom.controller.js | 33 -
.../ui-ace-pom/ui-ace-pom.directive.js | 41 -
.../app/directives/ui-ace-pom/ui-ace-pom.jade | 17 -
.../js/app/directives/ui-ace-tabs.directive.js | 23 -
.../ui-ace-xml/ui-ace-xml.controller.js | 27 -
.../ui-ace-xml/ui-ace-xml.directive.js | 133 -
.../app/directives/ui-ace-xml/ui-ace-xml.jade | 17 -
.../src/main/js/app/filters/byName.filter.js | 23 -
.../js/app/filters/domainsValidation.filter.js | 33 -
.../src/main/js/app/filters/hasPojo.filter.js | 18 -
.../src/main/js/app/helpers/jade/mixins.jade | 588 -
.../src/main/js/app/modules/Demo/Demo.module.js | 166 -
.../js/app/modules/Version/Version.provider.js | 32 -
.../src/main/js/app/modules/ace.module.js | 269 -
.../main/js/app/modules/agent/agent.module.js | 323 -
.../js/app/modules/branding/branding.module.js | 45 -
.../app/modules/branding/branding.provider.js | 111 -
.../app/modules/branding/features.directive.js | 35 -
.../js/app/modules/branding/footer.directive.js | 34 -
.../modules/branding/header-logo.directive.js | 34 -
.../js/app/modules/branding/header-logo.jade | 18 -
.../modules/branding/header-title.directive.js | 35 -
.../branding/powered-by-apache.directive.js | 35 -
.../app/modules/branding/powered-by-apache.jade | 18 -
.../js/app/modules/branding/terms.directive.js | 30 -
.../configuration/EventGroups.provider.js | 30 -
.../modules/configuration/Sidebar.provider.js | 39 -
.../configuration/configuration.module.js | 41 -
.../configuration/generator/Docker.service.js | 78 -
.../configuration/generator/Java.service.js | 21 -
.../configuration/generator/Pom.service.js | 210 -
.../configuration/generator/Xml.service.js | 21 -
.../modules/configuration/sidebar.directive.js | 30 -
.../modules/dialog/dialog-content.directive.js | 31 -
.../modules/dialog/dialog-title.directive.js | 31 -
.../js/app/modules/dialog/dialog.controller.js | 40 -
.../js/app/modules/dialog/dialog.directive.js | 32 -
.../js/app/modules/dialog/dialog.factory.js | 32 -
.../src/main/js/app/modules/dialog/dialog.jade | 26 -
.../main/js/app/modules/dialog/dialog.module.js | 32 -
.../field/bs-select-placeholder.directive.js | 47 -
.../js/app/modules/form/field/down.directive.js | 43 -
.../modules/form/field/dropdown.directive.js | 83 -
.../js/app/modules/form/field/dropdown.jade | 61 -
.../main/js/app/modules/form/field/field.css | 23 -
.../app/modules/form/field/field.directive.js | 44 -
.../main/js/app/modules/form/field/field.jade | 27 -
.../field/form-control-feedback.directive.js | 40 -
.../form/field/input/autofocus.directive.js | 30 -
.../form/field/input/checkbox.directive.js | 66 -
.../app/modules/form/field/input/checkbox.jade | 30 -
.../form/field/input/datalist.directive.js | 122 -
.../app/modules/form/field/input/datalist.jade | 51 -
.../form/field/input/number.directive.js | 76 -
.../js/app/modules/form/field/input/number.jade | 50 -
.../js/app/modules/form/field/input/text.css | 41 -
.../modules/form/field/input/text.directive.js | 126 -
.../js/app/modules/form/field/input/text.jade | 48 -
.../app/modules/form/field/label.directive.js | 47 -
.../app/modules/form/field/tooltip.directive.js | 49 -
.../js/app/modules/form/field/up.directive.js | 44 -
.../src/main/js/app/modules/form/form.module.js | 101 -
.../js/app/modules/form/group/add.directive.js | 40 -
.../app/modules/form/group/group.directive.js | 81 -
.../main/js/app/modules/form/group/group.jade | 21 -
.../app/modules/form/group/table.directive.js | 29 -
.../main/js/app/modules/form/group/table.jade | 17 -
.../app/modules/form/group/tooltip.directive.js | 40 -
.../app/modules/form/panel/chevron.directive.js | 53 -
.../app/modules/form/panel/panel.directive.js | 37 -
.../app/modules/form/panel/revert.directive.js | 53 -
.../form/validator/ipaddress.directive.js | 86 -
.../validator/java-built-in-class.directive.js | 31 -
.../form/validator/java-identifier.directive.js | 31 -
.../form/validator/java-keywords.directive.js | 42 -
.../validator/java-package-name.directive.js | 31 -
.../java-package-specified.directive.js | 34 -
.../form/validator/property-unique.directive.js | 47 -
.../property-value-specified.directive.js | 31 -
.../modules/form/validator/unique.directive.js | 49 -
.../getting-started/GettingStarted.provider.js | 112 -
.../src/main/js/app/modules/loading/loading.css | 73 -
.../js/app/modules/loading/loading.directive.js | 51 -
.../main/js/app/modules/loading/loading.jade | 23 -
.../js/app/modules/loading/loading.module.js | 26 -
.../js/app/modules/loading/loading.service.js | 48 -
.../js/app/modules/navbar/Navbar.provider.js | 28 -
.../js/app/modules/navbar/Userbar.provider.js | 28 -
.../js/app/modules/navbar/navbar.directive.js | 30 -
.../main/js/app/modules/navbar/navbar.module.js | 33 -
.../js/app/modules/navbar/userbar.directive.js | 48 -
.../query-notebooks/query-notebooks.module.js | 115 -
.../src/main/js/app/modules/socket.module.js | 41 -
.../main/js/app/modules/states/admin.state.js | 34 -
.../app/modules/states/configuration.state.js | 226 -
.../caches/concurrency.directive.js | 27 -
.../configuration/caches/concurrency.jade | 65 -
.../configuration/caches/general.directive.js | 27 -
.../states/configuration/caches/general.jade | 65 -
.../configuration/caches/memory.directive.js | 27 -
.../states/configuration/caches/memory.jade | 88 -
.../configuration/caches/query.directive.js | 27 -
.../states/configuration/caches/query.jade | 93 -
.../configuration/caches/rebalance.directive.js | 27 -
.../states/configuration/caches/rebalance.jade | 65 -
.../caches/server-near-cache.directive.js | 27 -
.../configuration/caches/server-near-cache.jade | 45 -
.../caches/statistics.directive.js | 27 -
.../states/configuration/caches/statistics.jade | 37 -
.../configuration/caches/store.directive.js | 27 -
.../states/configuration/caches/store.jade | 271 -
.../configuration/clusters/atomic.directive.js | 27 -
.../states/configuration/clusters/atomic.jade | 53 -
.../clusters/attributes.directive.js | 27 -
.../configuration/clusters/attributes.jade | 58 -
.../configuration/clusters/binary.directive.js | 27 -
.../states/configuration/clusters/binary.jade | 100 -
.../clusters/collision.directive.js | 27 -
.../configuration/clusters/collision.jade | 60 -
.../clusters/collision/custom.directive.js | 27 -
.../clusters/collision/custom.jade | 24 -
.../clusters/collision/fifo-queue.directive.js | 27 -
.../clusters/collision/fifo-queue.jade | 28 -
.../collision/job-stealing.directive.js | 27 -
.../clusters/collision/job-stealing.jade | 64 -
.../collision/priority-queue.directive.js | 27 -
.../clusters/collision/priority-queue.jade | 43 -
.../clusters/communication.directive.js | 27 -
.../configuration/clusters/communication.jade | 96 -
.../clusters/connector.directive.js | 27 -
.../configuration/clusters/connector.jade | 103 -
.../clusters/deployment.directive.js | 27 -
.../configuration/clusters/deployment.jade | 119 -
.../clusters/discovery.directive.js | 27 -
.../configuration/clusters/discovery.jade | 83 -
.../configuration/clusters/events.directive.js | 27 -
.../states/configuration/clusters/events.jade | 37 -
.../clusters/failover.directive.js | 27 -
.../states/configuration/clusters/failover.jade | 82 -
.../configuration/clusters/general.directive.js | 27 -
.../states/configuration/clusters/general.jade | 68 -
.../general/discovery/cloud.directive.js | 27 -
.../clusters/general/discovery/cloud.jade | 127 -
.../general/discovery/google.directive.js | 27 -
.../clusters/general/discovery/google.jade | 38 -
.../general/discovery/jdbc.directive.js | 27 -
.../clusters/general/discovery/jdbc.jade | 24 -
.../general/discovery/multicast.directive.js | 27 -
.../clusters/general/discovery/multicast.jade | 109 -
.../clusters/general/discovery/s3.directive.js | 27 -
.../clusters/general/discovery/s3.jade | 27 -
.../general/discovery/shared.directive.js | 27 -
.../clusters/general/discovery/shared.jade | 23 -
.../clusters/general/discovery/vm.directive.js | 27 -
.../clusters/general/discovery/vm.jade | 90 -
.../general/discovery/zookeeper.directive.js | 27 -
.../clusters/general/discovery/zookeeper.jade | 74 -
.../bounded-exponential-backoff.directive.js | 27 -
.../bounded-exponential-backoff.jade | 27 -
.../zookeeper/retrypolicy/custom.directive.js | 27 -
.../discovery/zookeeper/retrypolicy/custom.jade | 24 -
.../exponential-backoff.directive.js | 27 -
.../retrypolicy/exponential-backoff.jade | 27 -
.../zookeeper/retrypolicy/forever.directive.js | 27 -
.../zookeeper/retrypolicy/forever.jade | 22 -
.../zookeeper/retrypolicy/n-times.directive.js | 27 -
.../zookeeper/retrypolicy/n-times.jade | 25 -
.../zookeeper/retrypolicy/one-time.directive.js | 27 -
.../zookeeper/retrypolicy/one-time.jade | 23 -
.../retrypolicy/until-elapsed.directive.js | 27 -
.../zookeeper/retrypolicy/until-elapsed.jade | 25 -
.../configuration/clusters/igfs.directive.js | 27 -
.../states/configuration/clusters/igfs.jade | 37 -
.../configuration/clusters/logger.directive.js | 27 -
.../states/configuration/clusters/logger.jade | 65 -
.../clusters/logger/custom.directive.js | 27 -
.../configuration/clusters/logger/custom.jade | 24 -
.../clusters/logger/log4j.directive.js | 27 -
.../configuration/clusters/logger/log4j.jade | 49 -
.../clusters/logger/log4j2.directive.js | 27 -
.../configuration/clusters/logger/log4j2.jade | 38 -
.../clusters/marshaller.directive.js | 27 -
.../configuration/clusters/marshaller.jade | 69 -
.../configuration/clusters/metrics.directive.js | 27 -
.../states/configuration/clusters/metrics.jade | 50 -
.../configuration/clusters/ssl.directive.js | 27 -
.../states/configuration/clusters/ssl.jade | 108 -
.../configuration/clusters/swap.directive.js | 27 -
.../states/configuration/clusters/swap.jade | 67 -
.../configuration/clusters/thread.directive.js | 27 -
.../states/configuration/clusters/thread.jade | 48 -
.../configuration/clusters/time.directive.js | 27 -
.../states/configuration/clusters/time.jade | 47 -
.../clusters/transactions.directive.js | 27 -
.../configuration/clusters/transactions.jade | 59 -
.../configuration/domains/general.directive.js | 27 -
.../states/configuration/domains/general.jade | 46 -
.../configuration/domains/query.directive.js | 27 -
.../states/configuration/domains/query.jade | 169 -
.../configuration/domains/store.directive.js | 27 -
.../states/configuration/domains/store.jade | 126 -
.../states/configuration/igfs/dual.directive.js | 27 -
.../modules/states/configuration/igfs/dual.jade | 42 -
.../igfs/fragmentizer.directive.js | 27 -
.../states/configuration/igfs/fragmentizer.jade | 43 -
.../configuration/igfs/general.directive.js | 27 -
.../states/configuration/igfs/general.jade | 53 -
.../states/configuration/igfs/ipc.directive.js | 27 -
.../modules/states/configuration/igfs/ipc.jade | 57 -
.../states/configuration/igfs/misc.directive.js | 27 -
.../modules/states/configuration/igfs/misc.jade | 108 -
.../configuration/igfs/secondary.directive.js | 27 -
.../states/configuration/igfs/secondary.jade | 44 -
.../configuration/preview-panel.directive.js | 239 -
.../summary/summary-tabs.directive.js | 50 -
.../configuration/summary/summary.controller.js | 359 -
.../configuration/summary/summary.resource.js | 40 -
.../main/js/app/modules/states/logout.state.js | 36 -
.../js/app/modules/states/password.state.js | 46 -
.../main/js/app/modules/states/profile.state.js | 34 -
.../main/js/app/modules/states/signin.state.js | 53 -
.../src/main/js/app/modules/states/sql.state.js | 46 -
.../main/js/app/modules/user/Auth.service.js | 76 -
.../main/js/app/modules/user/User.service.js | 65 -
.../src/main/js/app/modules/user/user.module.js | 28 -
.../main/js/app/services/ChartColors.service.js | 22 -
.../src/main/js/app/services/Clone.service.js | 64 -
.../src/main/js/app/services/Confirm.service.js | 70 -
.../js/app/services/ConfirmBatch.service.js | 92 -
.../js/app/services/CopyToClipboard.service.js | 50 -
.../main/js/app/services/Countries.service.js | 31 -
.../src/main/js/app/services/Focus.service.js | 33 -
.../main/js/app/services/InetAddress.service.js | 53 -
.../main/js/app/services/JavaTypes.service.js | 84 -
.../main/js/app/services/LegacyTable.service.js | 205 -
.../main/js/app/services/LegacyUtils.service.js | 948 --
.../main/js/app/services/Messages.service.js | 63 -
.../js/app/services/ModelNormalizer.service.js | 59 -
.../app/services/UnsavedChangesGuard.service.js | 38 -
modules/web-console/src/main/js/app/vendor.js | 54 -
.../src/main/js/controllers/admin-controller.js | 91 -
.../main/js/controllers/caches-controller.js | 470 -
.../main/js/controllers/clusters-controller.js | 626 -
.../main/js/controllers/domains-controller.js | 1746 ---
.../src/main/js/controllers/igfs-controller.js | 401 -
.../main/js/controllers/profile-controller.js | 91 -
.../src/main/js/controllers/sql-controller.js | 1588 --
.../src/main/js/generator/generator-common.js | 611 -
.../src/main/js/generator/generator-java.js | 3404 -----
.../src/main/js/generator/generator-optional.js | 25 -
.../main/js/generator/generator-properties.js | 150 -
.../src/main/js/generator/generator-readme.js | 85 -
.../src/main/js/generator/generator-xml.js | 1978 ---
.../src/main/js/gulpfile.babel.js/index.js | 26 -
.../src/main/js/gulpfile.babel.js/paths.js | 70 -
.../main/js/gulpfile.babel.js/tasks/build.js | 21 -
.../main/js/gulpfile.babel.js/tasks/bundle.js | 32 -
.../main/js/gulpfile.babel.js/tasks/clean.js | 32 -
.../src/main/js/gulpfile.babel.js/tasks/copy.js | 33 -
.../gulpfile.babel.js/tasks/ignite-modules.js | 55 -
.../src/main/js/gulpfile.babel.js/tasks/jade.js | 40 -
.../main/js/gulpfile.babel.js/tasks/watch.js | 31 -
.../main/js/gulpfile.babel.js/webpack/common.js | 192 -
.../webpack/environments/development.js | 64 -
.../webpack/environments/production.js | 45 -
.../main/js/gulpfile.babel.js/webpack/index.js | 32 -
.../webpack/plugins/progress.js | 82 -
.../src/main/js/ignite_modules/README.txt | 6 -
.../src/main/js/ignite_modules/index.js | 27 -
modules/web-console/src/main/js/package.json | 128 -
.../web-console/src/main/js/public/favicon.ico | Bin 1150 -> 0 bytes
.../src/main/js/public/images/cache.png | Bin 23700 -> 0 bytes
.../src/main/js/public/images/cluster.png | Bin 29376 -> 0 bytes
.../src/main/js/public/images/docker.png | Bin 521 -> 0 bytes
.../src/main/js/public/images/domains.png | Bin 23828 -> 0 bytes
.../src/main/js/public/images/igfs.png | Bin 14307 -> 0 bytes
.../src/main/js/public/images/ignite-logo.png | Bin 1982 -> 0 bytes
.../main/js/public/images/ignite-logo@2x.png | Bin 3325 -> 0 bytes
.../src/main/js/public/images/ignite-puzzle.png | Bin 71974 -> 0 bytes
.../src/main/js/public/images/java.png | Bin 170 -> 0 bytes
.../src/main/js/public/images/pb-ignite.png | Bin 3493 -> 0 bytes
.../src/main/js/public/images/pb-ignite@2x.png | Bin 8558 -> 0 bytes
.../src/main/js/public/images/query-chart.png | Bin 16637 -> 0 bytes
.../main/js/public/images/query-metadata.png | Bin 32298 -> 0 bytes
.../src/main/js/public/images/query-table.png | Bin 29189 -> 0 bytes
.../src/main/js/public/images/summary.png | Bin 31997 -> 0 bytes
.../src/main/js/public/images/xml.png | Bin 232 -> 0 bytes
.../public/stylesheets/_bootstrap-custom.scss | 65 -
.../stylesheets/_bootstrap-variables.scss | 891 --
.../stylesheets/_font-awesome-custom.scss | 32 -
.../src/main/js/public/stylesheets/style.scss | 2156 ---
.../main/js/public/stylesheets/variables.scss | 28 -
modules/web-console/src/main/js/serve.js | 116 -
modules/web-console/src/main/js/serve/agent.js | 714 -
.../src/main/js/serve/agent_dists/README.txt | 7 -
modules/web-console/src/main/js/serve/app.js | 42 -
.../web-console/src/main/js/serve/browser.js | 378 -
.../main/js/serve/config/settings.json.sample | 26 -
.../web-console/src/main/js/serve/configure.js | 84 -
modules/web-console/src/main/js/serve/mail.js | 75 -
modules/web-console/src/main/js/serve/mongo.js | 676 -
.../src/main/js/serve/routes/admin.js | 126 -
.../src/main/js/serve/routes/agent.js | 81 -
.../src/main/js/serve/routes/caches.js | 132 -
.../src/main/js/serve/routes/clusters.js | 146 -
.../src/main/js/serve/routes/demo.js | 135 -
.../src/main/js/serve/routes/demo/caches.json | 87 -
.../src/main/js/serve/routes/demo/clusters.json | 50 -
.../src/main/js/serve/routes/demo/domains.json | 307 -
.../src/main/js/serve/routes/demo/igfss.json | 10 -
.../src/main/js/serve/routes/domains.js | 195 -
.../src/main/js/serve/routes/igfs.js | 122 -
.../src/main/js/serve/routes/notebooks.js | 121 -
.../src/main/js/serve/routes/profile.js | 102 -
.../src/main/js/serve/routes/public.js | 235 -
.../src/main/js/serve/routes/routes.js | 103 -
.../web-console/src/main/js/serve/settings.js | 84 -
modules/web-console/src/main/js/views/base.jade | 22 -
.../src/main/js/views/configuration/caches.jade | 52 -
.../main/js/views/configuration/clusters.jade | 64 -
.../js/views/configuration/domains-import.jade | 211 -
.../main/js/views/configuration/domains.jade | 66 -
.../src/main/js/views/configuration/igfs.jade | 51 -
.../main/js/views/configuration/sidebar.jade | 29 -
.../summary-project-structure.jade | 27 -
.../js/views/configuration/summary-tabs.jade | 25 -
.../main/js/views/configuration/summary.jade | 152 -
.../src/main/js/views/includes/footer.jade | 23 -
.../src/main/js/views/includes/header.jade | 51 -
.../web-console/src/main/js/views/index.jade | 48 -
.../web-console/src/main/js/views/reset.jade | 48 -
.../src/main/js/views/settings/admin.jade | 76 -
.../src/main/js/views/settings/profile.jade | 76 -
.../web-console/src/main/js/views/signin.jade | 163 -
.../src/main/js/views/sql/cache-metadata.jade | 40 -
.../src/main/js/views/sql/chart-settings.jade | 40 -
.../src/main/js/views/sql/notebook-new.jade | 31 -
.../src/main/js/views/sql/paragraph-rate.jade | 31 -
.../web-console/src/main/js/views/sql/sql.jade | 201 -
.../main/js/views/templates/agent-download.jade | 48 -
.../src/main/js/views/templates/alert.jade | 21 -
.../main/js/views/templates/batch-confirm.jade | 32 -
.../src/main/js/views/templates/clone.jade | 31 -
.../src/main/js/views/templates/confirm.jade | 31 -
.../src/main/js/views/templates/demo-info.jade | 45 -
.../src/main/js/views/templates/dropdown.jade | 21 -
.../js/views/templates/getting-started.jade | 32 -
.../src/main/js/views/templates/message.jade | 26 -
.../src/main/js/views/templates/pagination.jade | 32 -
.../src/main/js/views/templates/select.jade | 26 -
.../js/views/templates/validation-error.jade | 25 -
modules/web-console/src/test/js/routes/agent.js | 94 -
modules/web-console/web-agent/.gitignore | 2 +
modules/web-console/web-agent/README.txt | 88 +
.../web-agent/assembly/release-web-agent.xml | 66 +
.../web-agent/bin/ignite-web-agent.bat | 75 +
.../web-agent/bin/ignite-web-agent.sh | 91 +
modules/web-console/web-agent/demo/README.txt | 4 +
modules/web-console/web-agent/demo/db-init.sql | 102 +
.../web-agent/jdbc-drivers/README.txt | 10 +
modules/web-console/web-agent/logs/README.txt | 5 +
modules/web-console/web-agent/pom.xml | 199 +
.../console/agent/AgentConfiguration.java | 265 +
.../ignite/console/agent/AgentLauncher.java | 342 +
.../apache/ignite/console/agent/AgentUtils.java | 111 +
.../console/agent/handlers/AbstractHandler.java | 110 +
.../console/agent/handlers/DatabaseHandler.java | 298 +
.../console/agent/handlers/RestHandler.java | 276 +
.../ignite/console/demo/AgentClusterDemo.java | 642 +
.../ignite/console/demo/AgentMetadataDemo.java | 92 +
.../apache/ignite/console/demo/model/Car.java | 152 +
.../ignite/console/demo/model/Country.java | 152 +
.../ignite/console/demo/model/Department.java | 152 +
.../ignite/console/demo/model/Employee.java | 356 +
.../ignite/console/demo/model/Parking.java | 152 +
.../src/main/resources/log4j.properties | 53 +
modules/web/ignite-appserver-test/pom.xml | 2 +-
modules/web/ignite-websphere-test/pom.xml | 2 +-
modules/web/pom.xml | 2 +-
.../ignite/cache/websession/WebSessionV2.java | 26 +-
.../IgniteWebSessionSelfTestSuite.java | 68 +-
.../WebSessionReplicatedSelfTest.java | 28 +
.../WebSessionReplicatedV1SelfTest.java | 28 +
.../internal/websession/WebSessionSelfTest.java | 2 +
.../WebSessionTransactionalSelfTest.java | 48 +
.../WebSessionTransactionalV1SelfTest.java | 28 +
.../websession/WebSessionV1SelfTest.java | 28 +
.../config/benchmark-bin-identity.properties | 94 +
.../config/benchmark-client-mode.properties | 2 +
.../config/benchmark-multicast.properties | 15 +
.../config/benchmark-sql-dml.properties | 72 +
.../config/benchmark-tx-win.properties | 2 +
.../yardstick/config/benchmark-tx.properties | 2 +
.../yardstick/config/benchmark-win.properties | 2 +
modules/yardstick/config/benchmark.properties | 2 +
modules/yardstick/config/ignite-base-config.xml | 71 +-
.../config/ignite-bin-multicast-config.xml | 86 +
modules/yardstick/pom.xml | 2 +-
.../org/apache/ignite/yardstick/IgniteNode.java | 74 +-
.../yardstick/cache/CacheEntryEventProbe.java | 2 +-
.../cache/IgniteAtomicSequenceBenchmark.java | 47 +
.../cache/IgniteBinaryIdentityBenchmark.java | 108 +
.../cache/IgniteBinaryIdentityGetBenchmark.java | 34 +
.../cache/IgniteBinaryIdentityPutBenchmark.java | 35 +
.../IgniteFieldsBinaryIdentityGetBenchmark.java | 30 +
.../IgniteFieldsBinaryIdentityPutBenchmark.java | 30 +
.../cache/IgniteGetAndPutBenchmark.java | 41 +
.../cache/IgniteGetAndPutTxBenchmark.java | 70 +
.../cache/IgniteInvokeTxBenchmark.java | 40 +
.../yardstick/cache/IgniteIoTestBenchmark.java | 73 +
.../IgniteLegacyBinaryIdentityGetBenchmark.java | 30 +
.../IgniteLegacyBinaryIdentityPutBenchmark.java | 30 +
...IgnitePutIfAbsentIndexedValue1Benchmark.java | 45 +
.../IgniteReplaceIndexedValue1Benchmark.java | 79 +
.../cache/dml/IgniteSqlDeleteBenchmark.java | 83 +
.../dml/IgniteSqlDeleteFilteredBenchmark.java | 88 +
.../IgniteSqlInsertIndexedValue1Benchmark.java | 48 +
.../IgniteSqlInsertIndexedValue2Benchmark.java | 48 +
.../IgniteSqlInsertIndexedValue8Benchmark.java | 48 +
.../cache/dml/IgniteSqlMergeAllBenchmark.java | 82 +
.../cache/dml/IgniteSqlMergeBenchmark.java | 42 +
.../IgniteSqlMergeIndexedValue1Benchmark.java | 43 +
.../IgniteSqlMergeIndexedValue2Benchmark.java | 43 +
.../IgniteSqlMergeIndexedValue8Benchmark.java | 43 +
.../cache/dml/IgniteSqlMergeQueryBenchmark.java | 116 +
.../cache/dml/IgniteSqlUpdateBenchmark.java | 82 +
.../dml/IgniteSqlUpdateFilteredBenchmark.java | 88 +
.../yardstick/cache/model/SampleValue.java | 2 +
.../io/IgniteIoTestAbstractBenchmark.java | 61 +
.../io/IgniteIoTestSendAllBenchmark.java | 32 +
.../io/IgniteIoTestSendRandomBenchmark.java | 35 +
modules/yarn/pom.xml | 2 +-
modules/zookeeper/pom.xml | 2 +-
parent/pom.xml | 24 +-
pom.xml | 20 +-
2915 files changed, 237926 insertions(+), 155408 deletions(-)
----------------------------------------------------------------------
[09/50] [abbrv] ignite git commit: Merge branches 'ignite-gg-11729'
and 'ignite-gg-8.0.2.ea1' of https://github.com/gridgain/apache-ignite into
ignite-gg-11729
Posted by ag...@apache.org.
Merge branches 'ignite-gg-11729' and 'ignite-gg-8.0.2.ea1' of https://github.com/gridgain/apache-ignite into ignite-gg-11729
# Conflicts:
# modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
Merge branches 'ignite-gg-11729' and 'ignite-gg-8.0.2.ea1' of https://github.com/ggprivate/ggprivate into ignite-gg-11729
# Conflicts:
# modules/pds/src/main/java/org/gridgain/grid/internal/processors/cache/database/GridCacheDatabaseSharedManager.java
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/9f9be208
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/9f9be208
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/9f9be208
Branch: refs/heads/ignite-3477
Commit: 9f9be208414fb141c192b5d6c688021acd09ec25
Parents: dffee01
Author: Ilya Lantukh <il...@gridgain.com>
Authored: Tue Dec 20 23:33:03 2016 +0300
Committer: Ilya Lantukh <il...@gridgain.com>
Committed: Tue Dec 20 23:33:03 2016 +0300
----------------------------------------------------------------------
.../ignite/internal/pagemem/snapshot/SnapshotProgressMessage.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9f9be208/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/SnapshotProgressMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/SnapshotProgressMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/SnapshotProgressMessage.java
index 8de4c40..2fb9643 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/SnapshotProgressMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/SnapshotProgressMessage.java
@@ -120,7 +120,7 @@ public class SnapshotProgressMessage implements Message {
/** {@inheritDoc} */
@Override public byte directType() {
- return -38;
+ return -39;
}
/** {@inheritDoc} */
[10/50] [abbrv] ignite git commit: Merge with master - WIP.
Posted by ag...@apache.org.
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousHandler.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerImpl.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerImpl.java
index 04b34a7,bb9ffdd..bd657bb
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerImpl.java
@@@ -77,8 -79,7 +80,9 @@@ import org.apache.ignite.internal.proce
import org.apache.ignite.internal.processors.cache.IgniteCacheProxy;
import org.apache.ignite.internal.processors.cache.KeyCacheObject;
import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtInvalidPartitionException;
+import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLocalPartition;
+import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionState;
+ import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTopologyFuture;
import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
import org.apache.ignite.internal.processors.cacheobject.IgniteCacheObjectProcessor;
import org.apache.ignite.internal.processors.dr.GridDrType;
@@@ -1648,104 -1928,47 +1931,106 @@@ public class DataStreamerImpl<K, V> imp
ExpiryPolicy plc = cctx.expiry();
- for (Entry<KeyCacheObject, CacheObject> e : entries) {
- try {
- e.getKey().finishUnmarshal(cctx.cacheObjectContext(), cctx.deploy().globalLoader());
+ Collection<Integer> reservedParts = new HashSet<>();
+ Collection<Integer> ignoredParts = new HashSet<>();
- GridCacheEntryEx entry = internalCache.entryEx(e.getKey(), topVer);
+ try {
+ for (Entry<KeyCacheObject, CacheObject> e : entries) {
+ cctx.shared().database().checkpointReadLock();
- if (plc != null) {
- ttl = CU.toTtl(plc.getExpiryForCreation());
+ try {
+ e.getKey().finishUnmarshal(cctx.cacheObjectContext(), cctx.deploy().globalLoader());
- if (ttl == CU.TTL_ZERO)
- continue;
- else if (ttl == CU.TTL_NOT_CHANGED)
- ttl = 0;
+ if (!cctx.isLocal()) {
+ int p = cctx.affinity().partition(e.getKey());
- expiryTime = CU.toExpireTime(ttl);
- }
+ if (ignoredParts.contains(p))
+ continue;
+
+ if (!reservedParts.contains(p)) {
+ GridDhtLocalPartition part = cctx.topology().localPartition(p, topVer, true);
+
+ if (!part.reserve()) {
+ ignoredParts.add(p);
+
+ continue;
+ }
+ else {
+ // We must not allow to read from RENTING partitions.
+ if (part.state() == GridDhtPartitionState.RENTING) {
+ part.release();
+
+ ignoredParts.add(p);
+
+ continue;
+ }
+
+ reservedParts.add(p);
+ }
+ }
+ }
+
+ GridCacheEntryEx entry = internalCache.entryEx(e.getKey(), topVer);
+
+ if (plc != null) {
+ ttl = CU.toTtl(plc.getExpiryForCreation());
+
+ if (ttl == CU.TTL_ZERO)
+ continue;
+ else if (ttl == CU.TTL_NOT_CHANGED)
+ ttl = 0;
+
+ expiryTime = CU.toExpireTime(ttl);
+ }
- entry.initialValue(e.getValue(),
- ver,
- ttl,
- expiryTime,
- false,
- topVer,
- GridDrType.DR_LOAD,
- false);
+ boolean primary = cctx.affinity().primary(cctx.localNode(), entry.key(), topVer);
+
+ entry.initialValue(e.getValue(),
+ ver,
+ ttl,
+ expiryTime,
+ false,
+ topVer,
+ primary ? GridDrType.DR_LOAD : GridDrType.DR_PRELOAD,
+ false);
- cctx.evicts().touch(entry, topVer);
+ cctx.evicts().touch(entry, topVer);
- CU.unwindEvicts(cctx);
+ CU.unwindEvicts(cctx);
- entry.onUnlock();
+ entry.onUnlock();
+ }
+ catch (GridDhtInvalidPartitionException ignored) {
+ ignoredParts.add(cctx.affinity().partition(e.getKey()));
+ }
+ catch (GridCacheEntryRemovedException ignored) {
+ // No-op.
+ }
+ catch (IgniteCheckedException ex) {
+ IgniteLogger log = cache.unwrap(Ignite.class).log();
+
+ U.error(log, "Failed to set initial value for cache entry: " + e, ex);
+ }
+ finally {
+ cctx.shared().database().checkpointReadUnlock();
+ }
}
- catch (GridDhtInvalidPartitionException | GridCacheEntryRemovedException ignored) {
- // No-op.
+ }
+ finally {
+ for (Integer part : reservedParts) {
+ GridDhtLocalPartition locPart = cctx.topology().localPartition(part, topVer, false);
+
+ assert locPart != null : "Evicted reserved partition: " + locPart;
+
+ locPart.release();
}
- catch (IgniteCheckedException ex) {
- IgniteLogger log = cache.unwrap(Ignite.class).log();
- U.error(log, "Failed to set initial value for cache entry: " + e, ex);
+ try {
+ if (!cctx.isNear() && cctx.shared().wal() != null)
+ cctx.shared().wal().fsync(null);
+ }
+ catch (IgniteCheckedException e) {
+ U.error(log, "Failed to write preloaded entries into write-ahead log: " + e, e);
}
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsProcessor.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java
index af9c80f,f845675..d668009
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java
@@@ -47,14 -40,10 +47,15 @@@ import org.apache.ignite.configuration.
import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.configuration.NearCacheConfiguration;
import org.apache.ignite.configuration.TransactionConfiguration;
-import org.apache.ignite.internal.binary.*;
+import org.apache.ignite.internal.binary.BinaryRawReaderEx;
+import org.apache.ignite.internal.binary.BinaryRawWriterEx;
import org.apache.ignite.internal.processors.platform.cache.affinity.PlatformAffinityFunction;
+ import org.apache.ignite.internal.processors.platform.cache.expiry.PlatformExpiryPolicyFactory;
-import org.apache.ignite.platform.dotnet.*;
+import org.apache.ignite.platform.dotnet.PlatformDotNetAffinityFunction;
+import org.apache.ignite.platform.dotnet.PlatformDotNetBinaryConfiguration;
+import org.apache.ignite.platform.dotnet.PlatformDotNetBinaryTypeConfiguration;
+import org.apache.ignite.platform.dotnet.PlatformDotNetCacheStoreFactoryNative;
+import org.apache.ignite.platform.dotnet.PlatformDotNetConfiguration;
import org.apache.ignite.spi.communication.CommunicationSpi;
import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi;
import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpiMBean;
@@@ -63,6 -52,9 +64,7 @@@ import org.apache.ignite.spi.discovery.
import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
import org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder;
import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
-import org.apache.ignite.spi.swapspace.SwapSpaceSpi;
+ import org.apache.ignite.spi.swapspace.file.FileSwapSpaceSpi;
-import org.apache.ignite.spi.swapspace.file.FileSwapSpaceSpiMBean;
import org.apache.ignite.transactions.TransactionConcurrency;
import org.apache.ignite.transactions.TransactionIsolation;
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryIndexing.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
index c9d8c8f,1594cee..db32c64
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
@@@ -45,13 -69,14 +70,16 @@@ import org.apache.ignite.internal.proce
import org.apache.ignite.internal.processors.cache.CacheObject;
import org.apache.ignite.internal.processors.cache.CacheObjectContext;
import org.apache.ignite.internal.processors.cache.GridCacheContext;
+import org.apache.ignite.internal.processors.cache.KeyCacheObject;
import org.apache.ignite.internal.processors.cache.GridCacheDefaultAffinityKeyMapper;
+ import org.apache.ignite.internal.processors.cache.IgniteCacheProxy;
import org.apache.ignite.internal.processors.cache.QueryCursorImpl;
import org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl;
import org.apache.ignite.internal.processors.cache.query.CacheQueryFuture;
import org.apache.ignite.internal.processors.cache.query.CacheQueryType;
+ import org.apache.ignite.internal.processors.cache.query.GridCacheQueryType;
+import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
+ import org.apache.ignite.internal.processors.timeout.GridTimeoutProcessor;
import org.apache.ignite.internal.util.GridSpinBusyLock;
import org.apache.ignite.internal.util.future.GridCompoundFuture;
import org.apache.ignite.internal.util.future.GridFinishedFuture;
@@@ -151,9 -155,9 +158,12 @@@ public class GridQueryProcessor extend
private final GridQueryIndexing idx;
/** */
+ private GridTimeoutProcessor.CancelableTask qryDetailMetricsEvictTask;
+
+ /** */
+ private boolean skipFieldLookup;
+
+ /** */
private static final ThreadLocal<AffinityTopologyVersion> requestTopVer = new ThreadLocal<>();
/**
@@@ -958,9 -1004,16 +1062,16 @@@
QueryCursorImpl<List<?>> cursor = new QueryCursorImpl<>(new Iterable<List<?>>() {
@Override public Iterator<List<?>> iterator() {
- return new GridQueryCacheObjectsIterator(res.iterator(), cctx, keepBinary);
+ try {
- sendQueryExecutedEvent(sql, args);
++ sendQueryExecutedEvent(sql, args, space);
+
+ return new GridQueryCacheObjectsIterator(res.iterator(), cctx, keepBinary);
+ }
+ catch (IgniteCheckedException e) {
+ throw new IgniteException(e);
+ }
}
- });
+ }, cancel);
cursor.fieldsMeta(res.metaData());
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryTypeDescriptor.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
index bee5fae,9a5f077..1a36a81
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java
@@@ -1220,15 -1263,9 +1255,15 @@@ public class GridServiceProcessor exten
@SuppressWarnings("unchecked")
private Iterator<Cache.Entry<Object, Object>> serviceEntries(IgniteBiPredicate<Object, Object> p) {
try {
+ GridCacheQueryManager qryMgr = cache.context().queries();
+
+ CacheQuery<Map.Entry<Object, Object>> qry = qryMgr.createScanQuery(p, null, false);
+
+ qry.keepAll(false);
+
if (!cache.context().affinityNode()) {
ClusterNode oldestSrvNode =
- CU.oldestAliveCacheServerNode(cache.context().shared(), AffinityTopologyVersion.NONE);
+ ctx.discovery().oldestAliveCacheServerNode(AffinityTopologyVersion.NONE);
if (oldestSrvNode == null)
return new GridEmptyIterator<>();
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskProcessor.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
index a177c5b,3dfb3c6..e21838b
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
@@@ -8899,54 -8933,45 +9025,98 @@@ public abstract class IgniteUtils
* @param userWorkDir Ignite work folder provided by user.
* @param userIgniteHome Ignite home folder provided by user.
*/
+ public static void setWorkDirectory(@Nullable String userWorkDir, @Nullable String userIgniteHome)
+ throws IgniteCheckedException {
+ String igniteWork0 = igniteWork;
+
+ if (igniteWork0 == null) {
+ synchronized (IgniteUtils.class) {
+ // Double check.
+ igniteWork0 = igniteWork;
+
+ if (igniteWork0 != null)
+ return;
+
+ File workDir;
+
+ if (!F.isEmpty(userWorkDir))
+ workDir = new File(userWorkDir);
+ else if (!F.isEmpty(IGNITE_WORK_DIR))
+ workDir = new File(IGNITE_WORK_DIR);
+ else if (!F.isEmpty(userIgniteHome))
+ workDir = new File(userIgniteHome, "work");
+ else {
+ String tmpDirPath = System.getProperty("java.io.tmpdir");
+
+ if (tmpDirPath == null)
+ throw new IgniteCheckedException("Failed to create work directory in OS temp " +
+ "(property 'java.io.tmpdir' is null).");
+
+ workDir = new File(tmpDirPath, "ignite" + File.separator + "work");
+ }
+
+ if (!workDir.isAbsolute())
+ throw new IgniteCheckedException("Work directory path must be absolute: " + workDir);
+
+ if (!mkdirs(workDir))
+ throw new IgniteCheckedException("Work directory does not exist and cannot be created: " + workDir);
+
+ if (!workDir.canRead())
+ throw new IgniteCheckedException("Cannot read from work directory: " + workDir);
+
+ if (!workDir.canWrite())
+ throw new IgniteCheckedException("Cannot write to work directory: " + workDir);
+
+ igniteWork = workDir.getAbsolutePath();
+ }
+ }
+ }
+
+ /**
++ * Get work directory for the given user-provided work directory and Ignite home.
++ *
++ * @param userWorkDir Ignite work folder provided by user.
++ * @param userIgniteHome Ignite home folder provided by user.
++ */
+ public static String workDirectory(@Nullable String userWorkDir, @Nullable String userIgniteHome)
+ throws IgniteCheckedException {
+ if (userIgniteHome == null)
+ userIgniteHome = getIgniteHome();
+
+ File workDir;
+
+ if (!F.isEmpty(userWorkDir))
+ workDir = new File(userWorkDir);
+ else if (!F.isEmpty(IGNITE_WORK_DIR))
+ workDir = new File(IGNITE_WORK_DIR);
+ else if (!F.isEmpty(userIgniteHome))
+ workDir = new File(userIgniteHome, "work");
+ else {
+ String tmpDirPath = System.getProperty("java.io.tmpdir");
+
+ if (tmpDirPath == null)
+ throw new IgniteCheckedException("Failed to create work directory in OS temp " +
+ "(property 'java.io.tmpdir' is null).");
+
+ workDir = new File(tmpDirPath, "ignite" + File.separator + "work");
+ }
+
+ if (!workDir.isAbsolute())
+ throw new IgniteCheckedException("Work directory path must be absolute: " + workDir);
+
+ if (!mkdirs(workDir))
+ throw new IgniteCheckedException("Work directory does not exist and cannot be created: " + workDir);
+
+ if (!workDir.canRead())
+ throw new IgniteCheckedException("Cannot read from work directory: " + workDir);
+
+ if (!workDir.canWrite())
+ throw new IgniteCheckedException("Cannot write to work directory: " + workDir);
+
+ return workDir.getAbsolutePath();
+ }
+
+ /**
* Nullifies Ignite home directory. For test purposes only.
*/
public static void nullifyHomeDirectory() {
@@@ -8954,30 -8979,16 +9124,32 @@@
}
/**
+ * Nullifies work directory. For test purposes only.
+ */
+ public static void nullifyWorkDirectory() {
+ igniteWork = null;
+ }
+
+ /**
* Resolves work directory.
*
+ * @param workDir Work directory.
* @param path Path to resolve.
* @param delIfExist Flag indicating whether to delete the specify directory or not.
* @return Resolved work directory.
* @throws IgniteCheckedException If failed.
*/
- public static File resolveWorkDirectory(String path, boolean delIfExist) throws IgniteCheckedException {
+ public static File resolveWorkDirectory(String workDir, String path, boolean delIfExist)
+ throws IgniteCheckedException {
+ if (path == null) {
+ String ggWork0 = igniteWork;
+
+ if (F.isEmpty(ggWork0))
+ throw new IgniteCheckedException("Failed to resolve path (work directory has not been set): " + path);
+
+ return new File(igniteWork);
+ }
+
File dir = new File(path);
if (!dir.isAbsolute()) {
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioRecoveryDescriptor.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
index 1c4599c,bc1f173..82225bc
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
@@@ -550,6 -642,31 +642,38 @@@ public class GridNioServer<T>
}
/**
+ * @return Workers.
+ */
+ public List<AbstractNioClientWorker> workers() {
+ return clientWorkers;
+ }
+
+ /**
+ * @param ses Session.
+ * @param from Move from index.
+ * @param to Move to index.
+ */
+ private void moveSession(GridNioSession ses, int from, int to) {
+ assert from >= 0 && from < clientWorkers.size() : from;
+ assert to >= 0 && to < clientWorkers.size() : to;
+ assert from != to;
+
+ GridSelectorNioSessionImpl ses0 = (GridSelectorNioSessionImpl)ses;
+
+ SessionMoveFuture fut = new SessionMoveFuture(ses0, to);
+
+ if (!ses0.offerMove(clientWorkers.get(from), fut))
+ fut.onDone(false);
+ }
+
+ /**
++ * @return Sessions.
++ */
++ public Collection<? extends GridNioSession> sessions() {
++ return sessions;
++ }
++
++ /**
* @param ses Session.
* @param op Operation.
* @return Future for operation.
@@@ -2618,6 -3240,18 +3247,28 @@@
}
/**
++ * @param srvName Logical server name for threads identification.
++ * @return This for chaining.
++ */
++ public Builder<T> serverName(@Nullable String srvName) {
++ this.srvName = srvName;
++
++ return this;
++ }
++
++ /**
+ * @param selectorSpins Defines how many non-blocking {@code selector.selectNow()} should be made before
+ * falling into {@code selector.select(long)} in NIO server. Long value. Default is {@code 0}.
+ * Can be set to {@code Long.MAX_VALUE} so selector threads will never block.
+ * @return This for chaining.
+ */
+ public Builder<T> selectorSpins(long selectorSpins) {
+ this.selectorSpins = selectorSpins;
+
+ return this;
+ }
+
+ /**
* @param tcpNoDelay If TCP_NODELAY option should be set to accepted sockets.
* @return This for chaining.
*/
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java
index 6b00281,66f9176..c257a8c
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java
@@@ -43,9 -45,9 +45,12 @@@ class GridSelectorNioSessionImpl extend
@GridToStringExclude
private SelectionKey key;
+ /** Current worker thread. */
+ private volatile GridNioWorker worker;
+
+ /** Worker index for server */
+ private final int selectorIdx;
+
/** Semaphore. */
@GridToStringExclude
private final Semaphore sem;
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeDataCollectorJob.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryJob.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/main/resources/META-INF/classnames.properties
----------------------------------------------------------------------
diff --cc modules/core/src/main/resources/META-INF/classnames.properties
index deab7da,4c9596c..ac3a992
--- a/modules/core/src/main/resources/META-INF/classnames.properties
+++ b/modules/core/src/main/resources/META-INF/classnames.properties
@@@ -534,14 -534,7 +534,15 @@@ org.apache.ignite.internal.processors.c
org.apache.ignite.internal.processors.cache.GridCacheUtils$9
org.apache.ignite.internal.processors.cache.GridCacheValueCollection
org.apache.ignite.internal.processors.cache.GridCacheValueCollection$1
+org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$1
+org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$2
+org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$3
+org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$4
+org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$5
+org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$6
+org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$7
+org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$8
+ org.apache.ignite.internal.processors.cache.GridDeferredAckMessageSender$DeferredAckMessageBuffer
org.apache.ignite.internal.processors.cache.IgniteCacheProxy
org.apache.ignite.internal.processors.cache.IgniteCacheProxy$1
org.apache.ignite.internal.processors.cache.IgniteCacheProxy$10
@@@ -552,13 -545,15 +553,17 @@@ org.apache.ignite.internal.processors.c
org.apache.ignite.internal.processors.cache.IgniteCacheProxy$5
org.apache.ignite.internal.processors.cache.IgniteCacheProxy$8
org.apache.ignite.internal.processors.cache.IgniteCacheProxy$9
+org.apache.ignite.internal.processors.cache.IgniteRebalanceIterator
org.apache.ignite.internal.processors.cache.KeyCacheObject
org.apache.ignite.internal.processors.cache.KeyCacheObjectImpl
+ org.apache.ignite.internal.processors.cache.QueryCursorImpl$State
org.apache.ignite.internal.processors.cache.affinity.GridCacheAffinityProxy
org.apache.ignite.internal.processors.cache.binary.BinaryMetadataKey
org.apache.ignite.internal.processors.cache.binary.CacheDefaultBinaryAffinityKeyMapper
+org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl$4
+ org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl$1
+ org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl$5
+ org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl$6
org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl$MetaDataEntryFilter
org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl$MetaDataPredicate
org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl$MetadataProcessor
@@@ -690,13 -683,19 +697,19 @@@ org.apache.ignite.internal.processors.c
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$7
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$8
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$9
- org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$DeferredResponseBuffer
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicDeferredUpdateResponse
+ org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicSingleUpdateRequest
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicUpdateRequest
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicUpdateResponse
-org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractSingleUpdateRequest
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture$1
++org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractSingleUpdateRequest
+ org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateRequest
+ org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicFullUpdateRequest
+ org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFilterRequest
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture$1
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture$2
+ org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateInvokeRequest
+ org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateRequest
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture$1
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture$2
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture$3
@@@ -832,14 -832,18 +845,24 @@@ org.apache.ignite.internal.processors.c
org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryManager$7
org.apache.ignite.internal.processors.cache.query.GridCacheQueryAdapter$1
org.apache.ignite.internal.processors.cache.query.GridCacheQueryAdapter$ScanQueryFallbackClosableIterator
+ org.apache.ignite.internal.processors.cache.query.GridCacheQueryDetailMetricsAdapter
org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter$1
org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter$2
+org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$1$1
+org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$1$2
+org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$10$1
+org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$2
+org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$3
+org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$4
+ org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$11
+ org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$12
+ org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$14
+ org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$15
+ org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$16
+ org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$17
+ org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$18$1
+ org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$4$1
+ org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$4$2
org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$5
org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$6
org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$7
@@@ -1189,7 -1198,8 +1215,9 @@@ org.apache.ignite.internal.processors.p
org.apache.ignite.internal.processors.platform.PlatformJavaObjectFactoryProxy
org.apache.ignite.internal.processors.platform.PlatformNativeException
org.apache.ignite.internal.processors.platform.PlatformNoCallbackException
+org.apache.ignite.internal.processors.platform.cache.PlatformCache$3
+ org.apache.ignite.internal.processors.platform.PlatformProcessorImpl$1
+ org.apache.ignite.internal.processors.platform.cache.PlatformCache$5
org.apache.ignite.internal.processors.platform.cache.PlatformCacheEntryFilter
org.apache.ignite.internal.processors.platform.cache.PlatformCacheEntryFilterImpl
org.apache.ignite.internal.processors.platform.cache.PlatformCacheEntryProcessor
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/cache/store/jdbc/CacheJdbcPojoStoreAbstractSelfTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/managers/GridManagerStopSelfTest.java
----------------------------------------------------------------------
diff --cc modules/core/src/test/java/org/apache/ignite/internal/managers/GridManagerStopSelfTest.java
index 6d0b06a,328b775..50691b6
--- a/modules/core/src/test/java/org/apache/ignite/internal/managers/GridManagerStopSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/managers/GridManagerStopSelfTest.java
@@@ -26,6 -26,8 +26,7 @@@ import org.apache.ignite.internal.manag
import org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager;
import org.apache.ignite.internal.managers.failover.GridFailoverManager;
import org.apache.ignite.internal.managers.loadbalancer.GridLoadBalancerManager;
-import org.apache.ignite.internal.managers.swapspace.GridSwapSpaceManager;
+ import org.apache.ignite.internal.processors.pool.PoolProcessor;
import org.apache.ignite.internal.processors.resource.GridResourceProcessor;
import org.apache.ignite.marshaller.optimized.OptimizedMarshaller;
import org.apache.ignite.resources.LoggerResource;
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheGetEntryAbstractTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManagerDeserializationTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheConfigVariationsFullApiTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheExpireAndUpdateConsistencyTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCachePeekModesAbstractTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheClientNodeChangingTopologyTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCacheMultiTxLockSelfTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCachePutRetryAbstractSelfTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridCacheAtomicInvalidPartitionHandlingSelfTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicClientOnlyMultiNodeFullApiSelfTest.java
----------------------------------------------------------------------
diff --cc modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicClientOnlyMultiNodeFullApiSelfTest.java
index 60f9fd5,65f780b..736afb7
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicClientOnlyMultiNodeFullApiSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicClientOnlyMultiNodeFullApiSelfTest.java
@@@ -190,10 -192,10 +192,10 @@@ public class GridCacheAtomicClientOnlyM
}
/** {@inheritDoc} */
- @Override public void testEvictExpired() throws Exception {
+ @Override public void _testEvictExpired() throws Exception {
IgniteCache<String, Integer> cache = jcache();
- String key = primaryKeysForCache(cache, 1).get(0);
+ final String key = primaryKeysForCache(cache, 1).get(0);
cache.put(key, 1);
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicNearOnlyMultiNodeFullApiSelfTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/expiry/IgniteCacheExpiryPolicyAbstractTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/expiry/IgniteCacheExpiryPolicyTestSuite.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryFailoverAbstractSelfTest.java
----------------------------------------------------------------------
diff --cc modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryFailoverAbstractSelfTest.java
index 691e244,d2cb710..3890ce2
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryFailoverAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryFailoverAbstractSelfTest.java
@@@ -433,7 -537,7 +537,7 @@@ public abstract class CacheContinuousQu
Affinity<Object> aff = grid(i).affinity(null);
- Map<Integer, T2<Long, Long>> act = grid(i).cachex(null).context().topology().updateCounters();
- Map<Integer, Long> act = grid(i).cachex(null).context().topology().updateCounters(false);
++ Map<Integer, T2<Long, Long>> act = grid(i).cachex(null).context().topology().updateCounters(false);
for (Map.Entry<Integer, Long> e : updCntrs.entrySet()) {
if (aff.mapPartitionToPrimaryAndBackups(e.getKey()).contains(grid(i).localNode()))
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/datastreamer/DataStreamProcessorSelfTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsIgniteMock.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/loadtests/hashmap/GridCacheTestContext.java
----------------------------------------------------------------------
diff --cc modules/core/src/test/java/org/apache/ignite/loadtests/hashmap/GridCacheTestContext.java
index 2716c4f,6c2c4c1..cec9e30
--- a/modules/core/src/test/java/org/apache/ignite/loadtests/hashmap/GridCacheTestContext.java
+++ b/modules/core/src/test/java/org/apache/ignite/loadtests/hashmap/GridCacheTestContext.java
@@@ -32,8 -32,9 +32,9 @@@ import org.apache.ignite.internal.proce
import org.apache.ignite.internal.processors.cache.GridCacheMvccManager;
import org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager;
import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
-import org.apache.ignite.internal.processors.cache.GridCacheSwapManager;
import org.apache.ignite.internal.processors.cache.GridCacheTtlManager;
+import org.apache.ignite.internal.processors.cache.database.IgniteCacheDatabaseSharedManager;
+ import org.apache.ignite.internal.processors.cache.GridCacheSharedTtlCleanupManager;
import org.apache.ignite.internal.processors.cache.datastructures.CacheDataStructuresManager;
import org.apache.ignite.internal.processors.cache.dr.GridOsCacheDrManager;
import org.apache.ignite.internal.processors.cache.jta.CacheNoopJtaManager;
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteMock.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteCacheProcessProxy.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteProcessProxy.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite.java
----------------------------------------------------------------------
diff --cc modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite.java
index 626ddab,c6281df..3b5e6b7
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite.java
@@@ -146,14 -145,10 +150,17 @@@ public class IgniteBasicTestSuite exten
suite.addTestSuite(NotStringSystemPropertyTest.class);
suite.addTestSuite(MarshallerContextLockingSelfTest.class);
+ suite.addTestSuite(MarshallerContextSelfTest.class);
+
+ suite.addTestSuite(SecurityPermissionSetBuilderTest.class);
+ // Basic DB data structures.
+ suite.addTestSuite(BPlusTreeSelfTest.class);
+ suite.addTestSuite(BPlusTreeFakeReuseSelfTest.class);
+ suite.addTestSuite(BPlusTreeReuseSelfTest.class);
+ suite.addTestSuite(MetadataStorageSelfTest.class);
+ suite.addTestSuite(FreeListImplSelfTest.class);
+
return suite;
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
----------------------------------------------------------------------
diff --cc modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
index a904a81,554bb3d..56c10ae
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
@@@ -78,7 -85,10 +84,9 @@@ import org.apache.ignite.internal.proce
import org.apache.ignite.internal.processors.cache.GridCacheStopSelfTest;
import org.apache.ignite.internal.processors.cache.GridCacheStorePutxSelfTest;
import org.apache.ignite.internal.processors.cache.GridCacheStoreValueBytesSelfTest;
+ import org.apache.ignite.internal.processors.cache.GridCacheSwapCleanupTest;
import org.apache.ignite.internal.processors.cache.GridCacheSwapPreloadSelfTest;
-import org.apache.ignite.internal.processors.cache.GridCacheSwapReloadSelfTest;
+ import org.apache.ignite.internal.processors.cache.GridCacheTtlManagerEvictionSelfTest;
import org.apache.ignite.internal.processors.cache.GridCacheTtlManagerSelfTest;
import org.apache.ignite.internal.processors.cache.GridCacheTxPartitionedLocalStoreSelfTest;
import org.apache.ignite.internal.processors.cache.IgniteCacheAtomicInvokeTest;
@@@ -223,6 -237,8 +236,7 @@@ public class IgniteCacheTestSuite exten
// Swap tests.
suite.addTestSuite(GridCacheSwapPreloadSelfTest.class);
- suite.addTestSuite(GridCacheSwapReloadSelfTest.class);
+ suite.addTestSuite(GridCacheSwapCleanupTest.class);
// Common tests.
suite.addTestSuite(CacheNamesSelfTest.class);
@@@ -312,8 -335,11 +332,13 @@@
suite.addTestSuite(CacheTxFastFinishTest.class);
+ suite.addTestSuite(IgniteVariousConnectionNumberTest.class);
+ suite.addTestSuite(IgniteCommunicationBalanceTest.class);
+ suite.addTestSuite(IgniteCommunicationBalanceMultipleConnectionsTest.class);
+ suite.addTestSuite(IgniteIoTestMessagesTest.class);
+
+ suite.addTestSuite(IgniteIncompleteCacheObjectSelfTest.class);
+
return suite;
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
----------------------------------------------------------------------
diff --cc modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
index f716736,5a09a1c..fd32147
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
@@@ -296,8 -306,8 +299,9 @@@ public class IgniteCacheTestSuite4 exte
suite.addTestSuite(CacheVersionedEntryReplicatedAtomicOffHeapSelfTest.class);
suite.addTestSuite(CacheVersionedEntryReplicatedTransactionalOffHeapSelfTest.class);
- suite.addTestSuite(CacheSwapUnswapGetTest.class);
- suite.addTestSuite(CacheSwapUnswapGetTestSmallQueueSize.class);
+ // TODO GG-11148.
+ // suite.addTestSuite(CacheSwapUnswapGetTest.class);
++ // suite.addTestSuite(CacheSwapUnswapGetTestSmallQueueSize.class);
suite.addTestSuite(GridCacheDhtTxPreloadSelfTest.class);
suite.addTestSuite(GridCacheNearTxPreloadSelfTest.class);
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite5.java
----------------------------------------------------------------------
diff --cc modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite5.java
index 42d5258,144aac6..29a7771
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite5.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite5.java
@@@ -21,19 -21,17 +21,21 @@@ import junit.framework.TestSuite
import org.apache.ignite.internal.processors.cache.CacheNearReaderUpdateTest;
import org.apache.ignite.internal.processors.cache.CacheRebalancingSelfTest;
import org.apache.ignite.internal.processors.cache.CacheSerializableTransactionsTest;
+import org.apache.ignite.internal.processors.cache.ClusterStatePartitionedSelfTest;
+import org.apache.ignite.internal.processors.cache.ClusterStateReplicatedSelfTest;
import org.apache.ignite.internal.processors.cache.EntryVersionConsistencyReadThroughTest;
+ import org.apache.ignite.internal.processors.cache.GridCacheOffHeapCleanupTest;
-import org.apache.ignite.internal.processors.cache.GridCacheSwapSpaceSpiConsistencySelfTest;
import org.apache.ignite.internal.processors.cache.IgniteCachePutStackOverflowSelfTest;
import org.apache.ignite.internal.processors.cache.IgniteCacheReadThroughEvictionsVariationsSuite;
import org.apache.ignite.internal.processors.cache.IgniteCacheStoreCollectionTest;
import org.apache.ignite.internal.processors.cache.distributed.CacheLateAffinityAssignmentFairAffinityTest;
import org.apache.ignite.internal.processors.cache.distributed.CacheLateAffinityAssignmentNodeJoinValidationTest;
import org.apache.ignite.internal.processors.cache.distributed.CacheLateAffinityAssignmentTest;
+import org.apache.ignite.internal.processors.cache.distributed.IgniteActiveOnStartNodeJoinValidationSelfTest;
+import org.apache.ignite.internal.processors.cache.distributed.IgniteCachePartitionLossPolicySelfTest;
+import org.apache.ignite.internal.processors.cache.distributed.replicated.IgniteCacheSyncRebalanceModeSelfTest;
import org.apache.ignite.internal.processors.cache.distributed.IgniteCacheTxIteratorSelfTest;
+ import org.apache.ignite.internal.processors.cache.distributed.replicated.IgniteCacheSyncRebalanceModeSelfTest;
import org.apache.ignite.internal.processors.cache.store.IgniteCacheWriteBehindNoUpdateSelfTest;
/**
@@@ -63,12 -61,10 +65,14 @@@ public class IgniteCacheTestSuite5 exte
suite.addTest(IgniteCacheReadThroughEvictionsVariationsSuite.suite());
suite.addTestSuite(IgniteCacheTxIteratorSelfTest.class);
+ suite.addTestSuite(GridCacheOffHeapCleanupTest.class);
+
+ suite.addTestSuite(CacheRebalancingSelfTest.class);
+
+ suite.addTestSuite(ClusterStatePartitionedSelfTest.class);
+ suite.addTestSuite(ClusterStateReplicatedSelfTest.class);
+ suite.addTestSuite(IgniteCachePartitionLossPolicySelfTest.class);
+
- suite.addTestSuite(CacheRebalancingSelfTest.class);
-
return suite;
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteKernalSelfTestSuite.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteSpiTestSuite.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteUtilSelfTestSuite.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
index 55d1b57,5df44db..1445e16
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
@@@ -56,6 -57,8 +57,7 @@@ import javax.cache.CacheException
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteException;
import org.apache.ignite.IgniteLogger;
-import org.apache.ignite.cache.CacheMemoryMode;
+ import org.apache.ignite.cache.query.QueryCancelledException;
import org.apache.ignite.cache.query.QueryCursor;
import org.apache.ignite.cache.query.SqlFieldsQuery;
import org.apache.ignite.cache.query.SqlQuery;
@@@ -72,13 -76,12 +75,15 @@@ import org.apache.ignite.internal.proce
import org.apache.ignite.internal.processors.cache.GridCacheAdapter;
import org.apache.ignite.internal.processors.cache.GridCacheAffinityManager;
import org.apache.ignite.internal.processors.cache.GridCacheContext;
-import org.apache.ignite.internal.processors.cache.IgniteInternalCache;
+import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
+import org.apache.ignite.internal.processors.cache.KeyCacheObject;
import org.apache.ignite.internal.processors.cache.QueryCursorImpl;
+import org.apache.ignite.internal.processors.cache.database.tree.io.PageIO;
import org.apache.ignite.internal.processors.cache.query.GridCacheQueryMarshallable;
import org.apache.ignite.internal.processors.cache.query.GridCacheTwoStepQuery;
+ import org.apache.ignite.internal.processors.cache.query.IgniteQueryErrorCode;
+ import org.apache.ignite.internal.processors.query.GridQueryCancel;
+import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
import org.apache.ignite.internal.processors.query.GridQueryFieldMetadata;
import org.apache.ignite.internal.processors.query.GridQueryFieldsResult;
import org.apache.ignite.internal.processors.query.GridQueryFieldsResultAdapter;
@@@ -86,11 -89,8 +91,12 @@@ import org.apache.ignite.internal.proce
import org.apache.ignite.internal.processors.query.GridQueryIndexing;
import org.apache.ignite.internal.processors.query.GridQueryProperty;
import org.apache.ignite.internal.processors.query.GridQueryTypeDescriptor;
+ import org.apache.ignite.internal.processors.query.IgniteSQLException;
import org.apache.ignite.internal.processors.query.h2.opt.GridH2DefaultTableEngine;
+import org.apache.ignite.internal.processors.query.h2.database.H2RowFactory;
+import org.apache.ignite.internal.processors.query.h2.database.H2TreeIndex;
+import org.apache.ignite.internal.processors.query.h2.database.io.H2InnerIO;
+import org.apache.ignite.internal.processors.query.h2.database.io.H2LeafIO;
import org.apache.ignite.internal.processors.query.h2.opt.GridH2KeyValueRowOffheap;
import org.apache.ignite.internal.processors.query.h2.opt.GridH2KeyValueRowOnheap;
import org.apache.ignite.internal.processors.query.h2.opt.GridH2QueryContext;
@@@ -1861,12 -2007,8 +1993,12 @@@ public class IgniteH2Indexing implement
U.error(log, "Failed to drop schema on cache stop (will ignore): " + U.maskName(ccfg.getName()), e);
}
+ for (TableDescriptor tblDesc : rmv.tbls.values())
+ for (Index idx : tblDesc.tbl.getIndexes())
+ idx.close(null);
+
for (Iterator<Map.Entry<TwoStepCachedQueryKey, TwoStepCachedQuery>> it = twoStepCache.entrySet().iterator();
- it.hasNext();) {
+ it.hasNext();) {
Map.Entry<TwoStepCachedQueryKey, TwoStepCachedQuery> e = it.next();
if (F.eq(e.getKey().space, ccfg.getName()))
@@@ -2991,8 -3062,23 +3123,23 @@@
}
/** {@inheritDoc} */
+ @Override public void setColumnValue(Object key, Object val, Object colVal, int col) {
+ try {
+ props[col].setValue(key, val, colVal);
+ }
+ catch (IgniteCheckedException e) {
+ throw DbException.convert(e);
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean isColumnKeyProperty(int col) {
+ return props[col].key();
+ }
+
+ /** {@inheritDoc} */
@Override public GridH2KeyValueRowOffheap createPointer(long ptr) {
- GridH2KeyValueRowOffheap row = schema.rowCache.get(ptr);
+ GridH2KeyValueRowOffheap row = (GridH2KeyValueRowOffheap)schema.rowCache.get(ptr);
if (row != null) {
assert row.pointer() == ptr : ptr + " " + row.pointer();
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2RowDescriptor.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2TreeIndex.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
index 4ec3437,1f00ed2..333908f
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
@@@ -63,7 -63,7 +63,8 @@@ import org.apache.ignite.internal.proce
import org.apache.ignite.internal.processors.cache.query.GridCacheSqlQuery;
import org.apache.ignite.internal.processors.cache.query.GridCacheTwoStepQuery;
import org.apache.ignite.internal.processors.query.GridQueryCacheObjectsIterator;
+ import org.apache.ignite.internal.processors.query.GridQueryCancel;
+import org.apache.ignite.internal.processors.query.h2.GridH2ResultSetIterator;
import org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing;
import org.apache.ignite.internal.processors.query.h2.opt.GridH2QueryContext;
import org.apache.ignite.internal.processors.query.h2.sql.GridSqlQuerySplitter;
@@@ -1271,25 -1368,20 +1366,44 @@@ public class GridReduceQueryExecutor
/**
*
*/
+ private static class Iter extends GridH2ResultSetIterator<List<?>> {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /**
+ * @param data Data array.
+ * @throws IgniteCheckedException If failed.
+ */
+ protected Iter(ResultSet data) throws IgniteCheckedException {
+ super(data, true, false);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected List<?> createRow() {
+ ArrayList<Object> res = new ArrayList<>(row.length);
+
+ Collections.addAll(res, row);
+
+ return res;
+ }
+ }
- }
++ /**
++ *
++ */
+ private class ExplicitPartitionsSpecializer implements IgniteBiClosure<ClusterNode,Message,Message> {
+ /** */
+ private final Map<ClusterNode,IntArray> partsMap;
+
+ /**
+ * @param partsMap Partitions map.
+ */
+ private ExplicitPartitionsSpecializer(Map<ClusterNode,IntArray> partsMap) {
+ this.partsMap = partsMap;
+ }
+
+ /** {@inheritDoc} */
+ @Override public Message apply(ClusterNode n, Message msg) {
+ return copy(msg, n, partsMap);
+ }
+ }
+ }
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapEvictQueryTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheQueryMultiThreadedSelfTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/IgniteCacheReplicatedFieldsQuerySelfTest.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/IgniteCacheReplicatedFieldsQuerySelfTest.java
index 1c75b0b,4ec840c..4d95e38
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/IgniteCacheReplicatedFieldsQuerySelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/IgniteCacheReplicatedFieldsQuerySelfTest.java
@@@ -47,13 -48,15 +48,15 @@@ public class IgniteCacheReplicatedField
* @throws Exception If failed.
*/
public void testLostIterator() throws Exception {
+ IgniteCache<Object, Object> cache = grid(0).cache(null);
+
QueryCursor<List<?>> qry = null;
- int maximumQryIterCnt = GridCacheQueryManager.MAX_ITERATORS;
+ int maximumQueryIteratorCount = cache.getConfiguration(CacheConfiguration.class).getMaxQueryIteratorsCount();
- for (int i = 0; i < maximumQryIterCnt + 1; i++) {
- QueryCursor<List<?>> q = intCache
- .query(new SqlFieldsQuery("select _key from Integer where _key >= 0 order by _key"));
+ for (int i = 0; i < maximumQueryIteratorCount + 1; i++) {
+ QueryCursor<List<?>> q = cache
- .query(new SqlFieldsQuery("select _key from Integer where _key >= 0 order by _key"));
++ .query(new SqlFieldsQuery("select _key from Integer where _key >= 0 order by _key"));
assertEquals(0, q.iterator().next().get(0));
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/IgniteCacheReplicatedQuerySelfTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSplitterSelfTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/GridIndexingSpiAbstractSelfTest.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/GridIndexingSpiAbstractSelfTest.java
index 7669b5f,512001f..593ba95
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/GridIndexingSpiAbstractSelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/GridIndexingSpiAbstractSelfTest.java
@@@ -369,10 -370,10 +372,10 @@@ public abstract class GridIndexingSpiAb
assertEquals(vals[i++], f);
}
- assertFalse(fieldsRes.iterator().hasNext());
+ assertFalse(it.hasNext());
// Remove
- spi.remove(typeAA.space(), key(2), aa(2, "Valera", 19));
+ spi.remove(typeAA.space(), typeAA, key(2), 0, aa(2, "Valera", 19), null);
assertEquals(1, spi.size(typeAA.space(), typeAA));
assertEquals(2, spi.size(typeAB.space(), typeAB));
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/BaseH2CompareQueryTest.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/BaseH2CompareQueryTest.java
index 1648beb,7cae585..1324b72
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/BaseH2CompareQueryTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/BaseH2CompareQueryTest.java
@@@ -36,8 -35,9 +36,9 @@@ import org.apache.ignite.cache.query.Sq
import org.apache.ignite.cache.query.SqlQuery;
import org.apache.ignite.cache.query.annotations.QuerySqlField;
import org.apache.ignite.cache.query.annotations.QuerySqlFunction;
-import org.apache.ignite.configuration.CacheConfiguration;
+import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.testframework.GridTestUtils;
+ import org.apache.ignite.testsuites.IgniteIgnore;
/**
* Base set of queries to compare query results from h2 database instance and mixed ignite caches (replicated and partitioned)
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/GridQueryParsingTest.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/GridQueryParsingTest.java
index e6b8d91,537ccdf..e5b3101
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/GridQueryParsingTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/GridQueryParsingTest.java
@@@ -89,13 -78,19 +92,13 @@@ public class GridQueryParsingTest exten
cc.setNearConfiguration(null);
cc.setWriteSynchronizationMode(FULL_SYNC);
cc.setRebalanceMode(SYNC);
- cc.setSwapEnabled(false);
cc.setSqlFunctionClasses(GridQueryParsingTest.class);
- cc.setIndexedTypes(
- String.class, Address.class,
- String.class, Person.class
- );
+ cc.setIndexedTypes(clsK, clsV);
- c.setCacheConfiguration(cc);
-
- return c;
+ return cc;
}
- /** */
+ /** {@inheritDoc} */
@Override protected void beforeTestsStarted() throws Exception {
super.beforeTestsStarted();
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite.java
index 21d2bec,783f831..babd332
--- a/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite.java
@@@ -40,7 -42,7 +42,8 @@@ import org.apache.ignite.internal.proce
import org.apache.ignite.internal.processors.cache.IgniteCacheJoinPartitionedAndReplicatedTest;
import org.apache.ignite.internal.processors.cache.IgniteCacheJoinQueryWithAffinityKeyTest;
import org.apache.ignite.internal.processors.cache.IgniteCacheLargeResultSelfTest;
+ import org.apache.ignite.internal.processors.cache.IgniteCacheMergeSqlQuerySelfTest;
+import org.apache.ignite.internal.processors.cache.IgniteCacheMultipleIndexedTypesTest;
import org.apache.ignite.internal.processors.cache.IgniteCacheOffheapEvictQueryTest;
import org.apache.ignite.internal.processors.cache.IgniteCacheOffheapIndexScanTest;
import org.apache.ignite.internal.processors.cache.IgniteCacheOffheapTieredMultithreadedSelfTest;
@@@ -153,6 -162,9 +163,11 @@@ public class IgniteCacheQuerySelfTestSu
suite.addTestSuite(IgniteBinaryObjectQueryArgumentsOffheapLocalTest.class);
suite.addTestSuite(IgniteBinaryObjectLocalQueryArgumentsTest.class);
+ suite.addTestSuite(IndexingSpiQuerySelfTest.class);
+ suite.addTestSuite(IndexingSpiQueryTxSelfTest.class);
+
++ suite.addTestSuite(IgniteCacheMultipleIndexedTypesTest.class);
++
return suite;
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/spring/src/main/java/org/apache/ignite/IgniteSpringBean.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheCommand.scala
----------------------------------------------------------------------
diff --cc modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheCommand.scala
index 4a54035,04a68ae..193fac8
--- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheCommand.scala
+++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheCommand.scala
@@@ -269,9 -288,11 +270,9 @@@ class VisorCacheCommand
if (hasArgFlag("scan", argLst))
VisorCacheScanCommand().scan(argLst, node)
else {
- if (aggrData.nonEmpty && !aggrData.exists(cache => safeEquals(cache.name(), name) && cache.system())) {
+ if (aggrData.nonEmpty && !aggrData.exists(cache => F.eq(cache.name(), name) && cache.system())) {
if (hasArgFlag("clear", argLst))
VisorCacheClearCommand().clear(argLst, node)
- else if (hasArgFlag("swap", argLst))
- VisorCacheSwapCommand().swap(argLst, node)
else if (hasArgFlag("stop", argLst))
VisorCacheStopCommand().stop(argLst, node)
else if (hasArgFlag("reset", argLst))
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/yardstick/config/ignite-base-config.xml
----------------------------------------------------------------------
diff --cc modules/yardstick/config/ignite-base-config.xml
index 6799982,615cb42..047738d
--- a/modules/yardstick/config/ignite-base-config.xml
+++ b/modules/yardstick/config/ignite-base-config.xml
@@@ -119,38 -140,42 +126,40 @@@
<property name="atomicityMode" value="ATOMIC"/>
- <property name="swapEnabled" value="false"/>
-
- <property name="indexedTypes">
+ <property name="typeMetadata">
<list>
- <bean class="org.apache.ignite.cache.CacheTypeMetadata">
- <property name="keyType" value="java.lang.Integer"/>
- <property name="valueType" value="org.apache.ignite.yardstick.cache.model.Organization"/>
-
- <property name="ascendingFields">
- <map>
- <entry key="id" value="java.lang.Integer"/>
- <entry key="name" value="java.lang.String"/>
- </map>
- </property>
- </bean>
- <bean class="org.apache.ignite.cache.CacheTypeMetadata">
- <property name="keyType" value="java.lang.Integer"/>
- <property name="valueType" value="org.apache.ignite.yardstick.cache.model.Person"/>
-
- <property name="ascendingFields">
- <map>
- <entry key="id" value="java.lang.Integer"/>
- <entry key="orgId" value="java.lang.Integer"/>
- <entry key="salary" value="java.lang.Double"/>
- </map>
- </property>
-
- <property name="queryFields">
- <map>
- <entry key="firstName" value="java.lang.String"/>
- <entry key="lastName" value="java.lang.String"/>
- </map>
- </property>
- </bean>
+ <value>java.lang.Integer</value>
+ <value>org.apache.ignite.yardstick.cache.model.Person1</value>
+
+ <value>java.lang.Integer</value>
+ <value>org.apache.ignite.yardstick.cache.model.Person2</value>
+
+ <value>java.lang.Integer</value>
+ <value>org.apache.ignite.yardstick.cache.model.Person8</value>
+ </list>
+ </property>
+ </bean>
+
+ <bean class="org.apache.ignite.configuration.CacheConfiguration">
+ <property name="name" value="query"/>
+
+ <property name="cacheMode" value="PARTITIONED"/>
+
+ <property name="atomicityMode" value="ATOMIC"/>
+
+ <property name="indexedTypes">
+ <list>
+ <value>java.lang.Integer</value>
+ <value>org.apache.ignite.yardstick.cache.model.Organization</value>
+
+ <value>java.lang.Integer</value>
+ <value>org.apache.ignite.yardstick.cache.model.Person</value>
+
+ <value>java.lang.Integer</value>
+ <value>org.apache.ignite.yardstick.cache.model.SampleValue</value>
+
+ <value>java.lang.Integer</value>
+ <value>java.lang.Integer</value>
</list>
</property>
</bean>
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/yardstick/pom.xml
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8483e8fa/modules/yardstick/src/main/java/org/apache/ignite/yardstick/IgniteNode.java
----------------------------------------------------------------------
[05/50] [abbrv] ignite git commit: ignite-gg-11650 Stabilize
8.0.2.ea1 branch after merging activation/deactivation fix restore memory
issue
Posted by ag...@apache.org.
ignite-gg-11650 Stabilize 8.0.2.ea1 branch after merging activation/deactivation fix restore memory issue
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/1ac93f0c
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/1ac93f0c
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/1ac93f0c
Branch: refs/heads/ignite-3477
Commit: 1ac93f0c94cfd5546a9446035e6f5f3975e43a8c
Parents: a290fdd
Author: Dmitriy Govorukhin <dg...@gridgain.com>
Authored: Tue Dec 20 15:42:17 2016 +0300
Committer: Dmitriy Govorukhin <dg...@gridgain.com>
Committed: Tue Dec 20 15:42:17 2016 +0300
----------------------------------------------------------------------
.../processors/cache/GridCacheProcessor.java | 23 ++++------
.../GridDhtPartitionsExchangeFuture.java | 10 ++---
.../cluster/GridClusterStateProcessor.java | 45 +++++++++++++++-----
3 files changed, 48 insertions(+), 30 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/1ac93f0c/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 518fd18..3834189 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
@@ -734,6 +734,14 @@ public class GridCacheProcessor extends GridProcessorAdapter {
try {
checkConsistency();
+ //must be here, because we must start database before start first cache
+ if (activeOnStart) {
+ if (!ctx.clientNode())
+ sharedCtx.database().lock();
+
+ sharedCtx.database().onKernalStart(false);
+ }
+
// Start dynamic caches received from collect discovery data.
for (DynamicCacheDescriptor desc : registeredCaches.values()) {
if (ctx.config().isDaemon() && !CU.isMarshallerCache(desc.cacheConfiguration().getName()))
@@ -779,22 +787,9 @@ public class GridCacheProcessor extends GridProcessorAdapter {
cacheStartedLatch.countDown();
}
- if (activeOnStart) {
- //todo not used explicit lock
- if (!ctx.clientNode())
- sharedCtx.database().lock();
-
- sharedCtx.wal().onKernalStart(false);
-
- if (sharedCtx.pageStore() != null)
- sharedCtx.pageStore().onKernalStart(false);
-
- sharedCtx.database().onKernalStart(false);
- }
-
// Must call onKernalStart on shared managers after creation of fetched caches.
for (GridCacheSharedManager<?, ?> mgr : sharedCtx.managers())
- if (sharedCtx.database() != mgr && sharedCtx.wal() != mgr && sharedCtx.pageStore() != mgr)
+ if (sharedCtx.database() != mgr)
mgr.onKernalStart(false);
if (!activeOnStart)
http://git-wip-us.apache.org/repos/asf/ignite/blob/1ac93f0c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
index dadcda4..81ba317 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
@@ -651,17 +651,17 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT
private ExchangeType onCacheChangeRequest(boolean crd) throws IgniteCheckedException {
assert !F.isEmpty(reqs) : this;
- boolean clientOnly = cctx.affinity().onCacheChangeRequest(this, crd, reqs);
-
GridClusterStateProcessor stateProc = cctx.kernalContext().state();
- if (exchangeOnChangeGlobalState = stateProc.changeGlobalState(reqs, topologyVersion())){
+ if (exchangeOnChangeGlobalState = stateProc.changeGlobalState(reqs, topologyVersion())) {
changeGlobalStateException = stateProc.onChangeGlobalState();
if (crd && changeGlobalStateException != null)
changeGlobalStateExceptions.put(cctx.localNodeId(), changeGlobalStateException);
}
+ boolean clientOnly = cctx.affinity().onCacheChangeRequest(this, crd, reqs);
+
if (clientOnly) {
boolean clientCacheStarted = false;
@@ -1393,9 +1393,9 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT
if (exchangeOnChangeGlobalState && msg.getException() != null)
changeGlobalStateExceptions.put(node.id(), msg.getException());
- }
- allReceived = remaining.isEmpty();
+ allReceived = remaining.isEmpty();
+ }
}
else
singleMsgs.put(node, msg);
http://git-wip-us.apache.org/repos/asf/ignite/blob/1ac93f0c/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
index f42a8ba..18e4a1c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
@@ -34,6 +34,7 @@ import org.apache.ignite.IgniteCompute;
import org.apache.ignite.IgniteException;
import org.apache.ignite.IgniteLogger;
import org.apache.ignite.cluster.ClusterNode;
+import org.apache.ignite.configuration.CacheConfiguration;
import org.apache.ignite.events.DiscoveryEvent;
import org.apache.ignite.events.Event;
import org.apache.ignite.internal.GridKernalContext;
@@ -421,12 +422,26 @@ public class GridClusterStateProcessor extends GridProcessorAdapter {
log.info("Start activation process [nodeId=" + this.ctx.localNodeId() + ", client=" + client +
", topVer=" + cgsCtx.topVer + "]");
+ Collection<CacheConfiguration> cfgs = new ArrayList<>();
+
+ for (DynamicCacheChangeRequest req : cgsCtx.batch.requests())
+ if (req.startCacheConfiguration() != null)
+ cfgs.add(req.startCacheConfiguration());
+
try {
if (!client) {
sharedCtx.database().lock();
sharedCtx.wal().onActivate(ctx);
+ for (CacheConfiguration cfg : cfgs)
+ if (CU.isSystemCache(cfg.getName()))
+ sharedCtx.pageStore().initializeForCache(cfg);
+
+ for (CacheConfiguration cfg : cfgs)
+ if (!CU.isSystemCache(cfg.getName()))
+ sharedCtx.pageStore().initializeForCache(cfg);
+
sharedCtx.database().onActivate(ctx);
if (sharedCtx.pageStore() != null)
@@ -465,15 +480,6 @@ public class GridClusterStateProcessor extends GridProcessorAdapter {
ctx.service().onDeActivate(ctx);
- if (!client) {
- sharedCtx.database().onDeActivate(ctx);
-
- if (sharedCtx.pageStore() != null)
- sharedCtx.pageStore().onDeActivate(ctx);
-
- sharedCtx.wal().onDeActivate(ctx);
- }
-
if (log.isInfoEnabled())
log.info("Success deactivate services, dataStructures, database, pageStore, wal [id=" + ctx.localNodeId() + ", client=" +
client + ", topVer=" + cgsCtx.topVer + "]");
@@ -547,9 +553,26 @@ public class GridClusterStateProcessor extends GridProcessorAdapter {
log.info("Success final deactivate [nodeId="
+ ctx.localNodeId() + ", client=" + client + ", topVer=" + cgsCtx.topVer + "]");
- globalState = INACTIVE;
+ Exception ex = null;
+
+ try {
+ if (!client) {
+ sharedCtx.database().onDeActivate(ctx);
+
+ if (sharedCtx.pageStore() != null)
+ sharedCtx.pageStore().onDeActivate(ctx);
+
+ sharedCtx.wal().onDeActivate(ctx);
+ }
+ }
+ catch (Exception e) {
+ ex = e;
+ }
+ finally {
+ globalState = INACTIVE;
+ }
- sendChangeGlobalStateResponse(cgsCtx.requestId, cgsCtx.initiatingNodeId, null);
+ sendChangeGlobalStateResponse(cgsCtx.requestId, cgsCtx.initiatingNodeId, ex);
this.lastCgsCtx = null;
}
[46/50] [abbrv] ignite git commit: ignite-gg-11842 Add reproducer
test (name update).
Posted by ag...@apache.org.
ignite-gg-11842 Add reproducer test (name update).
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/46688083
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/46688083
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/46688083
Branch: refs/heads/ignite-3477
Commit: 46688083acbbb183a2d28c548e773878b91d23ae
Parents: 2999ffd
Author: Dmitriy Govorukhin <dg...@gridgain.com>
Authored: Wed Dec 28 18:55:08 2016 +0300
Committer: Dmitriy Govorukhin <dg...@gridgain.com>
Committed: Wed Dec 28 18:55:08 2016 +0300
----------------------------------------------------------------------
.../GridCacheConcurrentGetCacheOnClient.java | 129 -------------------
...GridCacheConcurrentGetCacheOnClientTest.java | 129 +++++++++++++++++++
2 files changed, 129 insertions(+), 129 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/46688083/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConcurrentGetCacheOnClient.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConcurrentGetCacheOnClient.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConcurrentGetCacheOnClient.java
deleted file mode 100644
index 3a97964..0000000
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConcurrentGetCacheOnClient.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.processors.cache;
-
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.atomic.AtomicInteger;
-import org.apache.ignite.Ignite;
-import org.apache.ignite.IgniteCache;
-import org.apache.ignite.configuration.IgniteConfiguration;
-import org.apache.ignite.internal.IgniteEx;
-import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
-import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-
-import static org.apache.ignite.testframework.GridTestUtils.runAsync;
-
-/**
- *
- */
-public class GridCacheConcurrentGetCacheOnClient extends GridCommonAbstractTest{
- /** Ip finder. */
- private final static TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true);
-
- /**
- * @param gridName Grid name.
- */
- @Override protected IgniteConfiguration getConfiguration(final String gridName) throws Exception {
- final IgniteConfiguration cfg = super.getConfiguration(gridName);
-
- ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setIpFinder(ipFinder);
-
- return cfg;
- }
-
- /**
- *
- */
- public void test() throws Exception {
- IgniteConfiguration node1cfg = getConfiguration("node1");
- IgniteConfiguration node2cfg = getConfiguration("node2");
-
- Ignite node1 = startGrid("node1", node1cfg);
- Ignite node2 = startGrid("node2", node2cfg);
-
- IgniteConfiguration clientCfg1 = getConfiguration("client");
- clientCfg1.setClientMode(true);
-
- IgniteConfiguration clientCfg2 = getConfiguration("client");
- clientCfg2.setClientMode(true);
-
- final IgniteEx client1 = (IgniteEx)startGrid("client1", clientCfg1);
- final IgniteEx client2 = (IgniteEx)startGrid("client2", clientCfg2);
-
- final CountDownLatch startLatch = new CountDownLatch(1);
-
- final CountDownLatch stopLatch = new CountDownLatch(2);
-
- final AtomicInteger countFails = new AtomicInteger();
-
- final AtomicInteger exceptionFails = new AtomicInteger();
-
- final String cacheName = "TEST_CACHE";
-
- runAsync(new Runnable() {
- @Override public void run() {
- try {
- startLatch.await();
-
- IgniteCache<Object, Object> cache = client2.cache(cacheName);
-
- if (cache == null)
- countFails.incrementAndGet();
-
- stopLatch.countDown();
- }
- catch (Exception e) {
- exceptionFails.incrementAndGet();
- }
- }
- });
-
- runAsync(new Runnable() {
- @Override public void run() {
- try {
- startLatch.await();
-
- IgniteCache<Object, Object> cache = client2.cache(cacheName);
-
- if (cache == null)
- countFails.incrementAndGet();
-
- stopLatch.countDown();
- }
- catch (Exception e) {
- exceptionFails.incrementAndGet();
- }
- }
- });
-
- client1.getOrCreateCache(cacheName);
-
- startLatch.countDown();
-
- IgniteCache<Object, Object> cache = client2.cache(cacheName);
-
- if (cache == null)
- countFails.incrementAndGet();
-
- stopLatch.await();
-
- if (countFails.get() != 0 || exceptionFails.get() != 0)
- fail("Cache return null in " + countFails.get() + " of 3 cases. Total exception: " + exceptionFails.get());
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/46688083/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConcurrentGetCacheOnClientTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConcurrentGetCacheOnClientTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConcurrentGetCacheOnClientTest.java
new file mode 100644
index 0000000..fb83405
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConcurrentGetCacheOnClientTest.java
@@ -0,0 +1,129 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.processors.cache;
+
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.atomic.AtomicInteger;
+import org.apache.ignite.Ignite;
+import org.apache.ignite.IgniteCache;
+import org.apache.ignite.configuration.IgniteConfiguration;
+import org.apache.ignite.internal.IgniteEx;
+import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
+import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
+
+import static org.apache.ignite.testframework.GridTestUtils.runAsync;
+
+/**
+ *
+ */
+public class GridCacheConcurrentGetCacheOnClientTest extends GridCommonAbstractTest{
+ /** Ip finder. */
+ private final static TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true);
+
+ /**
+ * @param gridName Grid name.
+ */
+ @Override protected IgniteConfiguration getConfiguration(final String gridName) throws Exception {
+ final IgniteConfiguration cfg = super.getConfiguration(gridName);
+
+ ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setIpFinder(ipFinder);
+
+ return cfg;
+ }
+
+ /**
+ *
+ */
+ public void test() throws Exception {
+ IgniteConfiguration node1cfg = getConfiguration("node1");
+ IgniteConfiguration node2cfg = getConfiguration("node2");
+
+ Ignite node1 = startGrid("node1", node1cfg);
+ Ignite node2 = startGrid("node2", node2cfg);
+
+ IgniteConfiguration clientCfg1 = getConfiguration("client");
+ clientCfg1.setClientMode(true);
+
+ IgniteConfiguration clientCfg2 = getConfiguration("client");
+ clientCfg2.setClientMode(true);
+
+ final IgniteEx client1 = (IgniteEx)startGrid("client1", clientCfg1);
+ final IgniteEx client2 = (IgniteEx)startGrid("client2", clientCfg2);
+
+ final CountDownLatch startLatch = new CountDownLatch(1);
+
+ final CountDownLatch stopLatch = new CountDownLatch(2);
+
+ final AtomicInteger countFails = new AtomicInteger();
+
+ final AtomicInteger exceptionFails = new AtomicInteger();
+
+ final String cacheName = "TEST_CACHE";
+
+ runAsync(new Runnable() {
+ @Override public void run() {
+ try {
+ startLatch.await();
+
+ IgniteCache<Object, Object> cache = client2.cache(cacheName);
+
+ if (cache == null)
+ countFails.incrementAndGet();
+
+ stopLatch.countDown();
+ }
+ catch (Exception e) {
+ exceptionFails.incrementAndGet();
+ }
+ }
+ });
+
+ runAsync(new Runnable() {
+ @Override public void run() {
+ try {
+ startLatch.await();
+
+ IgniteCache<Object, Object> cache = client2.cache(cacheName);
+
+ if (cache == null)
+ countFails.incrementAndGet();
+
+ stopLatch.countDown();
+ }
+ catch (Exception e) {
+ exceptionFails.incrementAndGet();
+ }
+ }
+ });
+
+ client1.getOrCreateCache(cacheName);
+
+ startLatch.countDown();
+
+ IgniteCache<Object, Object> cache = client2.cache(cacheName);
+
+ if (cache == null)
+ countFails.incrementAndGet();
+
+ stopLatch.await();
+
+ if (countFails.get() != 0 || exceptionFails.get() != 0)
+ fail("Cache return null in " + countFails.get() + " of 3 cases. Total exception: " + exceptionFails.get());
+ }
+}
[30/50] [abbrv] ignite git commit: Merge with master.
Posted by ag...@apache.org.
Merge with master.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/c1fd8aa5
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/c1fd8aa5
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/c1fd8aa5
Branch: refs/heads/ignite-3477
Commit: c1fd8aa561406aedebb549819691cf66e815dc4a
Parents: 871a069
Author: Ilya Lantukh <il...@gridgain.com>
Authored: Thu Dec 22 18:04:41 2016 +0300
Committer: Ilya Lantukh <il...@gridgain.com>
Committed: Thu Dec 22 18:04:41 2016 +0300
----------------------------------------------------------------------
.../cache/distributed/dht/GridDhtTxOnePhaseCommitAckRequest.java | 2 +-
.../distributed/dht/atomic/GridDhtAtomicSingleUpdateRequest.java | 2 +-
.../distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/c1fd8aa5/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxOnePhaseCommitAckRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxOnePhaseCommitAckRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxOnePhaseCommitAckRequest.java
index 4fe9f7a..0c8ae69 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxOnePhaseCommitAckRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxOnePhaseCommitAckRequest.java
@@ -124,7 +124,7 @@ public class GridDhtTxOnePhaseCommitAckRequest extends GridCacheMessage {
/** {@inheritDoc} */
@Override public byte directType() {
- return -28;
+ return -27;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/c1fd8aa5/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicSingleUpdateRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicSingleUpdateRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicSingleUpdateRequest.java
index 32d164e..0af7cf5 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicSingleUpdateRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicSingleUpdateRequest.java
@@ -648,7 +648,7 @@ public class GridDhtAtomicSingleUpdateRequest extends GridDhtAtomicAbstractUpdat
/** {@inheritDoc} */
@Override public byte directType() {
- return -37;
+ return -36;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/c1fd8aa5/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java
index 5d5eabb..18b6118 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java
@@ -347,7 +347,7 @@ public class GridNearAtomicSingleUpdateRequest extends GridNearAtomicAbstractSin
/** {@inheritDoc} */
@Override public byte directType() {
- return -36;
+ return 125;
}
/** {@inheritDoc} */
[20/50] [abbrv] ignite git commit: Merge with master - WIP.
Posted by ag...@apache.org.
Merge with master - WIP.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/100f9bb3
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/100f9bb3
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/100f9bb3
Branch: refs/heads/ignite-3477
Commit: 100f9bb39092c65e2ba8a4014e6356f04ccde658
Parents: 86cac7a
Author: Ilya Lantukh <il...@gridgain.com>
Authored: Thu Dec 22 15:29:17 2016 +0300
Committer: Ilya Lantukh <il...@gridgain.com>
Committed: Thu Dec 22 15:29:17 2016 +0300
----------------------------------------------------------------------
modules/osgi/pom.xml | 1 -
1 file changed, 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/100f9bb3/modules/osgi/pom.xml
----------------------------------------------------------------------
diff --git a/modules/osgi/pom.xml b/modules/osgi/pom.xml
index 0de4fbb..b7fd589 100644
--- a/modules/osgi/pom.xml
+++ b/modules/osgi/pom.xml
@@ -146,7 +146,6 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
- <forkCount>1</forkCount>
<systemProperties>
<property>
<name>karafVersion</name>
[49/50] [abbrv] ignite git commit: Merge remote-tracking branch
'origin/ignite-gg-8.0.2.ea2' into GG-11803
Posted by ag...@apache.org.
Merge remote-tracking branch 'origin/ignite-gg-8.0.2.ea2' into GG-11803
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/5c106da0
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/5c106da0
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/5c106da0
Branch: refs/heads/ignite-3477
Commit: 5c106da0526fd3afc057ee50efc532f8176d60fa
Parents: a38fd00 9b006b2
Author: EdShangGG <es...@gridgain.com>
Authored: Wed Dec 28 22:48:12 2016 +0300
Committer: EdShangGG <es...@gridgain.com>
Committed: Wed Dec 28 22:48:12 2016 +0300
----------------------------------------------------------------------
.../dht/atomic/GridDhtAtomicCache.java | 8 +-
.../cacheobject/IgniteCacheObjectProcessor.java | 2 +-
...GridCacheConcurrentGetCacheOnClientTest.java | 129 +++++++++++++++++++
.../ignite/testframework/GridTestUtils.java | 80 ++++++++++--
4 files changed, 205 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
[18/50] [abbrv] ignite git commit: Merge with master - WIP.
Posted by ag...@apache.org.
Merge with master - WIP.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/86cac7ae
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/86cac7ae
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/86cac7ae
Branch: refs/heads/ignite-3477
Commit: 86cac7ae2f151dd31a7fc2a53f04c952c2e13de8
Parents: d5e9a3b
Author: Ilya Lantukh <il...@gridgain.com>
Authored: Thu Dec 22 15:21:04 2016 +0300
Committer: Ilya Lantukh <il...@gridgain.com>
Committed: Thu Dec 22 15:21:04 2016 +0300
----------------------------------------------------------------------
.../streams/BinaryByteBufferInputStream.java | 10 ++
.../ignite/internal/util/IgniteUtils.java | 107 ++++++++----
.../util/nio/GridSelectorNioSessionImpl.java | 3 -
.../CacheSwapUnswapGetTestSmallQueueSize.java | 35 ----
.../cache/GridCacheOffHeapCleanupTest.java | 169 -------------------
.../cache/GridCacheSwapCleanupTest.java | 99 -----------
.../GridCacheTtlManagerEvictionSelfTest.java | 24 ++-
.../IgniteCacheConfigVariationsFullApiTest.java | 2 +-
.../cache/OffheapCacheOnClientsTest.java | 143 ----------------
.../IgniteCachePartitionLossPolicySelfTest.java | 2 +-
.../ignite/testsuites/IgniteCacheTestSuite.java | 2 -
.../testsuites/IgniteCacheTestSuite2.java | 2 -
.../testsuites/IgniteCacheTestSuite4.java | 1 -
.../testsuites/IgniteCacheTestSuite5.java | 3 -
14 files changed, 97 insertions(+), 505 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/86cac7ae/modules/core/src/main/java/org/apache/ignite/internal/binary/streams/BinaryByteBufferInputStream.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/binary/streams/BinaryByteBufferInputStream.java b/modules/core/src/main/java/org/apache/ignite/internal/binary/streams/BinaryByteBufferInputStream.java
index d4eba83..d277948 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/streams/BinaryByteBufferInputStream.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/streams/BinaryByteBufferInputStream.java
@@ -261,6 +261,16 @@ public class BinaryByteBufferInputStream implements BinaryInputStream {
}
/** {@inheritDoc} */
+ @Override public long rawOffheapPointer() {
+ return 0;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int capacity() {
+ return buf.capacity();
+ }
+
+ /** {@inheritDoc} */
@Override public byte[] array() {
return buf.array();
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/86cac7ae/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
index e21838b..4a8a33c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
@@ -571,7 +571,7 @@ public abstract class IgniteUtils {
mac = true;
else {
// UNIXs flavors tokens.
- for (CharSequence os : new String[]{"ix", "inux", "olaris", "un", "ux", "sco", "bsd", "att"})
+ for (CharSequence os : new String[] {"ix", "inux", "olaris", "un", "ux", "sco", "bsd", "att"})
if (osLow.contains(os)) {
unix = true;
@@ -683,7 +683,7 @@ public abstract class IgniteUtils {
}
// Event names initialization.
- Class<?>[] evtHolderClasses = new Class[]{EventType.class, DiscoveryCustomEvent.class};
+ Class<?>[] evtHolderClasses = new Class[] {EventType.class, DiscoveryCustomEvent.class};
for (Class<?> cls : evtHolderClasses) {
for (Field field : cls.getFields()) {
@@ -769,7 +769,8 @@ public abstract class IgniteUtils {
* @param clazz Class.
* @return The IgniteClosure mapped to this exception class, or null if none.
*/
- public static C1<IgniteCheckedException, IgniteException> getExceptionConverter(Class<? extends IgniteCheckedException> clazz) {
+ public static C1<IgniteCheckedException, IgniteException> getExceptionConverter(
+ Class<? extends IgniteCheckedException> clazz) {
return exceptionConverters.get(clazz);
}
@@ -779,7 +780,7 @@ public abstract class IgniteUtils {
* @return Exception converters.
*/
private static Map<Class<? extends IgniteCheckedException>, C1<IgniteCheckedException, IgniteException>>
- exceptionConverters() {
+ exceptionConverters() {
Map<Class<? extends IgniteCheckedException>, C1<IgniteCheckedException, IgniteException>> m = new HashMap<>();
m.put(IgniteInterruptedCheckedException.class, new C1<IgniteCheckedException, IgniteException>() {
@@ -1258,7 +1259,7 @@ public abstract class IgniteUtils {
warn(log, "No deadlocked threads detected.");
else
warn(log, "Deadlocked threads detected (see thread dump below) " +
- "[deadlockedThreadsCnt=" + deadlockedThreadsIds.size() + ']');
+ "[deadlockedThreadsCnt=" + deadlockedThreadsIds.size() + ']');
ThreadInfo[] threadInfos =
mxBean.dumpAllThreads(mxBean.isObjectMonitorUsageSupported(), mxBean.isSynchronizerUsageSupported());
@@ -1504,7 +1505,8 @@ public abstract class IgniteUtils {
}
catch (InstantiationException | InvocationTargetException | IllegalAccessException e) {
throw new IgniteCheckedException("Failed to create new instance for class: " + cls, e);
- } finally {
+ }
+ finally {
if (ctor != null && set)
ctor.setAccessible(false);
}
@@ -1538,7 +1540,8 @@ public abstract class IgniteUtils {
}
catch (InstantiationException | InvocationTargetException | IllegalAccessException e) {
throw new IgniteCheckedException("Failed to create new instance for class: " + cls, e);
- } finally {
+ }
+ finally {
if (set)
ctor.setAccessible(false);
}
@@ -1890,11 +1893,13 @@ public abstract class IgniteUtils {
for (Future<?> fut : futs) {
try {
fut.get();
- } catch (InterruptedException e) {
+ }
+ catch (InterruptedException e) {
Thread.currentThread().interrupt();
throw new IgniteException("Thread has been interrupted.", e);
- } catch (ExecutionException e) {
+ }
+ catch (ExecutionException e) {
throw new IgniteException(e);
}
}
@@ -2239,7 +2244,8 @@ public abstract class IgniteUtils {
}
catch (NoSuchAlgorithmException | KeyManagementException e) {
throw new IOException("Failed to open HTTPs connection [url=" + url.toString() + ", msg=" + e + ']', e);
- } finally {
+ }
+ finally {
close(in, null);
close(out, null);
}
@@ -2253,7 +2259,7 @@ public abstract class IgniteUtils {
* @return Array with one X509TrustManager implementation of trust manager.
*/
private static TrustManager[] getTrustManagers() {
- return new TrustManager[]{
+ return new TrustManager[] {
new X509TrustManager() {
@Nullable @Override public X509Certificate[] getAcceptedIssuers() {
return null;
@@ -3308,7 +3314,7 @@ public abstract class IgniteUtils {
int cnt = 0;
- for (int n; (n = in.read(buf)) > 0;) {
+ for (int n; (n = in.read(buf)) > 0; ) {
out.write(buf, 0, n);
cnt += n;
@@ -3333,7 +3339,7 @@ public abstract class IgniteUtils {
int cnt = 0;
- for (int n; (n = in.read(buf)) > 0;) {
+ for (int n; (n = in.read(buf)) > 0; ) {
out.write(buf, 0, n);
cnt += n;
@@ -4440,7 +4446,7 @@ public abstract class IgniteUtils {
* @param sb Sb.
*/
private static void appendJvmId(SB sb) {
- if (getBoolean(IGNITE_MBEAN_APPEND_JVM_ID)){
+ if (getBoolean(IGNITE_MBEAN_APPEND_JVM_ID)) {
String jvmId = ManagementFactory.getRuntimeMXBean().getName();
sb.a("jvmId=").a(jvmId).a(',');
@@ -5147,7 +5153,8 @@ public abstract class IgniteUtils {
* @throws ClassNotFoundException If deserialized class could not be found.
*/
@SuppressWarnings({"unchecked"})
- @Nullable public static <K, V> TreeMap<K, V> readTreeMap(ObjectInput in) throws IOException, ClassNotFoundException {
+ @Nullable public static <K, V> TreeMap<K, V> readTreeMap(
+ ObjectInput in) throws IOException, ClassNotFoundException {
int size = in.readInt();
if (size == -1)
@@ -5422,7 +5429,7 @@ public abstract class IgniteUtils {
Set<E> set = new HashSet(size, 1.0f);
for (int i = 0; i < size; i++)
- set.add((E) in.readObject());
+ set.add((E)in.readObject());
return set;
}
@@ -5827,7 +5834,7 @@ public abstract class IgniteUtils {
// We need to find common classloader for all elements AND the collection itself
Collection<Object> tmpC = new ArrayList<>();
- for (Object e: c)
+ for (Object e : c)
tmpC.add(e);
tmpC.add(c);
@@ -6566,7 +6573,7 @@ public abstract class IgniteUtils {
String p2 = part2[idx];
int cmp = (p1.matches("\\d+") && p2.matches("\\d+"))
- ? Integer.valueOf(p1).compareTo(Integer.valueOf(p2)) : p1.compareTo(p2);
+ ? Integer.valueOf(p1).compareTo(Integer.valueOf(p2)) : p1.compareTo(p2);
if (cmp != 0)
return cmp;
@@ -7774,7 +7781,7 @@ public abstract class IgniteUtils {
}
catch (IllegalStateException ignored) {
error(log, "Failed to add cause to the end of cause chain (cause is printed here but will " +
- "not be propagated to callee): " + e,
+ "not be propagated to callee): " + e,
"Failed to add cause to the end of cause chain: " + e, cause);
}
@@ -7838,11 +7845,11 @@ public abstract class IgniteUtils {
* @return Segment index.
*/
public static int concurrentMapSegment(int hash, int concurLvl) {
- hash += (hash << 15) ^ 0xffffcd7d;
+ hash += (hash << 15) ^ 0xffffcd7d;
hash ^= (hash >>> 10);
- hash += (hash << 3);
- hash ^= (hash >>> 6);
- hash += (hash << 2) + (hash << 14);
+ hash += (hash << 3);
+ hash ^= (hash >>> 6);
+ hash += (hash << 2) + (hash << 14);
int shift = 0;
int size = 1;
@@ -8406,7 +8413,7 @@ public abstract class IgniteUtils {
sb.append(" [");
for (int i = 0; i < args.length / 2; i++) {
- sb.append(args[ i * 2]).append('=').append(args[i * 2 + 1]);
+ sb.append(args[i * 2]).append('=').append(args[i * 2 + 1]);
sb.append(", ");
}
@@ -8533,11 +8540,11 @@ public abstract class IgniteUtils {
public static int hash(int h) {
// Spread bits to regularize both segment and index locations,
// using variant of single-word Wang/Jenkins hash.
- h += (h << 15) ^ 0xffffcd7d;
+ h += (h << 15) ^ 0xffffcd7d;
h ^= (h >>> 10);
- h += (h << 3);
- h ^= (h >>> 6);
- h += (h << 2) + (h << 14);
+ h += (h << 3);
+ h ^= (h >>> 6);
+ h += (h << 2) + (h << 14);
return h ^ (h >>> 16);
}
@@ -8943,7 +8950,7 @@ public abstract class IgniteUtils {
Collection<InetSocketAddress> resolved = new HashSet<>();
- for (InetSocketAddress address :sockAddr)
+ for (InetSocketAddress address : sockAddr)
resolved.addAll(resolveAddress(addrRslvr, address));
return resolved;
@@ -9141,6 +9148,41 @@ public abstract class IgniteUtils {
*/
public static File resolveWorkDirectory(String workDir, String path, boolean delIfExist)
throws IgniteCheckedException {
+ File dir = new File(path);
+
+ if (!dir.isAbsolute()) {
+ if (F.isEmpty(workDir))
+ throw new IgniteCheckedException("Failed to resolve path (work directory has not been set): " + path);
+
+ dir = new File(workDir, dir.getPath());
+ }
+
+ if (delIfExist && dir.exists()) {
+ if (!U.delete(dir))
+ throw new IgniteCheckedException("Failed to delete directory: " + dir);
+ }
+
+ if (!mkdirs(dir))
+ throw new IgniteCheckedException("Directory does not exist and cannot be created: " + dir);
+
+ if (!dir.canRead())
+ throw new IgniteCheckedException("Cannot read from directory: " + dir);
+
+ if (!dir.canWrite())
+ throw new IgniteCheckedException("Cannot write to directory: " + dir);
+
+ return dir;
+ }
+
+ /**
+ * Resolves work directory.
+ *
+ * @param path Path to resolve.
+ * @param delIfExist Flag indicating whether to delete the specify directory or not.
+ * @return Resolved work directory.
+ * @throws IgniteCheckedException If failed.
+ */
+ public static File resolveWorkDirectory(String path, boolean delIfExist) throws IgniteCheckedException {
if (path == null) {
String ggWork0 = igniteWork;
@@ -9208,7 +9250,8 @@ public abstract class IgniteUtils {
* @param suppressed The collections of suppressed exceptions.
* @return {@code IgniteCheckedException}.
*/
- public static IgniteCheckedException exceptionWithSuppressed(String msg, @Nullable Collection<Throwable> suppressed) {
+ public static IgniteCheckedException exceptionWithSuppressed(String msg,
+ @Nullable Collection<Throwable> suppressed) {
IgniteCheckedException e = new IgniteCheckedException(msg);
if (suppressed != null) {
@@ -9916,7 +9959,6 @@ public abstract class IgniteUtils {
return t0.compareTo(t1) > 0 ? t0 : t1;
}
-
/**
* Unmarshals object from the input stream using given class loader.
* This method should not close given input stream.
@@ -9952,7 +9994,8 @@ public abstract class IgniteUtils {
* @return Unmarshalled object.
* @throws IgniteCheckedException
*/
- public static <T> T unmarshalZip(Marshaller marsh, byte[] zipBytes, @Nullable ClassLoader clsLdr) throws IgniteCheckedException {
+ public static <T> T unmarshalZip(Marshaller marsh, byte[] zipBytes,
+ @Nullable ClassLoader clsLdr) throws IgniteCheckedException {
assert marsh != null;
assert zipBytes != null;
http://git-wip-us.apache.org/repos/asf/ignite/blob/86cac7ae/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java
index c257a8c..66f9176 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java
@@ -48,9 +48,6 @@ class GridSelectorNioSessionImpl extends GridNioSessionImpl {
/** Current worker thread. */
private volatile GridNioWorker worker;
- /** Worker index for server */
- private final int selectorIdx;
-
/** Semaphore. */
@GridToStringExclude
private final Semaphore sem;
http://git-wip-us.apache.org/repos/asf/ignite/blob/86cac7ae/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheSwapUnswapGetTestSmallQueueSize.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheSwapUnswapGetTestSmallQueueSize.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheSwapUnswapGetTestSmallQueueSize.java
deleted file mode 100644
index 8d189fe..0000000
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheSwapUnswapGetTestSmallQueueSize.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.processors.cache;
-
-import org.apache.ignite.configuration.IgniteConfiguration;
-import org.apache.ignite.spi.swapspace.file.FileSwapSpaceSpi;
-
-/**
- *
- */
-public class CacheSwapUnswapGetTestSmallQueueSize extends CacheSwapUnswapGetTest {
- /** {@inheritDoc} */
- @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
- IgniteConfiguration cfg = super.getConfiguration(gridName);
-
- ((FileSwapSpaceSpi)cfg.getSwapSpaceSpi()).setMaxWriteQueueSize(2);
-
- return cfg;
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/86cac7ae/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOffHeapCleanupTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOffHeapCleanupTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOffHeapCleanupTest.java
deleted file mode 100644
index ae94073..0000000
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOffHeapCleanupTest.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.ignite.internal.processors.cache;
-
-import org.apache.ignite.Ignite;
-import org.apache.ignite.IgniteCache;
-import org.apache.ignite.cache.CacheMemoryMode;
-import org.apache.ignite.cache.eviction.EvictionPolicy;
-import org.apache.ignite.cache.eviction.fifo.FifoEvictionPolicy;
-import org.apache.ignite.configuration.CacheConfiguration;
-import org.apache.ignite.configuration.IgniteConfiguration;
-import org.apache.ignite.internal.util.offheap.unsafe.GridUnsafeMemory;
-import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
-import org.apache.ignite.testframework.GridTestUtils;
-import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-
-import static org.apache.ignite.cache.CacheMemoryMode.OFFHEAP_TIERED;
-import static org.apache.ignite.cache.CacheMemoryMode.OFFHEAP_VALUES;
-import static org.apache.ignite.cache.CacheMemoryMode.ONHEAP_TIERED;
-
-/**
- * Check offheap allocations are freed after cache destroy.
- */
-public class GridCacheOffHeapCleanupTest extends GridCommonAbstractTest {
- /** IP finder. */
- private static final TcpDiscoveryIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true);
-
- /** */
- private static final String CACHE_NAME = "testCache";
-
- /** Memory mode. */
- private CacheMemoryMode memoryMode;
-
- /** Eviction policy. */
- private EvictionPolicy evictionPlc;
-
- /** {@inheritDoc} */
- @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
- IgniteConfiguration cfg = super.getConfiguration(gridName);
-
- ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setIpFinder(ipFinder);
-
- return cfg;
- }
-
- /**
- * Checks offheap resources are freed after cache destroy - ONHEAP_TIERED memory mode
- *
- * @throws Exception If failed.
- */
- public void testCleanupOffheapAfterCacheDestroyOnheapTiered() throws Exception {
- memoryMode = ONHEAP_TIERED;
-
- FifoEvictionPolicy evictionPlc0 = new FifoEvictionPolicy();
- evictionPlc0.setMaxSize(1);
-
- evictionPlc = evictionPlc0;
-
- checkCleanupOffheapAfterCacheDestroy();
- }
-
- /**
- * Checks offheap resources are freed after cache destroy - OFFHEAP_TIERED memory mode
- *
- * @throws Exception If failed.
- */
- public void testCleanupOffheapAfterCacheDestroyOffheapTiered() throws Exception {
- memoryMode = OFFHEAP_TIERED;
- evictionPlc = null;
-
- checkCleanupOffheapAfterCacheDestroy();
- }
-
- /**
- * TODO: IGNITE-2714.
- *
- * Checks offheap resources are freed after cache destroy - OFFHEAP_VALUES memory mode
- *
- * @throws Exception If failed.
- */
- public void _testCleanupOffheapAfterCacheDestroyOffheapValues() throws Exception {
- memoryMode = OFFHEAP_VALUES;
- evictionPlc = null;
-
- try (Ignite g = startGrid(0)) {
- IgniteCache<Integer, String> cache = g.getOrCreateCache(createCacheConfiguration());
-
- cache.put(1, "value_1");
- cache.put(2, "value_2");
-
- GridCacheContext ctx = GridTestUtils.cacheContext(cache);
- GridUnsafeMemory unsafeMemory = ctx.unsafeMemory();
-
- g.destroyCache(null);
-
- if (unsafeMemory != null)
- assertEquals("Unsafe memory not freed", 0, unsafeMemory.allocatedSize());
- }
- }
-
- /**
- * Creates cache configuration.
- *
- * @return cache configuration.
- * */
- private CacheConfiguration<Integer, String> createCacheConfiguration() {
- CacheConfiguration<Integer, String> ccfg = new CacheConfiguration<>();
-
- ccfg.setName(CACHE_NAME);
- ccfg.setOffHeapMaxMemory(0);
- ccfg.setMemoryMode(memoryMode);
- ccfg.setEvictionPolicy(evictionPlc);
-
- return ccfg;
- }
-
- /**
- * Check offheap resources are freed after cache destroy.
- *
- * @throws Exception If failed.
- */
- private void checkCleanupOffheapAfterCacheDestroy() throws Exception {
- final String spaceName = "gg-swap-cache-" + CACHE_NAME;
-
- try (Ignite g = startGrid(0)) {
- checkOffheapAllocated(spaceName, false);
-
- IgniteCache<Integer, String> cache = g.getOrCreateCache(createCacheConfiguration());
-
- cache.put(1, "value_1");
- cache.put(2, "value_2");
-
- checkOffheapAllocated(spaceName, true);
-
- g.destroyCache(cache.getName());
-
- checkOffheapAllocated(spaceName, false);
- }
- }
-
- /**
- * Check is offheap allocated for given space name using internal API.
- *
- * @param spaceName Space name.
- * @param allocated true, if we expected that offheap is allocated; false, otherwise.
- * @throws Exception If failed.
- * */
- private void checkOffheapAllocated(String spaceName, boolean allocated) throws Exception {
- long offheapSize = grid(0).context().offheap().allocatedSize(spaceName);
-
- assertEquals("Unexpected offheap allocated size", allocated, (offheapSize >= 0));
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/86cac7ae/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheSwapCleanupTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheSwapCleanupTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheSwapCleanupTest.java
deleted file mode 100644
index 5835ef0..0000000
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheSwapCleanupTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.processors.cache;
-
-import org.apache.ignite.Ignite;
-import org.apache.ignite.IgniteCache;
-import org.apache.ignite.cache.eviction.lru.LruEvictionPolicy;
-import org.apache.ignite.configuration.CacheConfiguration;
-import org.apache.ignite.configuration.IgniteConfiguration;
-import org.apache.ignite.internal.IgniteEx;
-import org.apache.ignite.internal.managers.swapspace.GridSwapSpaceManager;
-import org.apache.ignite.internal.util.typedef.internal.CU;
-import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
-import org.apache.ignite.spi.swapspace.file.FileSwapSpaceSpi;
-import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-
-/**
- * Check swap is cleaned after cache destroy.
- */
-public class GridCacheSwapCleanupTest extends GridCommonAbstractTest {
- /** IP finder. */
- private static final TcpDiscoveryIpFinder IP_FINDER = new TcpDiscoveryVmIpFinder(true);
-
- /** Cache name. */
- private static final String CACHE_NAME = "swapCleanupCache";
-
- /** {@inheritDoc} */
- @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
- IgniteConfiguration cfg = super.getConfiguration(gridName);
-
- ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setIpFinder(IP_FINDER);
-
- cfg.setSwapSpaceSpi(new FileSwapSpaceSpi());
-
- return cfg;
- }
-
- /**
- * Creates cache configuration.
- *
- * @return Cache configuration.
- * */
- private CacheConfiguration createCacheConfiguration() {
- CacheConfiguration ccfg = new CacheConfiguration();
-
- ccfg.setName(CACHE_NAME);
- ccfg.setEvictionPolicy(new LruEvictionPolicy(10));
- ccfg.setSwapEnabled(true);
-
- return ccfg;
- }
-
- /**
- * Checks swap is cleaned after cache destroy.
- *
- * @throws Exception If failed.
- * */
- public void testSwapCleanupAfterCacheDestroy() throws Exception {
- try (Ignite g = startGrid()) {
- for (int iter = 0; iter < 3; iter++) {
- IgniteCache cache = g.getOrCreateCache(createCacheConfiguration());
-
- for (int i = 0; i < 20; i++) {
- assertNull(cache.get(i));
-
- cache.put(i, i);
- }
-
- String spaceName = CU.swapSpaceName(internalCache(cache).context());
-
- GridSwapSpaceManager swapSpaceMgr = ((IgniteEx)g).context().swap();
-
- assertEquals(10, swapSpaceMgr.swapKeys(spaceName));
-
- g.destroyCache(cache.getName());
-
- assertEquals(0, swapSpaceMgr.swapKeys(spaceName));
- assertEquals(0, swapSpaceMgr.swapSize(spaceName));
- }
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/86cac7ae/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManagerEvictionSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManagerEvictionSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManagerEvictionSelfTest.java
index 4c7c1c0..0d96e17 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManagerEvictionSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManagerEvictionSelfTest.java
@@ -18,6 +18,7 @@
package org.apache.ignite.internal.processors.cache;
import org.apache.ignite.IgniteCache;
+import org.apache.ignite.IgniteException;
import org.apache.ignite.Ignition;
import org.apache.ignite.cache.CacheMemoryMode;
import org.apache.ignite.cache.CacheMode;
@@ -70,7 +71,6 @@ public class GridCacheTtlManagerEvictionSelfTest extends GridCommonAbstractTest
ccfg.setCacheMode(cacheMode);
ccfg.setMemoryMode(cacheMemoryMode);
ccfg.setEagerTtl(true);
- ccfg.setSwapEnabled(false);
ccfg.setEvictionPolicy(new FifoEvictionPolicy(ENTRIES_LIMIT, 100));
ccfg.setExpiryPolicyFactory(CreatedExpiryPolicy.factoryOf(new Duration(TimeUnit.HOURS, 12)));
@@ -128,9 +128,12 @@ public class GridCacheTtlManagerEvictionSelfTest extends GridCommonAbstractTest
GridTestUtils.waitForCondition(new GridAbsPredicate() {
@Override public boolean apply() {
- return (cctx.isSwapOrOffheapEnabled()) ?
- ENTRIES_TO_PUT == cctx.ttl().pendingSize() :
- ENTRIES_LIMIT == cctx.ttl().pendingSize();
+ try {
+ return ENTRIES_LIMIT == cctx.ttl().pendingSize();
+ }
+ catch (Exception e) {
+ throw new IgniteException(e);
+ }
}
}, 3_000);
@@ -140,18 +143,11 @@ public class GridCacheTtlManagerEvictionSelfTest extends GridCommonAbstractTest
final String firstKey = "Some test entry key#0";
final String lastKey = "Some test entry key#" + ENTRIES_TO_PUT;
- if (cctx.isSwapOrOffheapEnabled()) {
- assertTrue("last key should NOT be evicted", cache.containsKey(lastKey));
+ assertFalse("first key should be evicted", cache.containsKey(firstKey));
- assertEquals(ENTRIES_TO_PUT, cctx.ttl().pendingSize());
- }
- else {
- assertFalse("first key should be evicted", cache.containsKey(firstKey));
-
- assertTrue("last key should NOT be evicted", cache.containsKey(lastKey));
+ assertTrue("last key should NOT be evicted", cache.containsKey(lastKey));
- assertEquals("Ttl Manager should NOT track evicted entries", ENTRIES_LIMIT, cctx.ttl().pendingSize());
- }
+ assertEquals("Ttl Manager should NOT track evicted entries", ENTRIES_LIMIT, cctx.ttl().pendingSize());
}
finally {
Ignition.stopAll(true);
http://git-wip-us.apache.org/repos/asf/ignite/blob/86cac7ae/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheConfigVariationsFullApiTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheConfigVariationsFullApiTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheConfigVariationsFullApiTest.java
index 3a07532..1582dbc 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheConfigVariationsFullApiTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheConfigVariationsFullApiTest.java
@@ -3339,7 +3339,7 @@ public class IgniteCacheConfigVariationsFullApiTest extends IgniteCacheConfigVar
boolean wait = waitForCondition(new GridAbsPredicate() {
@Override public boolean apply() {
for (int i = 0; i < gridCount(); i++) {
- if (peek(jcache(i), key) != null)
+ if (jcache(i).localPeek(key) != null)
return false;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/86cac7ae/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/OffheapCacheOnClientsTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/OffheapCacheOnClientsTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/OffheapCacheOnClientsTest.java
deleted file mode 100644
index 90985b6..0000000
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/OffheapCacheOnClientsTest.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.processors.cache;
-
-import java.util.concurrent.ConcurrentMap;
-import org.apache.ignite.Ignite;
-import org.apache.ignite.IgniteCache;
-import org.apache.ignite.cache.CacheMemoryMode;
-import org.apache.ignite.configuration.CacheConfiguration;
-import org.apache.ignite.configuration.IgniteConfiguration;
-import org.apache.ignite.internal.IgniteKernal;
-import org.apache.ignite.internal.processors.offheap.GridOffHeapProcessor;
-import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
-import org.apache.ignite.testframework.GridTestUtils;
-import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-
-import static org.apache.ignite.cache.CacheMemoryMode.*;
-import static org.apache.ignite.cache.CacheMode.*;
-
-/**
- *
- */
-public class OffheapCacheOnClientsTest extends GridCommonAbstractTest {
- /** */
- private static TcpDiscoveryIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true);
-
- /** */
- private static final String CACHE_NAME = "CACHE_NAME";
-
- /** */
- private boolean client;
-
- /** */
- private boolean forceSrvMode;
-
- /** {@inheritDoc} */
- @Override protected void beforeTestsStarted() throws Exception {
- super.beforeTestsStarted();
-
- startGrid(0);
-
- client = true;
-
- startGrid(1);
-
- forceSrvMode = true;
-
- startGrid(2);
- }
-
- /** {@inheritDoc} */
- @Override protected void afterTestsStopped() throws Exception {
- stopAllGrids();
- }
-
- /** {@inheritDoc} */
- @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
- IgniteConfiguration cfg = super.getConfiguration(gridName);
-
- ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setIpFinder(ipFinder);
-
- if (client) {
- cfg.setClientMode(true);
-
- ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setForceServerMode(forceSrvMode);
- }
-
- return cfg;
- }
- /**
- * @throws Exception If failed.
- */
- public void testOffheapCacheOnClient() throws Exception {
- try {
- Ignite client = grid(1);
-
- testStartCacheOnClient(client, OFFHEAP_TIERED);
- testStartCacheOnClient(client, OFFHEAP_VALUES);
- testStartCacheOnClient(client, ONHEAP_TIERED);
-
- client = grid(2);
-
- testStartCacheOnClient(client, OFFHEAP_TIERED);
- testStartCacheOnClient(client, OFFHEAP_VALUES);
- testStartCacheOnClient(client, ONHEAP_TIERED);
- }
- finally {
- grid(0).destroyCache(CACHE_NAME);
- }
- }
-
- /**
- * @param client Node.
- * @param memMode Memory mode.
- * @throws Exception If failed.
- */
- private void testStartCacheOnClient(Ignite client, CacheMemoryMode memMode) throws Exception {
- assertTrue(client.configuration().isClientMode());
-
- try {
- client.createCache(new CacheConfiguration(CACHE_NAME)
- .setCacheMode(REPLICATED)
- .setOffHeapMaxMemory(1024 * 1024)
- .setMemoryMode(memMode));
-
- IgniteCache<Integer, Integer> cache = client.cache(CACHE_NAME);
-
- assertNotNull(cache);
-
- cache.put(1, 1);
- assertEquals((Integer)1, cache.get(1));
-
- GridOffHeapProcessor offheap = ((IgniteKernal)client).cachex(CACHE_NAME).context().offheap();
-
- assertNotNull(offheap);
-
- ConcurrentMap offheapMaps = GridTestUtils.getFieldValue(offheap, "offheap");
- assertNotNull(offheapMaps);
-
- assertEquals(0,offheapMaps.size());
- }
- finally {
- client.destroyCache(CACHE_NAME);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/86cac7ae/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCachePartitionLossPolicySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCachePartitionLossPolicySelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCachePartitionLossPolicySelfTest.java
index a726932..5951ba3 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCachePartitionLossPolicySelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCachePartitionLossPolicySelfTest.java
@@ -202,7 +202,7 @@ public class IgniteCachePartitionLossPolicySelfTest extends GridCommonAbstractTe
ignite(0).cache(CACHE_NAME).resetLostPartitions();
- awaitPartitionMapExchange(true, true);
+ awaitPartitionMapExchange(true, true, null);
for (Ignite ig : G.allGrids()) {
IgniteCache<Integer, Integer> cache = ig.cache(CACHE_NAME);
http://git-wip-us.apache.org/repos/asf/ignite/blob/86cac7ae/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 56c10ae..bb72459 100755
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
@@ -84,7 +84,6 @@ import org.apache.ignite.internal.processors.cache.GridCacheReplicatedTxStoreExc
import org.apache.ignite.internal.processors.cache.GridCacheStopSelfTest;
import org.apache.ignite.internal.processors.cache.GridCacheStorePutxSelfTest;
import org.apache.ignite.internal.processors.cache.GridCacheStoreValueBytesSelfTest;
-import org.apache.ignite.internal.processors.cache.GridCacheSwapCleanupTest;
import org.apache.ignite.internal.processors.cache.GridCacheSwapPreloadSelfTest;
import org.apache.ignite.internal.processors.cache.GridCacheTtlManagerEvictionSelfTest;
import org.apache.ignite.internal.processors.cache.GridCacheTtlManagerSelfTest;
@@ -236,7 +235,6 @@ public class IgniteCacheTestSuite extends TestSuite {
// Swap tests.
suite.addTestSuite(GridCacheSwapPreloadSelfTest.class);
- suite.addTestSuite(GridCacheSwapCleanupTest.class);
// Common tests.
suite.addTestSuite(CacheNamesSelfTest.class);
http://git-wip-us.apache.org/repos/asf/ignite/blob/86cac7ae/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java
index 16017ea..6e63225 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java
@@ -39,7 +39,6 @@ import org.apache.ignite.internal.processors.cache.IgniteCacheEntryProcessorNode
import org.apache.ignite.internal.processors.cache.IgniteCacheIncrementTxTest;
import org.apache.ignite.internal.processors.cache.IgniteCachePartitionMapUpdateTest;
import org.apache.ignite.internal.processors.cache.IgniteDynamicCacheAndNodeStop;
-import org.apache.ignite.internal.processors.cache.OffheapCacheOnClientsTest;
import org.apache.ignite.internal.processors.cache.distributed.CacheLoadingConcurrentGridStartSelfTest;
import org.apache.ignite.internal.processors.cache.distributed.CacheLoadingConcurrentGridStartSelfTestAllowOverwrite;
import org.apache.ignite.internal.processors.cache.distributed.CacheLockReleaseNodeLeaveTest;
@@ -269,7 +268,6 @@ public class IgniteCacheTestSuite2 extends TestSuite {
suite.addTest(new TestSuite(IgniteNoCustomEventsOnNodeStart.class));
suite.addTest(new TestSuite(CacheExchangeMessageDuplicatedStateTest.class));
- suite.addTest(new TestSuite(OffheapCacheOnClientsTest.class));
return suite;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/86cac7ae/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
index fd32147..541edd2 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
@@ -42,7 +42,6 @@ import org.apache.ignite.internal.processors.cache.CacheStoreUsageMultinodeDynam
import org.apache.ignite.internal.processors.cache.CacheStoreUsageMultinodeStaticStartAtomicTest;
import org.apache.ignite.internal.processors.cache.CacheStoreUsageMultinodeStaticStartTxTest;
import org.apache.ignite.internal.processors.cache.CacheSwapUnswapGetTest;
-import org.apache.ignite.internal.processors.cache.CacheSwapUnswapGetTestSmallQueueSize;
import org.apache.ignite.internal.processors.cache.CacheTxNotAllowReadFromBackupTest;
import org.apache.ignite.internal.processors.cache.CrossCacheLockTest;
import org.apache.ignite.internal.processors.cache.GridCacheMarshallingNodeJoinSelfTest;
http://git-wip-us.apache.org/repos/asf/ignite/blob/86cac7ae/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite5.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite5.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite5.java
index 29a7771..e579aa6 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite5.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite5.java
@@ -24,7 +24,6 @@ import org.apache.ignite.internal.processors.cache.CacheSerializableTransactions
import org.apache.ignite.internal.processors.cache.ClusterStatePartitionedSelfTest;
import org.apache.ignite.internal.processors.cache.ClusterStateReplicatedSelfTest;
import org.apache.ignite.internal.processors.cache.EntryVersionConsistencyReadThroughTest;
-import org.apache.ignite.internal.processors.cache.GridCacheOffHeapCleanupTest;
import org.apache.ignite.internal.processors.cache.IgniteCachePutStackOverflowSelfTest;
import org.apache.ignite.internal.processors.cache.IgniteCacheReadThroughEvictionsVariationsSuite;
import org.apache.ignite.internal.processors.cache.IgniteCacheStoreCollectionTest;
@@ -65,8 +64,6 @@ public class IgniteCacheTestSuite5 extends TestSuite {
suite.addTest(IgniteCacheReadThroughEvictionsVariationsSuite.suite());
suite.addTestSuite(IgniteCacheTxIteratorSelfTest.class);
- suite.addTestSuite(GridCacheOffHeapCleanupTest.class);
-
suite.addTestSuite(CacheRebalancingSelfTest.class);
suite.addTestSuite(ClusterStatePartitionedSelfTest.class);
[36/50] [abbrv] ignite git commit: GG-11808 Implement deletion of
snapshots on platform level
Posted by ag...@apache.org.
GG-11808 Implement deletion of snapshots on platform level
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/8ba772f6
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/8ba772f6
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/8ba772f6
Branch: refs/heads/ignite-3477
Commit: 8ba772f6bef6c85bf733d40266ed8d3fc5bef9d3
Parents: 53b52da
Author: EdShangGG <es...@gridgain.com>
Authored: Fri Dec 23 18:07:11 2016 +0300
Committer: EdShangGG <es...@gridgain.com>
Committed: Fri Dec 23 18:07:11 2016 +0300
----------------------------------------------------------------------
.../pagemem/snapshot/StartFullSnapshotDiscoveryMessage.java | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8ba772f6/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartFullSnapshotDiscoveryMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartFullSnapshotDiscoveryMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartFullSnapshotDiscoveryMessage.java
index 08e093d..b58c247 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartFullSnapshotDiscoveryMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/StartFullSnapshotDiscoveryMessage.java
@@ -127,7 +127,6 @@ public class StartFullSnapshotDiscoveryMessage implements DiscoveryCustomMessage
/** {@inheritDoc} */
@Nullable @Override public DiscoveryCustomMessage ackMessage() {
- System.out.println("StartFullSnapshotAckDiscoveryMessage - " + fullSnapshot);
return new StartFullSnapshotAckDiscoveryMessage(globalSnapshotId, fullSnapshot, lastFullSnapshotIdForCache, cacheNames, err, initiatorId);
}
@@ -136,7 +135,10 @@ public class StartFullSnapshotDiscoveryMessage implements DiscoveryCustomMessage
return true;
}
- public void fullSnapshot(boolean b) {
- fullSnapshot = b;
+ /**
+ * @param full full snapshot.
+ */
+ public void fullSnapshot(boolean full) {
+ fullSnapshot = full;
}
}
[24/50] [abbrv] ignite git commit: ignite-gg-11650 Stabilize
8.0.2.ea1 branch after merging activation/deactivation fix join inactive node
to active cluster (small refactoring)
Posted by ag...@apache.org.
ignite-gg-11650 Stabilize 8.0.2.ea1 branch after merging activation/deactivation fix join inactive node to active cluster (small refactoring)
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/842c1b7b
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/842c1b7b
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/842c1b7b
Branch: refs/heads/ignite-3477
Commit: 842c1b7b8f2063b99cdd4b7740510c2e0b2e2553
Parents: 691c3b7
Author: Dmitriy Govorukhin <dg...@gridgain.com>
Authored: Thu Dec 22 16:33:04 2016 +0300
Committer: Dmitriy Govorukhin <dg...@gridgain.com>
Committed: Thu Dec 22 16:33:04 2016 +0300
----------------------------------------------------------------------
.../processors/cache/GridCacheProcessor.java | 26 +++++++++-----------
1 file changed, 12 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/842c1b7b/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 f7a816e..03859d3 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
@@ -755,33 +755,31 @@ public class GridCacheProcessor extends GridProcessorAdapter {
//if we start as inactive node, and join to active cluster, we must registrate all caches which
//was receive on join
if (!ctx.isDaemon() && currentStatus && !activeOnStart) {
- CacheConfiguration[] cacheCfgs = ctx.config().getCacheConfiguration();
-
- CacheConfiguration[] newCacheCfg = new CacheConfiguration[cacheCfgs.length];
-
- boolean apply = false;
-
- for (int i = 0; i < cacheCfgs.length; i++) {
- CacheConfiguration conf = cacheCfgs[i];
+ List<CacheConfiguration> tmpCacheCfg = new ArrayList<>();
+ for (CacheConfiguration conf : ctx.config().getCacheConfiguration()) {
for (DynamicCacheDescriptor desc : registeredCaches.values()) {
CacheConfiguration c = desc.cacheConfiguration();
- IgnitePredicate filter = conf.getNodeFilter();
+ IgnitePredicate filter = c.getNodeFilter();
if (c.getName().equals(conf.getName()) &&
- (desc.receivedOnDiscovery() || CU.isSystemCache(c.getName()))) {
-
- newCacheCfg[i] = c;
+ ((desc.receivedOnDiscovery() && CU.affinityNode(locNode, filter)) ||
+ CU.isSystemCache(c.getName()))) {
- apply = true;
+ tmpCacheCfg.add(c);
break;
}
}
}
- if (apply)
+ if (!tmpCacheCfg.isEmpty()) {
+ CacheConfiguration[] newCacheCfg = new CacheConfiguration[tmpCacheCfg.size()];
+
+ tmpCacheCfg.toArray(newCacheCfg);
+
ctx.config().setCacheConfiguration(newCacheCfg);
+ }
activeOnStart = ctx.state().active();
}
[32/50] [abbrv] ignite git commit: GG-11808 Implement deletion of
snapshots on platform level
Posted by ag...@apache.org.
GG-11808 Implement deletion of snapshots on platform level
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/53b52da7
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/53b52da7
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/53b52da7
Branch: refs/heads/ignite-3477
Commit: 53b52da79ba22ed5d0ae1e09202131611ae65910
Parents: 561101f
Author: EdShangGG <es...@gridgain.com>
Authored: Thu Dec 22 22:14:22 2016 +0300
Committer: EdShangGG <es...@gridgain.com>
Committed: Thu Dec 22 22:14:22 2016 +0300
----------------------------------------------------------------------
.../internal/processors/cache/database/tree/io/PageMetaIO.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/53b52da7/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/PageMetaIO.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/PageMetaIO.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/PageMetaIO.java
index 2c5f7a6..8d12f7c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/PageMetaIO.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/PageMetaIO.java
@@ -136,7 +136,7 @@ public class PageMetaIO extends PageIO {
* @param buf Buffer.
* @param lastSuccessfulFullSnapshotId Last successful full snapshot id.
*/
- public void setLastSuccessfulFullSnapshotId(@NotNull ByteBuffer buf, long lastSuccessfulFullSnapshotId) {
+ public void setLastSuccessfulFullSnapshotId(@NotNull ByteBuffer buf, long lastSuccessfulFullSnapshotId) {
buf.putLong(LAST_SUCCESSFUL_FULL_SNAPSHOT_ID_OFF, lastSuccessfulFullSnapshotId);
}
[02/50] [abbrv] ignite git commit: ignite-gg-11650 Stabilize
8.0.2.ea1 branch after merging activation/deactivation fix fail checkpoint
(remove all lsnr on deactivate)
Posted by ag...@apache.org.
ignite-gg-11650 Stabilize 8.0.2.ea1 branch after merging activation/deactivation fix fail checkpoint (remove all lsnr on deactivate)
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/ad29cc92
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/ad29cc92
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/ad29cc92
Branch: refs/heads/ignite-3477
Commit: ad29cc92333525227c398c2f783d0947069da376
Parents: ef03eef
Author: Dmitriy Govorukhin <dg...@gridgain.com>
Authored: Mon Dec 19 19:27:54 2016 +0300
Committer: Dmitriy Govorukhin <dg...@gridgain.com>
Committed: Mon Dec 19 19:27:54 2016 +0300
----------------------------------------------------------------------
.../dht/preloader/GridDhtPartitionsExchangeFuture.java | 6 ------
.../internal/processors/cluster/GridClusterStateProcessor.java | 4 +---
2 files changed, 1 insertion(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/ad29cc92/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
index e38a185..8f4fb9c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
@@ -1601,12 +1601,6 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT
if (exchangeOnChangeGlobalState && !F.isEmpty(changeGlobalStateExceptions))
cctx.kernalContext().state().onFullResponseMessage(changeGlobalStateExceptions);
- //todo check it
- /*ClusterState newState = newClusterState();
-
- if (newState != null && cctx.kernalContext().cache().active() != newState)
- cctx.cache().active(newState);*/
-
onDone(exchangeId().topologyVersion());
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/ad29cc92/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
index d655e62..673ef04 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
@@ -372,14 +372,12 @@ public class GridClusterStateProcessor extends GridProcessorAdapter {
if (actx.activate) {
try {
if (!ctx.clientNode()) {
- sharedCtx.wal().onDeActivate(ctx);
-
sharedCtx.database().onDeActivate(ctx);
if (sharedCtx.pageStore() != null)
sharedCtx.pageStore().onDeActivate(ctx);
- sharedCtx.database().onDeActivate(ctx);
+ sharedCtx.wal().onDeActivate(ctx);
}
cacheProc.onKernalStopCaches(true);