You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2015/05/15 16:02:03 UTC
[01/47] incubator-ignite git commit: # IGNITE-831 Create parent class
for custom messages: DiscoveryCustomMessage.
Repository: incubator-ignite
Updated Branches:
refs/heads/ignite-709_3 77ef2e99f -> fcaf3f511
# IGNITE-831 Create parent class for custom messages: DiscoveryCustomMessage.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/1a4de262
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/1a4de262
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/1a4de262
Branch: refs/heads/ignite-709_3
Commit: 1a4de262b9a2f0d2bd589473546dd6ad3008a248
Parents: f9f7662
Author: sevdokimov <se...@jetbrains.com>
Authored: Mon May 4 12:05:49 2015 +0300
Committer: sevdokimov <se...@jetbrains.com>
Committed: Mon May 4 12:05:49 2015 +0300
----------------------------------------------------------------------
.../discovery/DiscoveryCustomMessage.java | 32 +++++++++++++++++
.../discovery/GridDiscoveryManager.java | 38 +++++++++++---------
.../cache/DynamicCacheChangeBatch.java | 9 +++--
.../ignite/spi/discovery/DiscoverySpi.java | 4 +--
.../discovery/tcp/TcpClientDiscoverySpi.java | 3 +-
.../spi/discovery/tcp/TcpDiscoverySpi.java | 3 +-
6 files changed, 67 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1a4de262/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryCustomMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryCustomMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryCustomMessage.java
new file mode 100644
index 0000000..c797ebd
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryCustomMessage.java
@@ -0,0 +1,32 @@
+/*
+ * 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.managers.discovery;
+
+import java.io.*;
+
+/**
+ *
+ */
+public interface DiscoveryCustomMessage extends Serializable {
+ /**
+ * Whether or not minor version of topology should be increased on message receive.
+ *
+ * @return {@code true} if minor topology version should be increased.
+ */
+ public boolean forwardMinorVersion();
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1a4de262/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
index 0950774..0df7d5f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
@@ -279,19 +279,6 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
}
}
- /**
- * @param evtType Event type.
- * @return Next affinity topology version.
- */
- private AffinityTopologyVersion nextTopologyVersion(int evtType, long topVer) {
- if (evtType == DiscoveryCustomEvent.EVT_DISCOVERY_CUSTOM_EVT)
- minorTopVer++;
- else if (evtType != EVT_NODE_METRICS_UPDATED)
- minorTopVer = 0;
-
- return new AffinityTopologyVersion(topVer, minorTopVer);
- }
-
/** {@inheritDoc} */
@Override public void start() throws IgniteCheckedException {
long totSysMemory = -1;
@@ -363,7 +350,26 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
if (snapshots != null)
topHist = snapshots;
- AffinityTopologyVersion nextTopVer = nextTopologyVersion(type, topVer);
+ boolean verChanged;
+
+ if (type == EVT_NODE_METRICS_UPDATED)
+ verChanged = false;
+ else if (type == DiscoveryCustomEvent.EVT_DISCOVERY_CUSTOM_EVT) {
+ if (data != null && ((DiscoveryCustomMessage)data).forwardMinorVersion()) {
+ minorTopVer++;
+
+ verChanged = true;
+ }
+ else
+ verChanged = false;
+ }
+ else {
+ minorTopVer = 0;
+
+ verChanged = true;
+ }
+
+ AffinityTopologyVersion nextTopVer = new AffinityTopologyVersion(topVer, minorTopVer);
if (type == EVT_NODE_FAILED || type == EVT_NODE_LEFT) {
for (DiscoCache c : discoCacheHist.values())
@@ -385,7 +391,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
// Put topology snapshot into discovery history.
// There is no race possible between history maintenance and concurrent discovery
// event notifications, since SPI notifies manager about all events from this listener.
- if (type != EVT_NODE_METRICS_UPDATED) {
+ if (verChanged) {
DiscoCache cache = new DiscoCache(locNode, F.view(topSnapshot, F.remoteNodes(locNode.id())));
discoCacheHist.put(nextTopVer, cache);
@@ -1386,7 +1392,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
/**
* @param evt Event.
*/
- public void sendCustomEvent(Serializable evt) {
+ public void sendCustomEvent(DiscoveryCustomMessage evt) {
getSpi().sendCustomEvent(evt);
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1a4de262/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeBatch.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeBatch.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeBatch.java
index ac3660e..0257307 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeBatch.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeBatch.java
@@ -17,16 +17,16 @@
package org.apache.ignite.internal.processors.cache;
+import org.apache.ignite.internal.managers.discovery.*;
import org.apache.ignite.internal.util.tostring.*;
import org.apache.ignite.internal.util.typedef.internal.*;
-import java.io.*;
import java.util.*;
/**
* Cache change batch.
*/
-public class DynamicCacheChangeBatch implements Serializable {
+public class DynamicCacheChangeBatch implements DiscoveryCustomMessage {
/** */
private static final long serialVersionUID = 0L;
@@ -72,4 +72,9 @@ public class DynamicCacheChangeBatch implements Serializable {
@Override public String toString() {
return S.toString(DynamicCacheChangeBatch.class, this);
}
+
+ /** {@inheritDoc} */
+ @Override public boolean forwardMinorVersion() {
+ return true;
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1a4de262/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpi.java
index 7560999..247ff67 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpi.java
@@ -18,11 +18,11 @@
package org.apache.ignite.spi.discovery;
import org.apache.ignite.cluster.*;
+import org.apache.ignite.internal.managers.discovery.*;
import org.apache.ignite.lang.*;
import org.apache.ignite.spi.*;
import org.jetbrains.annotations.*;
-import java.io.*;
import java.util.*;
/**
@@ -143,7 +143,7 @@ public interface DiscoverySpi extends IgniteSpi {
* Sends custom message across the ring.
* @param evt Event.
*/
- public void sendCustomEvent(Serializable evt);
+ public void sendCustomEvent(DiscoveryCustomMessage evt);
/**
* Initiates failure of provided node.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1a4de262/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
index c319f9e..59f4708 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
@@ -20,6 +20,7 @@ package org.apache.ignite.spi.discovery.tcp;
import org.apache.ignite.*;
import org.apache.ignite.cache.*;
import org.apache.ignite.cluster.*;
+import org.apache.ignite.internal.managers.discovery.*;
import org.apache.ignite.internal.util.typedef.*;
import org.apache.ignite.internal.util.typedef.internal.*;
import org.apache.ignite.lang.*;
@@ -388,7 +389,7 @@ public class TcpClientDiscoverySpi extends TcpDiscoverySpiAdapter implements Tcp
}
/** {@inheritDoc} */
- @Override public void sendCustomEvent(Serializable evt) {
+ @Override public void sendCustomEvent(DiscoveryCustomMessage evt) {
try {
sockWriter.sendMessage(new TcpDiscoveryCustomEventMessage(getLocalNodeId(), marsh.marshal(evt)));
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1a4de262/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
index c6b8e90..eba0528 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
@@ -24,6 +24,7 @@ import org.apache.ignite.configuration.*;
import org.apache.ignite.events.DiscoveryEvent;
import org.apache.ignite.internal.*;
import org.apache.ignite.internal.events.*;
+import org.apache.ignite.internal.managers.discovery.*;
import org.apache.ignite.internal.processors.security.*;
import org.apache.ignite.internal.util.*;
import org.apache.ignite.internal.util.future.*;
@@ -1248,7 +1249,7 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
}
/** {@inheritDoc} */
- @Override public void sendCustomEvent(Serializable evt) {
+ @Override public void sendCustomEvent(DiscoveryCustomMessage evt) {
try {
msgWorker.addMessage(new TcpDiscoveryCustomEventMessage(getLocalNodeId(), marsh.marshal(evt)));
}
[05/47] incubator-ignite git commit: Merge remote-tracking branch
'remotes/origin/ignite-sprint-5' into ignite-836_2
Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/origin/ignite-sprint-5' into ignite-836_2
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/e040b540
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/e040b540
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/e040b540
Branch: refs/heads/ignite-709_3
Commit: e040b5403733d053db16d87c10fcfbb5ace5dd86
Parents: f382ebc 5f8f6f4
Author: sevdokimov <se...@gridgain.com>
Authored: Tue May 5 16:46:09 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Tue May 5 16:46:09 2015 +0300
----------------------------------------------------------------------
.../streaming/wordcount/CacheConfig.java | 5 -
.../config/grid-client-config.properties | 50 +-
.../ClientPropertiesConfigurationSelfTest.java | 12 +-
.../java/org/apache/ignite/IgniteCache.java | 5 +
.../org/apache/ignite/IgniteJdbcDriver.java | 81 ++-
.../ignite/compute/ComputeTaskAdapter.java | 14 +-
.../client/GridClientConfiguration.java | 2 +-
.../processors/cache/GridCacheAdapter.java | 503 +++++++++----------
.../processors/cache/GridCacheProcessor.java | 109 ++--
.../apache/ignite/lang/IgniteAsyncSupport.java | 4 +-
.../cache/GridCacheSwapReloadSelfTest.java | 20 +-
.../cache/IgniteCachePeekModesAbstractTest.java | 15 +-
.../dht/GridCacheDhtPreloadSelfTest.java | 2 +-
...idFileSwapSpaceSpiMultithreadedLoadTest.java | 4 +-
.../cache/GridCacheOffHeapAndSwapSelfTest.java | 11 +-
.../cache/GridCacheOffHeapSelfTest.java | 11 +-
pom.xml | 39 +-
17 files changed, 438 insertions(+), 449 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e040b540/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
[34/47] incubator-ignite git commit: IGNITE-836 Fix
GridEventConsumeSelfTest
Posted by sb...@apache.org.
IGNITE-836 Fix GridEventConsumeSelfTest
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/63fc5e7b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/63fc5e7b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/63fc5e7b
Branch: refs/heads/ignite-709_3
Commit: 63fc5e7b91ff9ad440d1c49606cd432593c67dd7
Parents: 784c088
Author: sevdokimov <se...@gridgain.com>
Authored: Fri May 15 13:48:49 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Fri May 15 13:48:49 2015 +0300
----------------------------------------------------------------------
.../internal/processors/continuous/GridEventConsumeSelfTest.java | 3 ---
1 file changed, 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/63fc5e7b/modules/core/src/test/java/org/apache/ignite/internal/processors/continuous/GridEventConsumeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/continuous/GridEventConsumeSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/continuous/GridEventConsumeSelfTest.java
index d219a60..63ec6d6 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/continuous/GridEventConsumeSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/continuous/GridEventConsumeSelfTest.java
@@ -115,10 +115,7 @@ public class GridEventConsumeSelfTest extends GridCommonAbstractTest implements
assertEquals(0, localRoutines(proc).size());
assertEquals(0, U.<Map>field(proc, "rmtInfos").size());
assertEquals(0, U.<Map>field(proc, "startFuts").size());
- assertEquals(0, U.<Map>field(proc, "waitForStartAck").size());
assertEquals(0, U.<Map>field(proc, "stopFuts").size());
- assertEquals(0, U.<Map>field(proc, "waitForStopAck").size());
- assertEquals(0, U.<Map>field(proc, "pending").size());
}
}
[46/47] incubator-ignite git commit: # ignite-709_3
Posted by sb...@apache.org.
# ignite-709_3
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/994cb14c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/994cb14c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/994cb14c
Branch: refs/heads/ignite-709_3
Commit: 994cb14cf0a3ad76e4294d52469cfa4f473a8df2
Parents: 77ef2e9
Author: sboikov <sb...@gridgain.com>
Authored: Fri May 15 17:56:32 2015 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Fri May 15 17:56:32 2015 +0300
----------------------------------------------------------------------
.../ignite/testsuites/IgniteCacheDataStructuresSelfTestSuite.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/994cb14c/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheDataStructuresSelfTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheDataStructuresSelfTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheDataStructuresSelfTestSuite.java
index 7fb4563..2a5616f 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheDataStructuresSelfTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheDataStructuresSelfTestSuite.java
@@ -113,7 +113,7 @@ public class IgniteCacheDataStructuresSelfTestSuite extends TestSuite {
suite.addTest(new TestSuite(IgniteDataStructureUniqueNameTest.class));
suite.addTest(new TestSuite(IgniteClientDataStructuresTest.class));
- suite.addTest(new TestSuite(IgniteClientDiscoveryDataStructuresTest.class));
+ // suite.addTest(new TestSuite(IgniteClientDiscoveryDataStructuresTest.class));
return suite;
}
[19/47] incubator-ignite git commit: # IGNITE-831 Add missing
"serialVersionUID = 0L".
Posted by sb...@apache.org.
# IGNITE-831 Add missing "serialVersionUID = 0L".
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/cff3c664
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/cff3c664
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/cff3c664
Branch: refs/heads/ignite-709_3
Commit: cff3c66449dfc22d8dc9ba1d25d16fcbefd7b92d
Parents: a50abae
Author: sevdokimov <se...@gridgain.com>
Authored: Wed May 6 15:40:00 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Wed May 6 15:40:56 2015 +0300
----------------------------------------------------------------------
.../ignite/internal/managers/discovery/CustomMessageWrapper.java | 3 +++
.../internal/processors/continuous/GridContinuousProcessor.java | 3 +++
.../processors/continuous/StartRoutineAckDiscoveryMessage.java | 3 +++
.../processors/continuous/StartRoutineDiscoveryMessage.java | 3 +++
.../processors/continuous/StopRoutineAckDiscoveryMessage.java | 3 +++
.../processors/continuous/StopRoutineDiscoveryMessage.java | 3 +++
6 files changed, 18 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cff3c664/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomMessageWrapper.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomMessageWrapper.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomMessageWrapper.java
index 1f02eae..3e3d708 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomMessageWrapper.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomMessageWrapper.java
@@ -25,6 +25,9 @@ import org.jetbrains.annotations.*;
*/
class CustomMessageWrapper implements DiscoverySpiCustomMessage {
/** */
+ private static final long serialVersionUID = 0L;
+
+ /** */
private final DiscoveryCustomMessage delegate;
/**
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cff3c664/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
index 96a0b9d..af25b46 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
@@ -960,6 +960,9 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
*/
@SuppressWarnings("PackageVisibleInnerClass")
static class LocalRoutineInfo implements Serializable {
+ /** */
+ private static final long serialVersionUID = 0L;
+
/** Projection predicate. */
private final IgnitePredicate<ClusterNode> prjPred;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cff3c664/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineAckDiscoveryMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineAckDiscoveryMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineAckDiscoveryMessage.java
index 2050811..5ff67d8 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineAckDiscoveryMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineAckDiscoveryMessage.java
@@ -27,6 +27,9 @@ import java.util.*;
*
*/
public class StartRoutineAckDiscoveryMessage implements DiscoveryCustomMessage {
+ /** */
+ private static final long serialVersionUID = 0L;
+
/** Routine ID. */
private final UUID routineId;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cff3c664/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineDiscoveryMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineDiscoveryMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineDiscoveryMessage.java
index 1866901..4be0423 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineDiscoveryMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineDiscoveryMessage.java
@@ -28,6 +28,9 @@ import java.util.*;
*
*/
public class StartRoutineDiscoveryMessage implements DiscoveryCustomMessage {
+ /** */
+ private static final long serialVersionUID = 0L;
+
/** Routine ID. */
private final UUID routineId;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cff3c664/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineAckDiscoveryMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineAckDiscoveryMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineAckDiscoveryMessage.java
index 2e3002b..13f7ef4 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineAckDiscoveryMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineAckDiscoveryMessage.java
@@ -26,6 +26,9 @@ import java.util.*;
*
*/
public class StopRoutineAckDiscoveryMessage implements DiscoveryCustomMessage {
+ /** */
+ private static final long serialVersionUID = 0L;
+
/** Routine ID. */
private final UUID routineId;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cff3c664/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineDiscoveryMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineDiscoveryMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineDiscoveryMessage.java
index 8b08960..4c663a2 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineDiscoveryMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineDiscoveryMessage.java
@@ -27,6 +27,9 @@ import java.util.*;
*
*/
public class StopRoutineDiscoveryMessage implements DiscoveryCustomMessage {
+ /** */
+ private static final long serialVersionUID = 0L;
+
/** Routine ID. */
private final UUID routineId;
[06/47] incubator-ignite git commit: # Bug fix: Don't throw
marshaller exception from collectExchangeData() to avoid ring hang.
Posted by sb...@apache.org.
# Bug fix: Don't throw marshaller exception from collectExchangeData() to avoid ring hang.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/32a2d906
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/32a2d906
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/32a2d906
Branch: refs/heads/ignite-709_3
Commit: 32a2d90645fb3fff8bc4c8753cb71fe451f86036
Parents: e040b54
Author: sevdokimov <se...@gridgain.com>
Authored: Tue May 5 19:05:26 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Tue May 5 19:05:26 2015 +0300
----------------------------------------------------------------------
.../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/32a2d906/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
index 5336738..2639a9b 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
@@ -2216,9 +2216,8 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
/**
* @param nodeId Node ID.
* @return Marshalled exchange data.
- * @throws IgniteSpiException If failed.
*/
- private Map<Integer, byte[]> collectExchangeData(UUID nodeId) throws IgniteSpiException {
+ private Map<Integer, byte[]> collectExchangeData(UUID nodeId) {
Map<Integer, Serializable> data = exchange.collect(nodeId);
Map<Integer, byte[]> data0 = null;
@@ -2235,8 +2234,6 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
catch (IgniteCheckedException e) {
U.error(log, "Failed to marshal discovery data " +
"[comp=" + entry.getKey() + ", data=" + entry.getValue() + ']', e);
-
- throw new IgniteSpiException("Failed to marshal discovery data.", e);
}
}
}
[13/47] incubator-ignite git commit: review
Posted by sb...@apache.org.
review
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/880b59b9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/880b59b9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/880b59b9
Branch: refs/heads/ignite-709_3
Commit: 880b59b96f1cc9f2ead0d6a0e7d849f6635b2bae
Parents: 11d0d13
Author: Yakov Zhdanov <yz...@gridgain.com>
Authored: Wed May 6 14:29:52 2015 +0300
Committer: Yakov Zhdanov <yz...@gridgain.com>
Committed: Wed May 6 14:29:52 2015 +0300
----------------------------------------------------------------------
.../managers/discovery/DiscoveryCustomMessage.java | 4 ++--
.../continuous/StartRoutineDiscoveryMessage.java | 13 ++++++++-----
2 files changed, 10 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/880b59b9/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryCustomMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryCustomMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryCustomMessage.java
index c797ebd..dcb0cea 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryCustomMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryCustomMessage.java
@@ -5,9 +5,9 @@
* 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.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/880b59b9/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineDiscoveryMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineDiscoveryMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineDiscoveryMessage.java
index 7fa78b6..492a1e7 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineDiscoveryMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineDiscoveryMessage.java
@@ -5,9 +5,9 @@
* 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.
@@ -19,8 +19,8 @@ package org.apache.ignite.internal.processors.continuous;
import org.apache.ignite.*;
import org.apache.ignite.internal.managers.discovery.*;
+import org.apache.ignite.internal.util.typedef.internal.*;
import org.apache.ignite.spi.*;
-import org.apache.ignite.spi.discovery.tcp.messages.*;
import java.util.*;
@@ -46,8 +46,6 @@ public class StartRoutineDiscoveryMessage implements RingEndAwareCustomMessage {
this.startReqData = startReqData;
}
-
-
/** {@inheritDoc} */
@Override public boolean forwardMinorVersion() {
return false;
@@ -86,4 +84,9 @@ public class StartRoutineDiscoveryMessage implements RingEndAwareCustomMessage {
@Override public DiscoveryCustomMessage newMessageOnRingEnd(IgniteSpiContext ctx) {
return new StartRoutineAckDiscoveryMessage(routineId, errs);
}
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(StartRoutineDiscoveryMessage.class, this, super.toString());
+ }
}
[27/47] incubator-ignite git commit: IGNITE-836 Fix compilation error.
Posted by sb...@apache.org.
IGNITE-836 Fix compilation error.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/fce94eb2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/fce94eb2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/fce94eb2
Branch: refs/heads/ignite-709_3
Commit: fce94eb2ad12139945728657da2ca5c3bdf93241
Parents: 8bc46ec
Author: sevdokimov <se...@gridgain.com>
Authored: Thu May 14 17:58:47 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Thu May 14 17:58:47 2015 +0300
----------------------------------------------------------------------
.../org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fce94eb2/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
index f32a991..7abdd4e 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
@@ -450,7 +450,7 @@ public class TcpClientDiscoverySpi extends TcpDiscoverySpiAdapter implements Tcp
/** {@inheritDoc} */
@Override public void sendCustomEvent(DiscoverySpiCustomMessage evt) {
- if (segmentation)
+ if (segmented)
throw new IgniteException("Failed to send custom message: client is disconnected");
try {
[40/47] incubator-ignite git commit: IGNITE-709 Merge try / catch
blocks,
Posted by sb...@apache.org.
IGNITE-709 Merge try / catch blocks,
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/ccc854af
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/ccc854af
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/ccc854af
Branch: refs/heads/ignite-709_3
Commit: ccc854af4bd073f39796a32dd597c795f45bc47d
Parents: 4fd4c24
Author: sevdokimov <se...@gridgain.com>
Authored: Fri May 15 14:35:58 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Fri May 15 14:35:58 2015 +0300
----------------------------------------------------------------------
.../discovery/tcp/TcpClientDiscoverySpi.java | 76 ++++++++++----------
1 file changed, 37 insertions(+), 39 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ccc854af/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
index f4e1430..ad9f947 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
@@ -758,60 +758,58 @@ public class TcpClientDiscoverySpi extends TcpDiscoverySpiAdapter implements Tcp
}
try {
- try {
- InputStream in = new BufferedInputStream(sock.getInputStream());
+ InputStream in = new BufferedInputStream(sock.getInputStream());
- sock.setKeepAlive(true);
- sock.setTcpNoDelay(true);
+ sock.setKeepAlive(true);
+ sock.setTcpNoDelay(true);
- while (!isInterrupted()) {
- TcpDiscoveryAbstractMessage msg;
+ while (!isInterrupted()) {
+ TcpDiscoveryAbstractMessage msg;
- try {
- msg = marsh.unmarshal(in, U.gridClassLoader());
- }
- catch (IgniteCheckedException e) {
- if (log.isDebugEnabled())
- U.error(log, "Failed to read message [sock=" + sock + ", " +
- "locNodeId=" + getLocalNodeId() + ", rmtNodeId=" + rmtNodeId + ']', e);
+ try {
+ msg = marsh.unmarshal(in, U.gridClassLoader());
+ }
+ catch (IgniteCheckedException e) {
+ if (log.isDebugEnabled())
+ U.error(log, "Failed to read message [sock=" + sock + ", " +
+ "locNodeId=" + getLocalNodeId() + ", rmtNodeId=" + rmtNodeId + ']', e);
- IOException ioEx = X.cause(e, IOException.class);
+ IOException ioEx = X.cause(e, IOException.class);
- if (ioEx != null)
- throw ioEx;
+ if (ioEx != null)
+ throw ioEx;
- ClassNotFoundException clsNotFoundEx = X.cause(e, ClassNotFoundException.class);
+ ClassNotFoundException clsNotFoundEx = X.cause(e, ClassNotFoundException.class);
- if (clsNotFoundEx != null)
- LT.warn(log, null, "Failed to read message due to ClassNotFoundException " +
- "(make sure same versions of all classes are available on all nodes) " +
- "[rmtNodeId=" + rmtNodeId + ", err=" + clsNotFoundEx.getMessage() + ']');
- else
- LT.error(log, e, "Failed to read message [sock=" + sock + ", locNodeId=" +
- getLocalNodeId() + ", rmtNodeId=" + rmtNodeId + ']');
+ if (clsNotFoundEx != null)
+ LT.warn(log, null, "Failed to read message due to ClassNotFoundException " +
+ "(make sure same versions of all classes are available on all nodes) " +
+ "[rmtNodeId=" + rmtNodeId + ", err=" + clsNotFoundEx.getMessage() + ']');
+ else
+ LT.error(log, e, "Failed to read message [sock=" + sock + ", locNodeId=" +
+ getLocalNodeId() + ", rmtNodeId=" + rmtNodeId + ']');
- continue;
- }
+ continue;
+ }
- msg.senderNodeId(rmtNodeId);
+ msg.senderNodeId(rmtNodeId);
- if (log.isDebugEnabled())
- log.debug("Message has been received: " + msg);
+ if (log.isDebugEnabled())
+ log.debug("Message has been received: " + msg);
- stats.onMessageReceived(msg);
+ stats.onMessageReceived(msg);
- if (ensured(msg))
- lastMsgId = msg.id();
+ if (ensured(msg))
+ lastMsgId = msg.id();
- msgWorker.addMessage(msg);
- }
+ msgWorker.addMessage(msg);
}
- catch (IOException e) {
- msgWorker.addMessage(new SocketClosedMessage(sock));
+ }
+ catch (IOException e) {
+ msgWorker.addMessage(new SocketClosedMessage(sock));
- if (log.isDebugEnabled())
- U.error(log, "Connection failed [sock=" + sock + ", locNodeId=" + getLocalNodeId() + ']', e);
- }
+ if (log.isDebugEnabled())
+ U.error(log, "Connection failed [sock=" + sock + ", locNodeId=" + getLocalNodeId() + ']', e);
}
finally {
U.closeQuiet(sock);
[07/47] incubator-ignite git commit: # IGNITE-831 Bug fix in
TcpDiscoverySpi.processCustomMessage()
Posted by sb...@apache.org.
# IGNITE-831 Bug fix in TcpDiscoverySpi.processCustomMessage()
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/ac7597e1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/ac7597e1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/ac7597e1
Branch: refs/heads/ignite-709_3
Commit: ac7597e158c9b0ca5d9cf87945fb4adec9244040
Parents: 32a2d90
Author: sevdokimov <se...@gridgain.com>
Authored: Tue May 5 19:09:11 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Tue May 5 19:09:11 2015 +0300
----------------------------------------------------------------------
.../spi/discovery/tcp/TcpDiscoverySpi.java | 81 ++++++++++++--------
1 file changed, 49 insertions(+), 32 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ac7597e1/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
index 2639a9b..d13a6d8 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
@@ -4460,7 +4460,22 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
*/
private void processCustomMessage(TcpDiscoveryCustomEventMessage msg) {
if (isLocalNodeCoordinator()) {
- if (msg.verified()) {
+ boolean sndNext;
+
+ if (!msg.verified()) {
+ msg.verify(getLocalNodeId());
+ msg.topologyVersion(ring.topologyVersion());
+
+ notifyDiscoveryListener(msg);
+
+ sndNext = true;
+ }
+ else
+ sndNext = false;
+
+ if (sndNext && ring.hasRemoteNodes())
+ sendMessageAcrossRing(msg);
+ else {
stats.onRingMessageReceived(msg);
try {
@@ -4479,52 +4494,54 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
}
addMessage(new TcpDiscoveryDiscardMessage(getLocalNodeId(), msg.id()));
-
- return;
}
+ }
+ else {
+ if (msg.verified())
+ notifyDiscoveryListener(msg);
- msg.verify(getLocalNodeId());
- msg.topologyVersion(ring.topologyVersion());
+ if (ring.hasRemoteNodes())
+ sendMessageAcrossRing(msg);
}
+ }
- if (msg.verified()) {
- DiscoverySpiListener lsnr = TcpDiscoverySpi.this.lsnr;
+ /**
+ * @param msg Custom message.
+ */
+ private void notifyDiscoveryListener(TcpDiscoveryCustomEventMessage msg) {
+ DiscoverySpiListener lsnr = TcpDiscoverySpi.this.lsnr;
- TcpDiscoverySpiState spiState = spiStateCopy();
+ TcpDiscoverySpiState spiState = spiStateCopy();
- Map<Long, Collection<ClusterNode>> hist;
+ Map<Long, Collection<ClusterNode>> hist;
- synchronized (mux) {
- hist = new TreeMap<>(topHist);
- }
+ synchronized (mux) {
+ hist = new TreeMap<>(topHist);
+ }
- Collection<ClusterNode> snapshot = hist.get(msg.topologyVersion());
+ Collection<ClusterNode> snapshot = hist.get(msg.topologyVersion());
- if (lsnr != null && (spiState == CONNECTED || spiState == DISCONNECTING)) {
- assert msg.messageBytes() != null;
+ if (lsnr != null && (spiState == CONNECTED || spiState == DISCONNECTING)) {
+ assert msg.messageBytes() != null;
- TcpDiscoveryNode node = ring.node(msg.creatorNodeId());
+ TcpDiscoveryNode node = ring.node(msg.creatorNodeId());
- try {
- Serializable msgObj = marsh.unmarshal(msg.messageBytes(), U.gridClassLoader());
+ try {
+ Serializable msgObj = marsh.unmarshal(msg.messageBytes(), U.gridClassLoader());
- lsnr.onDiscovery(DiscoveryCustomEvent.EVT_DISCOVERY_CUSTOM_EVT,
- msg.topologyVersion(),
- node,
- snapshot,
- hist,
- msgObj);
+ lsnr.onDiscovery(DiscoveryCustomEvent.EVT_DISCOVERY_CUSTOM_EVT,
+ msg.topologyVersion(),
+ node,
+ snapshot,
+ hist,
+ msgObj);
- msg.messageBytes(marsh.marshal(msgObj));
- }
- catch (IgniteCheckedException e) {
- U.error(log, "Failed to unmarshal discovery custom message.", e);
- }
+ msg.messageBytes(marsh.marshal(msgObj));
+ }
+ catch (IgniteCheckedException e) {
+ U.error(log, "Failed to unmarshal discovery custom message.", e);
}
}
-
- if (ring.hasRemoteNodes())
- sendMessageAcrossRing(msg);
}
}
[24/47] incubator-ignite git commit: Merge remote-tracking branch
'remotes/origin/ignite-709_2' into ignite-836_2
Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/origin/ignite-709_2' into ignite-836_2
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/9126679c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/9126679c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/9126679c
Branch: refs/heads/ignite-709_3
Commit: 9126679c313bb53a119faf15f6b43a9ab94cda26
Parents: 4be0438 796234f
Author: sevdokimov <se...@gridgain.com>
Authored: Thu May 7 17:37:01 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Thu May 7 17:37:01 2015 +0300
----------------------------------------------------------------------
.../discovery/tcp/TcpClientDiscoverySpi.java | 73 +++++---
...pClientDiscoveryMarshallerCheckSelfTest.java | 99 +++++++++++
.../tcp/TcpClientDiscoverySelfTest.java | 178 ++++++++++++++++++-
.../TcpClientDiscoverySpiConfigSelfTest.java | 39 ++++
.../IgniteSpiDiscoverySelfTestSuite.java | 2 +
5 files changed, 362 insertions(+), 29 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9126679c/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9126679c/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySelfTest.java
----------------------------------------------------------------------
[22/47] incubator-ignite git commit: Merge remote-tracking branch
'remotes/origin/ignite-709_2' into ignite-836_2
Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/origin/ignite-709_2' into ignite-836_2
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/2d6754f8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/2d6754f8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/2d6754f8
Branch: refs/heads/ignite-709_3
Commit: 2d6754f8358fa96311fdc5fefa5aa0a38ecfc265
Parents: 490827e 7625bdc
Author: sevdokimov <se...@gridgain.com>
Authored: Thu May 7 16:25:58 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Thu May 7 16:25:58 2015 +0300
----------------------------------------------------------------------
.../spi/discovery/tcp/TcpClientDiscoverySpi.java | 13 +++++++++++++
.../ignite/spi/discovery/tcp/TcpDiscoverySpi.java | 13 ++++++++++++-
2 files changed, 25 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2d6754f8/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2d6754f8/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
[21/47] incubator-ignite git commit: # Use ClusterNode.isClient()
instead of clientRouterNodeId()
Posted by sb...@apache.org.
# Use ClusterNode.isClient() instead of clientRouterNodeId()
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/490827ea
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/490827ea
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/490827ea
Branch: refs/heads/ignite-709_3
Commit: 490827eadeaccf37d0dac341e426c60dca176b03
Parents: 0bfd42b
Author: sevdokimov <se...@gridgain.com>
Authored: Thu May 7 11:44:35 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Thu May 7 11:44:35 2015 +0300
----------------------------------------------------------------------
.../internal/processors/continuous/GridContinuousProcessor.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/490827ea/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
index af25b46..43df436 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
@@ -202,7 +202,7 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
unregisterRemote(routineId);
- if (((TcpDiscoveryNode)snd).clientRouterNodeId() != null) {
+ if (snd.isClient()) {
Map<UUID, LocalRoutineInfo> infoMap = clientInfos.get(snd.id());
if (infoMap != null)
@@ -647,7 +647,7 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
U.error(log, "Failed to register handler [nodeId=" + node.id() + ", routineId=" + routineId + ']', e);
}
- if (((TcpDiscoveryNode)node).clientRouterNodeId() != null) {
+ if (node.isClient()) {
Map<UUID, LocalRoutineInfo> clientRouteMap = clientInfos.get(node.id());
if (clientRouteMap == null) {
[29/47] incubator-ignite git commit: # IGNITE-709 Bug fix: don't
brake connection is reconnect successfull.
Posted by sb...@apache.org.
# IGNITE-709 Bug fix: don't brake connection is reconnect successfull.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/7099c560
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/7099c560
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/7099c560
Branch: refs/heads/ignite-709_3
Commit: 7099c560b9fbb2f9029548fc0ea8830a18d37fc9
Parents: 98743ef
Author: sevdokimov <se...@jetbrains.com>
Authored: Fri May 15 09:44:50 2015 +0300
Committer: sevdokimov <se...@jetbrains.com>
Committed: Fri May 15 09:44:50 2015 +0300
----------------------------------------------------------------------
.../apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7099c560/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
index 9678b87..6514b6f 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
@@ -1086,7 +1086,8 @@ public class TcpClientDiscoverySpi extends TcpDiscoverySpiAdapter implements Tcp
timer.schedule(new TimerTask() {
@Override public void run() {
- reconnector.cancel();
+ if (reconnector.isAlive())
+ reconnector.cancel();
}
}, netTimeout);
}
[31/47] incubator-ignite git commit: # ignite-836 review
Posted by sb...@apache.org.
# ignite-836 review
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/073c48c2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/073c48c2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/073c48c2
Branch: refs/heads/ignite-709_3
Commit: 073c48c2564608f699e80dcfce06328358547fa5
Parents: 778aa17
Author: Yakov Zhdanov <yz...@gridgain.com>
Authored: Fri May 15 10:30:09 2015 +0300
Committer: Yakov Zhdanov <yz...@gridgain.com>
Committed: Fri May 15 10:30:09 2015 +0300
----------------------------------------------------------------------
.../ignite/internal/managers/discovery/GridDiscoveryManager.java | 4 ++--
.../internal/processors/continuous/GridContinuousProcessor.java | 2 --
2 files changed, 2 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/073c48c2/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
index c5698a8..2678b02 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
@@ -168,8 +168,8 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
private final MetricsUpdater metricsUpdater = new MetricsUpdater();
/** Custom event listener. */
- private ConcurrentMap<Class<?>, List<CustomEventListener<DiscoveryCustomMessage>>> customEvtLsnrs
- = new ConcurrentHashMap8<>();
+ private ConcurrentMap<Class<?>, List<CustomEventListener<DiscoveryCustomMessage>>> customEvtLsnrs =
+ new ConcurrentHashMap8<>();
/** Map of dynamic cache filters. */
private Map<String, CachePredicate> registeredCaches = new HashMap<>();
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/073c48c2/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
index 43df436..1b204a6 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
@@ -38,7 +38,6 @@ import org.apache.ignite.internal.util.worker.*;
import org.apache.ignite.lang.*;
import org.apache.ignite.marshaller.*;
import org.apache.ignite.plugin.extensions.communication.*;
-import org.apache.ignite.spi.discovery.tcp.internal.*;
import org.apache.ignite.thread.*;
import org.jetbrains.annotations.*;
import org.jsr166.*;
@@ -189,7 +188,6 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
stopRoutine(msg.routineId());
}
-
}
}
});
[44/47] incubator-ignite git commit: # IGNITE-709 Decreace timeout of
GridCacheTcpClientDiscoveryMultiThreadedTest
Posted by sb...@apache.org.
# IGNITE-709 Decreace timeout of GridCacheTcpClientDiscoveryMultiThreadedTest
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/8fcc700f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/8fcc700f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/8fcc700f
Branch: refs/heads/ignite-709_3
Commit: 8fcc700fb7c17c4f9579aba883feefdf744c21f5
Parents: e4b530b
Author: sevdokimov <se...@gridgain.com>
Authored: Fri May 15 16:29:46 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Fri May 15 16:29:46 2015 +0300
----------------------------------------------------------------------
.../cache/GridCacheTcpClientDiscoveryMultiThreadedTest.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8fcc700f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTcpClientDiscoveryMultiThreadedTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTcpClientDiscoveryMultiThreadedTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTcpClientDiscoveryMultiThreadedTest.java
index fc7660a..0554a10 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTcpClientDiscoveryMultiThreadedTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTcpClientDiscoveryMultiThreadedTest.java
@@ -23,6 +23,7 @@ import org.apache.ignite.configuration.*;
import org.apache.ignite.internal.*;
import org.apache.ignite.spi.discovery.tcp.*;
import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+
import java.net.*;
import java.util.*;
import java.util.concurrent.*;
@@ -96,7 +97,7 @@ public class GridCacheTcpClientDiscoveryMultiThreadedTest extends GridCacheAbstr
/** {@inheritDoc} */
@Override protected long getTestTimeout() {
- return 2 * 60 * 1000;
+ return 60 * 1000;
}
/**
[35/47] incubator-ignite git commit: IGNITE-836 Fix
GridEventConsumeSelfTest
Posted by sb...@apache.org.
IGNITE-836 Fix GridEventConsumeSelfTest
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/980dd472
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/980dd472
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/980dd472
Branch: refs/heads/ignite-709_3
Commit: 980dd47254f68becc69938f9420f23079fef584c
Parents: 63fc5e7
Author: sevdokimov <se...@gridgain.com>
Authored: Fri May 15 14:00:48 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Fri May 15 14:00:48 2015 +0300
----------------------------------------------------------------------
.../processors/continuous/GridEventConsumeSelfTest.java | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/980dd472/modules/core/src/test/java/org/apache/ignite/internal/processors/continuous/GridEventConsumeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/continuous/GridEventConsumeSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/continuous/GridEventConsumeSelfTest.java
index 63ec6d6..9ff99c4 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/continuous/GridEventConsumeSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/continuous/GridEventConsumeSelfTest.java
@@ -102,17 +102,18 @@ public class GridEventConsumeSelfTest extends GridCommonAbstractTest implements
assertEquals(GRID_CNT, grid(0).cluster().nodes().size());
for (int i = 0; i < GRID_CNT; i++) {
- IgniteKernal grid = (IgniteKernal)grid(i);
+ IgniteEx grid = grid(i);
GridContinuousProcessor proc = grid.context().continuous();
- if (noAutoUnsubscribe) {
- localRoutines(proc).clear();
-
+ try {
+ if (!noAutoUnsubscribe)
+ assertEquals(0, U.<Map>field(proc, "rmtInfos").size());
+ }
+ finally {
U.<Map>field(proc, "rmtInfos").clear();
}
- assertEquals(0, localRoutines(proc).size());
assertEquals(0, U.<Map>field(proc, "rmtInfos").size());
assertEquals(0, U.<Map>field(proc, "startFuts").size());
assertEquals(0, U.<Map>field(proc, "stopFuts").size());
[23/47] incubator-ignite git commit: Merge remote-tracking branch
'remotes/origin/ignite-sprint-5' into ignite-836_2
Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/origin/ignite-sprint-5' into ignite-836_2
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/4be04388
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/4be04388
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/4be04388
Branch: refs/heads/ignite-709_3
Commit: 4be04388e2452db1794a3a72b7c235f551226ec6
Parents: 2d6754f 29da67c
Author: sevdokimov <se...@gridgain.com>
Authored: Thu May 7 16:26:17 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Thu May 7 16:26:17 2015 +0300
----------------------------------------------------------------------
...CacheLoadingConcurrentGridStartSelfTest.java | 49 ++++++++++++--------
.../ignite/schema/generator/CodeGenerator.java | 6 +--
2 files changed, 32 insertions(+), 23 deletions(-)
----------------------------------------------------------------------
[25/47] incubator-ignite git commit: Merge remote-tracking branch
'remotes/origin/ignite-709_2' into ignite-836_2
Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/origin/ignite-709_2' into ignite-836_2
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/8c105ec2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/8c105ec2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/8c105ec2
Branch: refs/heads/ignite-709_3
Commit: 8c105ec2379acb78bd5fc9185cc99b9a1bc18562
Parents: 9126679 16e211e
Author: sevdokimov <se...@gridgain.com>
Authored: Wed May 13 15:09:57 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Wed May 13 15:09:57 2015 +0300
----------------------------------------------------------------------
assembly/release-base.xml | 4 +-
bin/ignite-schema-import.bat | 2 +-
bin/ignite-schema-import.sh | 2 +-
bin/ignite.bat | 2 +-
bin/ignite.sh | 2 +-
bin/ignitevisorcmd.bat | 2 +-
bin/ignitevisorcmd.sh | 2 +-
bin/include/build-classpath.bat | 46 +
bin/include/build-classpath.sh | 71 +
bin/include/functions.sh | 2 +-
bin/include/target-classpath.bat | 46 -
bin/include/target-classpath.sh | 71 -
examples/pom.xml | 2 +-
modules/aop/pom.xml | 2 +-
modules/aws/pom.xml | 2 +-
modules/clients/pom.xml | 2 +-
modules/cloud/pom.xml | 4 +-
.../TcpDiscoveryCloudIpFinderSelfTest.java | 2 -
modules/codegen/pom.xml | 2 +-
.../ignite/codegen/MessageCodeGenerator.java | 4 +-
modules/core/pom.xml | 2 +-
.../internal/direct/DirectByteBufferStream.java | 4 +-
.../communication/GridIoMessageFactory.java | 4 +-
.../eventstorage/GridEventStorageManager.java | 5 +-
.../cache/DynamicCacheDescriptor.java | 16 +-
.../processors/cache/GridCacheAdapter.java | 544 +-
.../cache/GridCacheEvictionManager.java | 2 +-
.../processors/cache/GridCacheMapEntry.java | 18 +-
.../processors/cache/GridCacheMvccManager.java | 4 +-
.../GridCachePartitionExchangeManager.java | 3 +
.../processors/cache/GridCacheProcessor.java | 189 +-
.../processors/cache/GridCacheProxyImpl.java | 24 -
.../processors/cache/GridCacheSwapManager.java | 215 +-
.../processors/cache/GridCacheTtlManager.java | 42 +-
.../processors/cache/GridCacheUtils.java | 5 +-
.../processors/cache/IgniteInternalCache.java | 27 -
...ridCacheOptimisticCheckPreparedTxFuture.java | 434 --
...idCacheOptimisticCheckPreparedTxRequest.java | 232 -
...dCacheOptimisticCheckPreparedTxResponse.java | 179 -
.../distributed/GridCacheTxRecoveryFuture.java | 506 ++
.../distributed/GridCacheTxRecoveryRequest.java | 261 +
.../GridCacheTxRecoveryResponse.java | 182 +
.../GridDistributedTxRemoteAdapter.java | 2 +-
.../distributed/dht/GridDhtLocalPartition.java | 2 +-
.../cache/distributed/dht/GridDhtTxLocal.java | 32 +-
.../distributed/dht/GridDhtTxLocalAdapter.java | 27 +
.../cache/distributed/dht/GridDhtTxMapping.java | 2 +-
.../distributed/dht/GridDhtTxPrepareFuture.java | 81 +-
.../dht/GridPartitionedGetFuture.java | 2 +-
.../colocated/GridDhtColocatedLockFuture.java | 27 +-
.../colocated/GridDhtDetachedCacheEntry.java | 4 +-
.../distributed/near/GridNearCacheAdapter.java | 10 -
.../distributed/near/GridNearCacheEntry.java | 4 +-
.../distributed/near/GridNearLockFuture.java | 5 -
.../near/GridNearOptimisticTxPrepareFuture.java | 779 ++
.../GridNearPessimisticTxPrepareFuture.java | 349 +
.../cache/distributed/near/GridNearTxLocal.java | 84 +-
.../near/GridNearTxPrepareFuture.java | 1050 ---
.../near/GridNearTxPrepareFutureAdapter.java | 226 +
.../processors/cache/local/GridLocalCache.java | 8 +-
.../local/atomic/GridLocalAtomicCache.java | 27 +-
.../cache/query/GridCacheQueryManager.java | 21 +-
.../cache/query/GridCacheSqlQuery.java | 2 +-
.../cache/query/GridCacheTwoStepQuery.java | 17 +
.../cache/transactions/IgniteInternalTx.java | 9 +-
.../cache/transactions/IgniteTxAdapter.java | 4 +-
.../cache/transactions/IgniteTxHandler.java | 100 +-
.../transactions/IgniteTxLocalAdapter.java | 16 +-
.../cache/transactions/IgniteTxManager.java | 185 +-
.../datastreamer/DataStreamerImpl.java | 2 +
.../processors/igfs/IgfsDataManager.java | 3 +
.../processors/igfs/IgfsDeleteWorker.java | 4 +
.../processors/igfs/IgfsMetaManager.java | 2 +-
.../internal/processors/igfs/IgfsUtils.java | 11 +-
.../offheap/GridOffHeapProcessor.java | 17 +
.../processors/resource/GridResourceField.java | 11 +
.../processors/resource/GridResourceIoc.java | 387 +-
.../processors/resource/GridResourceMethod.java | 13 +
.../resource/GridResourceProcessor.java | 4 +-
.../ignite/internal/util/IgniteUtils.java | 19 +-
.../internal/util/future/SettableFuture.java | 86 +
.../util/lang/GridFilteredIterator.java | 2 +-
.../ignite/internal/util/lang/GridFunc.java | 7218 +++++-------------
.../util/offheap/GridOffHeapPartitionedMap.java | 9 +
.../unsafe/GridUnsafePartitionedMap.java | 155 +-
.../internal/visor/query/VisorQueryArg.java | 14 +-
.../internal/visor/query/VisorQueryJob.java | 2 +
.../discovery/tcp/TcpClientDiscoverySpi.java | 114 +-
.../spi/discovery/tcp/TcpDiscoverySpi.java | 255 +-
.../discovery/tcp/TcpDiscoverySpiAdapter.java | 39 +
.../messages/TcpDiscoveryClientPingRequest.java | 56 +
.../TcpDiscoveryClientPingResponse.java | 67 +
.../resources/META-INF/classnames.properties | 12 +-
.../core/src/main/resources/ignite.properties | 2 +-
.../internal/GridUpdateNotifierSelfTest.java | 21 +-
.../processors/cache/CacheGetFromJobTest.java | 110 +
.../GridCacheAbstractFailoverSelfTest.java | 12 +-
.../cache/GridCacheAbstractFullApiSelfTest.java | 227 +-
.../cache/GridCacheAbstractSelfTest.java | 4 +-
.../cache/OffHeapTieredTransactionSelfTest.java | 127 +
.../GridCacheAbstractNodeRestartSelfTest.java | 101 +-
.../distributed/IgniteTxGetAfterStopTest.java | 131 +
...xOriginatingNodeFailureAbstractSelfTest.java | 2 +-
...icOffHeapTieredMultiNodeFullApiSelfTest.java | 43 +
...ionedNearDisabledOffHeapFullApiSelfTest.java | 8 +-
...DisabledOffHeapMultiNodeFullApiSelfTest.java | 8 +-
...abledOffHeapTieredAtomicFullApiSelfTest.java | 56 +
...earDisabledOffHeapTieredFullApiSelfTest.java | 33 +
...edOffHeapTieredMultiNodeFullApiSelfTest.java | 33 +
...rDisabledPrimaryNodeFailureRecoveryTest.java | 31 +
...rtitionedPrimaryNodeFailureRecoveryTest.java | 31 +
...woBackupsPrimaryNodeFailureRecoveryTest.java | 37 +
...ePrimaryNodeFailureRecoveryAbstractTest.java | 533 ++
...idCacheAtomicReplicatedFailoverSelfTest.java | 6 +
...CacheAtomicOffHeapTieredFullApiSelfTest.java | 32 +
...icOffHeapTieredMultiNodeFullApiSelfTest.java | 33 +
...yWriteOrderOffHeapTieredFullApiSelfTest.java | 33 +
...erOffHeapTieredMultiNodeFullApiSelfTest.java | 33 +
...achePartitionedMultiNodeFullApiSelfTest.java | 15 +-
.../GridCachePartitionedNodeRestartTest.java | 4 +-
...dCachePartitionedOffHeapFullApiSelfTest.java | 8 +-
...titionedOffHeapMultiNodeFullApiSelfTest.java | 8 +-
...PartitionedOffHeapTieredFullApiSelfTest.java | 32 +
...edOffHeapTieredMultiNodeFullApiSelfTest.java | 72 +
...ePartitionedOptimisticTxNodeRestartTest.java | 4 +-
.../GridCachePartitionedTxSalvageSelfTest.java | 25 +-
.../GridCacheReplicatedFailoverSelfTest.java | 6 +
.../GridCacheReplicatedNodeRestartSelfTest.java | 82 +
...idCacheReplicatedOffHeapFullApiSelfTest.java | 8 +-
...plicatedOffHeapMultiNodeFullApiSelfTest.java | 8 +-
...eReplicatedOffHeapTieredFullApiSelfTest.java | 33 +
...edOffHeapTieredMultiNodeFullApiSelfTest.java | 33 +
.../IgniteCacheExpiryPolicyAbstractTest.java | 2 +-
.../IgniteCacheExpiryPolicyTestSuite.java | 2 +
.../expiry/IgniteCacheTtlCleanupSelfTest.java | 85 +
...LocalAtomicOffHeapTieredFullApiSelfTest.java | 32 +
.../GridCacheLocalOffHeapFullApiSelfTest.java | 6 +-
...dCacheLocalOffHeapTieredFullApiSelfTest.java | 32 +
.../igfs/IgfsClientCacheSelfTest.java | 132 +
.../processors/igfs/IgfsOneClientNodeTest.java | 133 +
.../processors/igfs/IgfsStreamsSelfTest.java | 2 +-
.../tcp/TcpClientDiscoverySelfTest.java | 1021 ---
.../TcpClientDiscoverySpiConfigSelfTest.java | 2 +-
.../tcp/TcpClientDiscoverySpiSelfTest.java | 1089 +++
.../ignite/testsuites/IgniteBasicTestSuite.java | 1 +
.../IgniteCacheFailoverTestSuite.java | 10 +-
.../IgniteCacheFullApiSelfTestSuite.java | 18 +
.../testsuites/IgniteCacheRestartTestSuite.java | 11 +-
.../testsuites/IgniteCacheTestSuite3.java | 5 +-
.../IgniteCacheTxRecoverySelfTestSuite.java | 4 +
.../ignite/testsuites/IgniteIgfsTestSuite.java | 3 +
.../IgniteSpiDiscoverySelfTestSuite.java | 2 +-
modules/extdata/p2p/pom.xml | 2 +-
modules/extdata/uri/pom.xml | 2 +-
modules/gce/pom.xml | 4 +-
modules/geospatial/pom.xml | 2 +-
modules/hadoop/pom.xml | 2 +-
modules/hibernate/pom.xml | 2 +-
modules/indexing/pom.xml | 2 +-
.../processors/query/h2/IgniteH2Indexing.java | 4 +
.../processors/query/h2/sql/GridSqlQuery.java | 20 +
.../query/h2/sql/GridSqlQueryParser.java | 10 +-
.../query/h2/sql/GridSqlQuerySplitter.java | 11 +-
.../processors/query/h2/sql/GridSqlSelect.java | 2 +-
.../processors/query/h2/sql/GridSqlUnion.java | 2 +-
.../query/h2/twostep/GridMapQueryExecutor.java | 3 +
.../h2/twostep/GridReduceQueryExecutor.java | 119 +-
.../cache/GridCacheOffheapIndexGetSelfTest.java | 111 +
.../IgniteCacheAbstractFieldsQuerySelfTest.java | 21 +
...eQueryMultiThreadedOffHeapTiredSelfTest.java | 37 +
.../IgniteCacheQueryMultiThreadedSelfTest.java | 29 +-
.../IgniteCacheQuerySelfTestSuite.java | 1 +
.../IgniteCacheWithIndexingTestSuite.java | 2 +
modules/jcl/pom.xml | 2 +-
modules/jta/pom.xml | 2 +-
modules/log4j/pom.xml | 2 +-
modules/rest-http/pom.xml | 2 +-
modules/scalar/pom.xml | 2 +-
.../ignite/scalar/ScalarConversions.scala | 8 -
modules/schedule/pom.xml | 2 +-
modules/schema-import/pom.xml | 2 +-
.../ignite/schema/generator/CodeGenerator.java | 41 +-
modules/slf4j/pom.xml | 2 +-
modules/spring/pom.xml | 2 +-
modules/ssh/pom.xml | 2 +-
modules/tools/pom.xml | 2 +-
modules/urideploy/pom.xml | 2 +-
modules/visor-console/pom.xml | 2 +-
.../commands/cache/VisorCacheScanCommand.scala | 2 +-
modules/visor-plugins/pom.xml | 2 +-
modules/web/pom.xml | 2 +-
modules/yardstick/pom.xml | 2 +-
parent/pom.xml | 2 +
pom.xml | 115 +-
194 files changed, 9825 insertions(+), 10127 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8c105ec2/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8c105ec2/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8c105ec2/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8c105ec2/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
index ad78f86,53522c7..134097b
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
@@@ -4476,74 -4517,76 +4514,110 @@@ public class TcpDiscoverySpi extends Tc
/**
* @param msg Message.
*/
+ private void processClientPingRequest(final TcpDiscoveryClientPingRequest msg) {
+ utilityPool.execute(new Runnable() {
+ @Override public void run() {
+ boolean res = pingNode(msg.nodeToPing());
+
+ final ClientMessageWorker worker = clientMsgWorkers.get(msg.creatorNodeId());
+
+ if (worker == null) {
+ if (log.isDebugEnabled())
+ log.debug("Ping request from dead client node, will be skipped: " + msg.creatorNodeId());
+ }
+ else {
+ TcpDiscoveryClientPingResponse pingRes = new TcpDiscoveryClientPingResponse(
+ getLocalNodeId(), msg.nodeToPing(), res);
+
+ pingRes.verify(getLocalNodeId());
+
+ worker.addMessage(pingRes);
+ }
+ }
+ });
+ }
+
+ /**
+ * @param msg Message.
+ */
+ private void processPingResponse(final TcpDiscoveryPingResponse msg) {
+ ClientMessageWorker clientWorker = clientMsgWorkers.get(msg.creatorNodeId());
+
+ if (clientWorker != null)
+ clientWorker.pingResult(true);
+ }
+
+ /**
+ * @param msg Message.
+ */
private void processCustomMessage(TcpDiscoveryCustomEventMessage msg) {
if (isLocalNodeCoordinator()) {
- if (msg.verified()) {
+ boolean sndNext;
+
+ if (!msg.verified()) {
+ msg.verify(getLocalNodeId());
+ msg.topologyVersion(ring.topologyVersion());
+
+ notifyDiscoveryListener(msg);
+
+ sndNext = true;
+ }
+ else
+ sndNext = false;
+
+ if (sndNext && ring.hasRemoteNodes())
+ sendMessageAcrossRing(msg);
+ else {
stats.onRingMessageReceived(msg);
- addMessage(new TcpDiscoveryDiscardMessage(getLocalNodeId(), msg.id()));
+ try {
+ DiscoverySpiCustomMessage msgObj = marsh.unmarshal(msg.messageBytes(), U.gridClassLoader());
- return;
+ DiscoverySpiCustomMessage nextMsg = msgObj.newMessageOnRingEnd();
+
+ if (nextMsg != null)
+ addMessage(new TcpDiscoveryCustomEventMessage(getLocalNodeId(), marsh.marshal(nextMsg)));
+ }
+ catch (IgniteCheckedException e) {
+ U.error(log, "Failed to unmarshal discovery custom message.", e);
+ }
+
+ addMessage(new TcpDiscoveryDiscardMessage(getLocalNodeId(), msg.id()));
}
+ }
+ else {
+ if (msg.verified())
+ notifyDiscoveryListener(msg);
- msg.verify(getLocalNodeId());
- msg.topologyVersion(ring.topologyVersion());
+ if (ring.hasRemoteNodes())
+ sendMessageAcrossRing(msg);
}
+ }
- if (msg.verified()) {
- DiscoverySpiListener lsnr = TcpDiscoverySpi.this.lsnr;
+ /**
+ * @param msg Custom message.
+ */
+ private void notifyDiscoveryListener(TcpDiscoveryCustomEventMessage msg) {
+ DiscoverySpiListener lsnr = TcpDiscoverySpi.this.lsnr;
- TcpDiscoverySpiState spiState = spiStateCopy();
+ TcpDiscoverySpiState spiState = spiStateCopy();
- Map<Long, Collection<ClusterNode>> hist;
+ Map<Long, Collection<ClusterNode>> hist;
- synchronized (mux) {
- hist = new TreeMap<>(topHist);
- }
+ synchronized (mux) {
+ hist = new TreeMap<>(topHist);
+ }
- Collection<ClusterNode> snapshot = hist.get(msg.topologyVersion());
+ Collection<ClusterNode> snapshot = hist.get(msg.topologyVersion());
- if (lsnr != null && (spiState == CONNECTED || spiState == DISCONNECTING)) {
- assert msg.messageBytes() != null;
+ if (lsnr != null && (spiState == CONNECTED || spiState == DISCONNECTING)) {
+ assert msg.messageBytes() != null;
- TcpDiscoveryNode node = ring.node(msg.creatorNodeId());
+ TcpDiscoveryNode node = ring.node(msg.creatorNodeId());
+ if (node != null) {
try {
- Serializable msgObj = marsh.unmarshal(msg.messageBytes(), U.gridClassLoader());
+ DiscoverySpiCustomMessage msgObj = marsh.unmarshal(msg.messageBytes(), U.gridClassLoader());
lsnr.onDiscovery(DiscoveryCustomEvent.EVT_DISCOVERY_CUSTOM_EVT,
msg.topologyVersion(),
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8c105ec2/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpiSelfTest.java
----------------------------------------------------------------------
diff --cc modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpiSelfTest.java
index 0000000,507b3e7..da40d4e
mode 000000,100644..100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpiSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpiSelfTest.java
@@@ -1,0 -1,1089 +1,1089 @@@
+ /*
+ * 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.discovery.tcp;
+
+ import org.apache.ignite.*;
+ import org.apache.ignite.cluster.*;
+ import org.apache.ignite.configuration.*;
+ import org.apache.ignite.events.*;
+ import org.apache.ignite.internal.*;
+ import org.apache.ignite.internal.util.*;
+ import org.apache.ignite.internal.util.io.*;
+ import org.apache.ignite.internal.util.typedef.*;
+ import org.apache.ignite.internal.util.typedef.internal.*;
+ import org.apache.ignite.lang.*;
+ import org.apache.ignite.resources.*;
+ import org.apache.ignite.spi.*;
+ import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
+ import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+ import org.apache.ignite.spi.discovery.tcp.messages.*;
+ import org.apache.ignite.testframework.*;
+ import org.apache.ignite.testframework.junits.common.*;
+ import org.jetbrains.annotations.*;
+
+ import java.io.*;
+ import java.net.*;
+ import java.util.*;
+ import java.util.concurrent.*;
+ import java.util.concurrent.atomic.*;
+
+ import static java.util.concurrent.TimeUnit.*;
+ import static org.apache.ignite.events.EventType.*;
+
+ /**
+ * Client-based discovery tests.
+ */
+ public class TcpClientDiscoverySpiSelfTest extends GridCommonAbstractTest {
+ /** */
+ private static final TcpDiscoveryIpFinder IP_FINDER = new TcpDiscoveryVmIpFinder(true);
+
+ /** */
+ private static final AtomicInteger srvIdx = new AtomicInteger();
+
+ /** */
+ private static final AtomicInteger clientIdx = new AtomicInteger();
+
+ /** */
+ private static Collection<UUID> srvNodeIds;
+
+ /** */
+ private static Collection<UUID> clientNodeIds;
+
+ /** */
+ private static int clientsPerSrv;
+
+ /** */
+ private static CountDownLatch srvJoinedLatch;
+
+ /** */
+ private static CountDownLatch srvLeftLatch;
+
+ /** */
+ private static CountDownLatch srvFailedLatch;
+
+ /** */
+ private static CountDownLatch clientJoinedLatch;
+
+ /** */
+ private static CountDownLatch clientLeftLatch;
+
+ /** */
+ private static CountDownLatch clientFailedLatch;
+
+ /** */
+ private static CountDownLatch msgLatch;
+
+ /** */
+ private UUID nodeId;
+
+ /** */
+ private TcpDiscoveryVmIpFinder clientIpFinder;
+
+ /** */
+ private long joinTimeout = TcpClientDiscoverySpi.DFLT_JOIN_TIMEOUT;
+
+ /** {@inheritDoc} */
+ @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
+ IgniteConfiguration cfg = super.getConfiguration(gridName);
+
+ cfg.setLocalHost("127.0.0.1");
+
+ if (gridName.startsWith("server")) {
+ TcpDiscoverySpi disco = new TcpDiscoverySpi();
+
+ disco.setIpFinder(IP_FINDER);
+
+ cfg.setDiscoverySpi(disco);
+ }
+ else if (gridName.startsWith("client")) {
+ TcpClientDiscoverySpi disco = new TestTcpClientDiscovery();
+
+ disco.setJoinTimeout(joinTimeout);
+
+ TcpDiscoveryVmIpFinder ipFinder;
+
+ if (clientIpFinder != null)
+ ipFinder = clientIpFinder;
+ else {
+ ipFinder = new TcpDiscoveryVmIpFinder();
+
+ String addr = new ArrayList<>(IP_FINDER.getRegisteredAddresses()).
+ get((clientIdx.get() - 1) / clientsPerSrv).toString();
+
+ if (addr.startsWith("/"))
+ addr = addr.substring(1);
+
+ ipFinder.setAddresses(Arrays.asList(addr));
+ }
+
+ disco.setIpFinder(ipFinder);
+
+ cfg.setDiscoverySpi(disco);
+
+ String nodeId = cfg.getNodeId().toString();
+
+ nodeId = "cc" + nodeId.substring(2);
+
+ cfg.setNodeId(UUID.fromString(nodeId));
+ }
+
+ if (nodeId != null)
+ cfg.setNodeId(nodeId);
+
+ return cfg;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void beforeTest() throws Exception {
+ Collection<InetSocketAddress> addrs = IP_FINDER.getRegisteredAddresses();
+
+ if (!F.isEmpty(addrs))
+ IP_FINDER.unregisterAddresses(addrs);
+
+ srvIdx.set(0);
+ clientIdx.set(0);
+
+ srvNodeIds = new GridConcurrentHashSet<>();
+ clientNodeIds = new GridConcurrentHashSet<>();
+
+ clientsPerSrv = 2;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void afterTest() throws Exception {
+ stopAllClients(true);
+ stopAllServers(true);
+
+ nodeId = null;
+ clientIpFinder = null;
+ joinTimeout = TcpClientDiscoverySpi.DFLT_JOIN_TIMEOUT;
+
+ assert G.allGrids().isEmpty();
+ }
+
+ /**
+ *
+ * @throws Exception
+ */
+ public void testJoinTimeout() throws Exception {
+ clientIpFinder = new TcpDiscoveryVmIpFinder();
+ joinTimeout = 1000;
+
+ try {
+ startClientNodes(1);
+
+ fail("Client cannot be start because no server nodes run");
+ }
+ catch (IgniteCheckedException e) {
+ IgniteSpiException spiEx = e.getCause(IgniteSpiException.class);
+
+ assert spiEx != null : e;
+
+ assert spiEx.getMessage().contains("Join process timed out") : spiEx.getMessage();
+ }
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testClientNodeJoin() throws Exception {
+ startServerNodes(3);
+ startClientNodes(3);
+
+ checkNodes(3, 3);
+
+ srvJoinedLatch = new CountDownLatch(3);
+ clientJoinedLatch = new CountDownLatch(3);
+
+ attachListeners(3, 3);
+
+ startClientNodes(1);
+
+ await(srvJoinedLatch);
+ await(clientJoinedLatch);
+
+ checkNodes(3, 4);
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testClientNodeLeave() throws Exception {
+ startServerNodes(3);
+ startClientNodes(3);
+
+ checkNodes(3, 3);
+
+ srvLeftLatch = new CountDownLatch(3);
+ clientLeftLatch = new CountDownLatch(2);
+
+ attachListeners(3, 3);
+
+ stopGrid("client-2");
+
+ await(srvLeftLatch);
+ await(clientLeftLatch);
+
+ checkNodes(3, 2);
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testClientNodeFail() throws Exception {
+ startServerNodes(3);
+ startClientNodes(3);
+
+ checkNodes(3, 3);
+
+ srvFailedLatch = new CountDownLatch(3);
+ clientFailedLatch = new CountDownLatch(2);
+
+ attachListeners(3, 3);
+
+ failClient(2);
+
+ await(srvFailedLatch);
+ await(clientFailedLatch);
+
+ checkNodes(3, 2);
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testServerNodeJoin() throws Exception {
+ startServerNodes(3);
+ startClientNodes(3);
+
+ checkNodes(3, 3);
+
+ srvJoinedLatch = new CountDownLatch(3);
+ clientJoinedLatch = new CountDownLatch(3);
+
+ attachListeners(3, 3);
+
+ startServerNodes(1);
+
+ await(srvJoinedLatch);
+ await(clientJoinedLatch);
+
+ checkNodes(4, 3);
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testServerNodeLeave() throws Exception {
+ startServerNodes(3);
+ startClientNodes(3);
+
+ checkNodes(3, 3);
+
+ srvLeftLatch = new CountDownLatch(2);
+ clientLeftLatch = new CountDownLatch(3);
+
+ attachListeners(3, 3);
+
+ stopGrid("server-2");
+
+ await(srvLeftLatch);
+ await(clientLeftLatch);
+
+ checkNodes(2, 3);
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testServerNodeFail() throws Exception {
+ startServerNodes(3);
+ startClientNodes(3);
+
+ checkNodes(3, 3);
+
+ srvFailedLatch = new CountDownLatch(2);
+ clientFailedLatch = new CountDownLatch(3);
+
+ attachListeners(3, 3);
+
+ assert U.<Map>field(G.ignite("server-2").configuration().getDiscoverySpi(), "clientMsgWorkers").isEmpty();
+
+ failServer(2);
+
+ await(srvFailedLatch);
+ await(clientFailedLatch);
+
+ checkNodes(2, 3);
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testPing() throws Exception {
+ startServerNodes(2);
+ startClientNodes(1);
+
+ Ignite srv0 = G.ignite("server-0");
+ Ignite srv1 = G.ignite("server-1");
+ Ignite client = G.ignite("client-0");
+
+ assert ((IgniteEx)srv0).context().discovery().pingNode(client.cluster().localNode().id());
+ assert ((IgniteEx)srv1).context().discovery().pingNode(client.cluster().localNode().id());
+
+ assert ((IgniteEx)client).context().discovery().pingNode(srv0.cluster().localNode().id());
+ assert ((IgniteEx)client).context().discovery().pingNode(srv1.cluster().localNode().id());
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testPingFailedNodeFromClient() throws Exception {
+ startServerNodes(2);
+ startClientNodes(1);
+
+ Ignite srv0 = G.ignite("server-0");
+ Ignite srv1 = G.ignite("server-1");
+ Ignite client = G.ignite("client-0");
+
+ final CountDownLatch latch = new CountDownLatch(1);
+
+ ((TcpDiscoverySpi)srv1.configuration().getDiscoverySpi()).addIncomeConnectionListener(new IgniteInClosure<Socket>() {
+ @Override public void apply(Socket sock) {
+ try {
+ latch.await();
+ }
+ catch (InterruptedException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ });
+
+ assert ((IgniteEx)client).context().discovery().pingNode(srv0.cluster().localNode().id());
+ assert !((IgniteEx)client).context().discovery().pingNode(srv1.cluster().localNode().id());
+
+ latch.countDown();
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testPingFailedClientNode() throws Exception {
+ startServerNodes(2);
+ startClientNodes(1);
+
+ Ignite srv0 = G.ignite("server-0");
+ Ignite srv1 = G.ignite("server-1");
+ Ignite client = G.ignite("client-0");
+
+ ((TcpDiscoverySpiAdapter)srv0.configuration().getDiscoverySpi()).setAckTimeout(1000);
+
+ ((TestTcpClientDiscovery)client.configuration().getDiscoverySpi()).pauseSocketWrite();
+
+ assert !((IgniteEx)srv1).context().discovery().pingNode(client.cluster().localNode().id());
+ assert !((IgniteEx)srv0).context().discovery().pingNode(client.cluster().localNode().id());
+
+ ((TestTcpClientDiscovery)client.configuration().getDiscoverySpi()).resumeAll();
+
+ assert ((IgniteEx)srv1).context().discovery().pingNode(client.cluster().localNode().id());
+ assert ((IgniteEx)srv0).context().discovery().pingNode(client.cluster().localNode().id());
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testClientReconnectOnRouterFail() throws Exception {
+ clientsPerSrv = 1;
+
+ startServerNodes(3);
+ startClientNodes(3);
+
+ checkNodes(3, 3);
+
+ setClientRouter(2, 0);
+
+ srvFailedLatch = new CountDownLatch(2);
+ clientFailedLatch = new CountDownLatch(3);
+
+ attachListeners(2, 3);
+
+ failServer(2);
+
+ await(srvFailedLatch);
+ await(clientFailedLatch);
+
+ checkNodes(2, 3);
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testClientReconnectOnNetworkProblem() throws Exception {
+ clientsPerSrv = 1;
+
+ startServerNodes(3);
+ startClientNodes(3);
+
+ checkNodes(3, 3);
+
+ setClientRouter(2, 0);
+
+ srvFailedLatch = new CountDownLatch(2);
+ clientFailedLatch = new CountDownLatch(3);
+
+ attachListeners(2, 3);
+
+ ((TcpClientDiscoverySpi)G.ignite("client-2").configuration().getDiscoverySpi()).brokeConnection();
+
+ G.ignite("client-2").message().remoteListen(null, new MessageListener()); // Send some discovery message.
+
+ checkNodes(3, 3);
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testGetMissedMessagesOnReconnect() throws Exception {
+ clientsPerSrv = 1;
+
+ startServerNodes(3);
+ startClientNodes(2);
+
+ checkNodes(3, 2);
+
+ clientLeftLatch = new CountDownLatch(1);
+ srvLeftLatch = new CountDownLatch(2);
+
+ attachListeners(2, 2);
+
+ ((TestTcpClientDiscovery)G.ignite("client-1").configuration().getDiscoverySpi()).pauseAll();
+
+ stopGrid("server-2");
+
+ await(srvLeftLatch);
+ await(srvLeftLatch);
+
+ Thread.sleep(500);
+
+ assert G.ignite("client-0").cluster().nodes().size() == 4;
+ assert G.ignite("client-1").cluster().nodes().size() == 5;
+
+ clientLeftLatch = new CountDownLatch(1);
+
+ ((TestTcpClientDiscovery)G.ignite("client-1").configuration().getDiscoverySpi()).resumeAll();
+
+ await(clientLeftLatch);
+
+ checkNodes(2, 2);
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testClientSegmentation() throws Exception {
+ clientsPerSrv = 1;
+
+ startServerNodes(3);
+ startClientNodes(3);
+
+ checkNodes(3, 3);
+
+ // setClientRouter(2, 2);
+
+ srvFailedLatch = new CountDownLatch(2 + 2);
+ clientFailedLatch = new CountDownLatch(2 + 2);
+
+ attachListeners(2, 2);
+
+ final CountDownLatch client2StoppedLatch = new CountDownLatch(1);
+
+ IgnitionListener lsnr = new IgnitionListener() {
+ @Override public void onStateChange(@Nullable String name, IgniteState state) {
+ if (state == IgniteState.STOPPED_ON_SEGMENTATION)
+ client2StoppedLatch.countDown();
+ }
+ };
+ G.addListener(lsnr);
+
+ try {
+ failServer(2);
+
+ await(srvFailedLatch);
+ await(clientFailedLatch);
+
+ await(client2StoppedLatch);
+
+ checkNodes(2, 2);
+ }
+ finally {
+ G.removeListener(lsnr);
+ }
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testClientNodeJoinOneServer() throws Exception {
+ startServerNodes(1);
+
+ srvJoinedLatch = new CountDownLatch(1);
+
+ attachListeners(1, 0);
+
+ startClientNodes(1);
+
+ await(srvJoinedLatch);
+
+ checkNodes(1, 1);
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testClientNodeLeaveOneServer() throws Exception {
+ startServerNodes(1);
+ startClientNodes(1);
+
+ checkNodes(1, 1);
+
+ srvLeftLatch = new CountDownLatch(1);
+
+ attachListeners(1, 0);
+
+ stopGrid("client-0");
+
+ await(srvLeftLatch);
+
+ checkNodes(1, 0);
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testClientNodeFailOneServer() throws Exception {
+ startServerNodes(1);
+ startClientNodes(1);
+
+ checkNodes(1, 1);
+
+ srvFailedLatch = new CountDownLatch(1);
+
+ attachListeners(1, 0);
+
+ failClient(0);
+
+ await(srvFailedLatch);
+
+ checkNodes(1, 0);
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testMetrics() throws Exception {
+ startServerNodes(3);
+ startClientNodes(3);
+
+ checkNodes(3, 3);
+
+ attachListeners(3, 3);
+
+ assertTrue(checkMetrics(3, 3, 0));
+
+ G.ignite("client-0").compute().broadcast(F.noop());
+
+ assertTrue(GridTestUtils.waitForCondition(new PA() {
+ @Override public boolean apply() {
+ return checkMetrics(3, 3, 1);
+ }
+ }, 10000));
+
+ checkMetrics(3, 3, 1);
+
+ G.ignite("server-0").compute().broadcast(F.noop());
+
+ assertTrue(GridTestUtils.waitForCondition(new PA() {
+ @Override public boolean apply() {
+ return checkMetrics(3, 3, 2);
+ }
+ }, 10000));
+ }
+
+ /**
+ * @param srvCnt Number of Number of server nodes.
+ * @param clientCnt Number of client nodes.
+ * @param execJobsCnt Expected number of executed jobs.
+ * @return Whether metrics are correct.
+ */
+ private boolean checkMetrics(int srvCnt, int clientCnt, int execJobsCnt) {
+ for (int i = 0; i < srvCnt; i++) {
+ Ignite g = G.ignite("server-" + i);
+
+ for (ClusterNode n : g.cluster().nodes()) {
+ if (n.metrics().getTotalExecutedJobs() != execJobsCnt)
+ return false;
+ }
+ }
+
+ for (int i = 0; i < clientCnt; i++) {
+ Ignite g = G.ignite("client-" + i);
+
+ for (ClusterNode n : g.cluster().nodes()) {
+ if (n.metrics().getTotalExecutedJobs() != execJobsCnt)
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testDataExchangeFromServer() throws Exception {
+ testDataExchange("server-0");
+ }
+
+ /**
+ * TODO: IGNITE-587.
+ *
+ * @throws Exception If failed.
+ */
+ public void testDataExchangeFromClient() throws Exception {
+ testDataExchange("client-0");
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ private void testDataExchange(String masterName) throws Exception {
+ startServerNodes(2);
+ startClientNodes(2);
+
+ checkNodes(2, 2);
+
+ IgniteMessaging msg = grid(masterName).message();
+
+ UUID id = null;
+
+ try {
+ id = msg.remoteListen(null, new MessageListener());
+
- msgLatch = new CountDownLatch(4);
++ msgLatch = new CountDownLatch(2);
+
+ msg.send(null, "Message 1");
+
+ await(msgLatch);
+
+ startServerNodes(1);
+ startClientNodes(1);
+
+ checkNodes(3, 3);
+
- msgLatch = new CountDownLatch(6);
++ msgLatch = new CountDownLatch(3);
+
+ msg.send(null, "Message 2");
+
+ await(msgLatch);
+ }
+ finally {
+ if (id != null)
+ msg.stopRemoteListen(id);
+ }
+ }
+
+ /**
+ * @throws Exception If any error occurs.
+ */
+ public void testDuplicateId() throws Exception {
+ startServerNodes(2);
+
+ nodeId = G.ignite("server-1").cluster().localNode().id();
+
+ try {
+ startGrid("client-0");
+
+ assert false;
+ }
+ catch (IgniteCheckedException e) {
+ IgniteSpiException spiEx = e.getCause(IgniteSpiException.class);
+
+ assert spiEx != null : e;
+ assert spiEx.getMessage().contains("same ID") : spiEx.getMessage();
+ }
+ }
+
+ /**
+ * @throws Exception If any error occurs.
+ */
+ public void testTimeoutWaitingNodeAddedMessage() throws Exception {
+ startServerNodes(2);
+
+ final CountDownLatch cnt = new CountDownLatch(1);
+
+ ((TcpDiscoverySpi)G.ignite("server-1").configuration().getDiscoverySpi()).addSendMessageListener(
+ new IgniteInClosure<TcpDiscoveryAbstractMessage>() {
+ @Override public void apply(TcpDiscoveryAbstractMessage msg) {
+ try {
+ cnt.await(10, MINUTES);
+ }
+ catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
+
+ throw new IgniteInterruptedException(e);
+ }
+ }
+ });
+
+ try {
+ startGrid("client-0");
+
+ assert false;
+ }
+ catch (IgniteCheckedException e) {
+ cnt.countDown();
+
+ IgniteSpiException spiEx = e.getCause(IgniteSpiException.class);
+
+ assert spiEx != null : e;
+ assert spiEx.getMessage().contains("Join process timed out") : spiEx.getMessage();
+ }
+ }
+
+ /**
+ * @throws Exception If any error occurs.
+ */
+ public void testGridStartTime() throws Exception {
+ startServerNodes(2);
+
+ startClientNodes(2);
+
+ long startTime = -1;
+
+ for (Ignite g : G.allGrids()) {
+ IgniteEx kernal = (IgniteKernal)g;
+
+ assertTrue(kernal.context().discovery().gridStartTime() > 0);
+
+ if (startTime == -1)
+ startTime = kernal.context().discovery().gridStartTime();
+ else
+ assertEquals(startTime, kernal.context().discovery().gridStartTime());
+ }
+ }
+
+ /**
+ * @param clientIdx Index.
+ * @throws Exception In case of error.
+ */
+ private void setClientRouter(int clientIdx, int srvIdx) throws Exception {
+ TcpClientDiscoverySpi disco =
+ (TcpClientDiscoverySpi)G.ignite("client-" + clientIdx).configuration().getDiscoverySpi();
+
+ TcpDiscoveryVmIpFinder ipFinder = (TcpDiscoveryVmIpFinder)disco.getIpFinder();
+
+ String addr = new ArrayList<>(IP_FINDER.getRegisteredAddresses()).get(srvIdx).toString();
+
+ if (addr.startsWith("/"))
+ addr = addr.substring(1);
+
+ ipFinder.setAddresses(Arrays.asList(addr));
+ }
+
+ /**
+ * @param cnt Number of nodes.
+ * @throws Exception In case of error.
+ */
+ private void startServerNodes(int cnt) throws Exception {
+ for (int i = 0; i < cnt; i++) {
+ Ignite g = startGrid("server-" + srvIdx.getAndIncrement());
+
+ srvNodeIds.add(g.cluster().localNode().id());
+ }
+ }
+
+ /**
+ * @param cnt Number of nodes.
+ * @throws Exception In case of error.
+ */
+ private void startClientNodes(int cnt) throws Exception {
+ for (int i = 0; i < cnt; i++) {
+ Ignite g = startGrid("client-" + clientIdx.getAndIncrement());
+
+ clientNodeIds.add(g.cluster().localNode().id());
+ }
+ }
+
+ /**
+ * @param idx Index.
+ */
+ private void failServer(int idx) {
+ ((TcpDiscoverySpi)G.ignite("server-" + idx).configuration().getDiscoverySpi()).simulateNodeFailure();
+ }
+
+ /**
+ * @param idx Index.
+ */
+ private void failClient(int idx) {
+ ((TcpClientDiscoverySpi)G.ignite("client-" + idx).configuration().getDiscoverySpi()).simulateNodeFailure();
+ }
+
+ /**
+ * @param srvCnt Number of server nodes.
+ * @param clientCnt Number of client nodes.
+ */
+ private void attachListeners(int srvCnt, int clientCnt) throws Exception {
+ if (srvJoinedLatch != null) {
+ for (int i = 0; i < srvCnt; i++) {
+ G.ignite("server-" + i).events().localListen(new IgnitePredicate<Event>() {
+ @Override public boolean apply(Event evt) {
+ info("Joined event fired on server: " + evt);
+
+ srvJoinedLatch.countDown();
+
+ return true;
+ }
+ }, EVT_NODE_JOINED);
+ }
+ }
+
+ if (srvLeftLatch != null) {
+ for (int i = 0; i < srvCnt; i++) {
+ G.ignite("server-" + i).events().localListen(new IgnitePredicate<Event>() {
+ @Override public boolean apply(Event evt) {
+ info("Left event fired on server: " + evt);
+
+ srvLeftLatch.countDown();
+
+ return true;
+ }
+ }, EVT_NODE_LEFT);
+ }
+ }
+
+ if (srvFailedLatch != null) {
+ for (int i = 0; i < srvCnt; i++) {
+ G.ignite("server-" + i).events().localListen(new IgnitePredicate<Event>() {
+ @Override public boolean apply(Event evt) {
+ info("Failed event fired on server: " + evt);
+
+ srvFailedLatch.countDown();
+
+ return true;
+ }
+ }, EVT_NODE_FAILED);
+ }
+ }
+
+ if (clientJoinedLatch != null) {
+ for (int i = 0; i < clientCnt; i++) {
+ G.ignite("client-" + i).events().localListen(new IgnitePredicate<Event>() {
+ @Override public boolean apply(Event evt) {
+ info("Joined event fired on client: " + evt);
+
+ clientJoinedLatch.countDown();
+
+ return true;
+ }
+ }, EVT_NODE_JOINED);
+ }
+ }
+
+ if (clientLeftLatch != null) {
+ for (int i = 0; i < clientCnt; i++) {
+ G.ignite("client-" + i).events().localListen(new IgnitePredicate<Event>() {
+ @Override public boolean apply(Event evt) {
+ info("Left event fired on client: " + evt);
+
+ clientLeftLatch.countDown();
+
+ return true;
+ }
+ }, EVT_NODE_LEFT);
+ }
+ }
+
+ if (clientFailedLatch != null) {
+ for (int i = 0; i < clientCnt; i++) {
+ G.ignite("client-" + i).events().localListen(new IgnitePredicate<Event>() {
+ @Override public boolean apply(Event evt) {
+ info("Failed event fired on client: " + evt);
+
+ clientFailedLatch.countDown();
+
+ return true;
+ }
+ }, EVT_NODE_FAILED);
+ }
+ }
+ }
+
+ /**
+ * @param srvCnt Number of server nodes.
+ * @param clientCnt Number of client nodes.
+ */
+ private void checkNodes(int srvCnt, int clientCnt) {
+ for (int i = 0; i < srvCnt; i++) {
+ Ignite g = G.ignite("server-" + i);
+
+ assertTrue(srvNodeIds.contains(g.cluster().localNode().id()));
+
+ assertFalse(g.cluster().localNode().isClient());
+
+ checkRemoteNodes(g, srvCnt + clientCnt - 1);
+ }
+
+ for (int i = 0; i < clientCnt; i++) {
+ Ignite g = G.ignite("client-" + i);
+
+ assertTrue(clientNodeIds.contains(g.cluster().localNode().id()));
+
+ assertTrue(g.cluster().localNode().isClient());
+
+ checkRemoteNodes(g, srvCnt + clientCnt - 1);
+ }
+ }
+
+ /**
+ * @param ignite Grid.
+ * @param expCnt Expected nodes count.
+ */
+ @SuppressWarnings("TypeMayBeWeakened")
+ private void checkRemoteNodes(Ignite ignite, int expCnt) {
+ Collection<ClusterNode> nodes = ignite.cluster().forRemotes().nodes();
+
+ assertEquals(expCnt, nodes.size());
+
+ for (ClusterNode node : nodes) {
+ UUID id = node.id();
+
+ if (clientNodeIds.contains(id))
+ assertTrue(node.isClient());
+ else if (srvNodeIds.contains(id))
+ assertFalse(node.isClient());
+ else
+ assert false : "Unexpected node ID: " + id;
+ }
+ }
+
+ /**
+ * @param latch Latch.
+ * @throws InterruptedException If interrupted.
+ */
+ private void await(CountDownLatch latch) throws InterruptedException {
+ assertTrue("Latch count: " + latch.getCount(), latch.await(10000, MILLISECONDS));
+ }
+
+ /**
+ */
+ private static class MessageListener implements IgniteBiPredicate<UUID, Object> {
+ @IgniteInstanceResource
+ private Ignite ignite;
+
+ /** {@inheritDoc} */
+ @Override public boolean apply(UUID uuid, Object msg) {
+ X.println(">>> Received [locNodeId=" + ignite.configuration().getNodeId() + ", msg=" + msg + ']');
+
+ msgLatch.countDown();
+
+ return true;
+ }
+ }
+
+ /**
+ *
+ */
+ private static class TestTcpClientDiscovery extends TcpClientDiscoverySpi {
+ /** */
+ private final Object mux = new Object();
+
+ /** */
+ private final AtomicBoolean writeLock = new AtomicBoolean();
+
+ /** */
+ private final AtomicBoolean openSockLock = new AtomicBoolean();
+
+ /**
+ * @param lock Lock.
+ */
+ private void waitFor(AtomicBoolean lock) {
+ try {
+ synchronized (mux) {
+ while (lock.get())
+ mux.wait();
+ }
+ }
+ catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
+
+ throw new RuntimeException(e);
+ }
+ }
+
+ /**
+ * @param isPause Is lock.
+ * @param locks Locks.
+ */
+ private void pauseResumeOperation(boolean isPause, AtomicBoolean... locks) {
+ synchronized (mux) {
+ for (AtomicBoolean lock : locks)
+ lock.set(isPause);
+
+ mux.notifyAll();
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeToSocket(Socket sock, TcpDiscoveryAbstractMessage msg,
+ GridByteArrayOutputStream bout) throws IOException, IgniteCheckedException {
+ waitFor(writeLock);
+
+ super.writeToSocket(sock, msg, bout);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected Socket openSocket(InetSocketAddress sockAddr) throws IOException {
+ waitFor(openSockLock);
+
+ return super.openSocket(sockAddr);
+ }
+
+ /**
+ *
+ */
+ public void pauseSocketWrite() {
+ pauseResumeOperation(true, writeLock);
+ }
+
+ /**
+ *
+ */
+ public void pauseAll() {
+ pauseResumeOperation(true, openSockLock, writeLock);
+
+ brokeConnection();
+ }
+
+ /**
+ *
+ */
+ public void resumeAll() {
+ pauseResumeOperation(false, openSockLock, writeLock);
+ }
+ }
+ }
[20/47] incubator-ignite git commit: Merge remote-tracking branch
'remotes/origin/ignite-709_2' into ignite-836_2
Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/origin/ignite-709_2' into ignite-836_2
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/0bfd42b4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/0bfd42b4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/0bfd42b4
Branch: refs/heads/ignite-709_3
Commit: 0bfd42b445525a2e3adc88f3d9b2d96faae14202
Parents: cff3c66 bf80c27
Author: sevdokimov <se...@gridgain.com>
Authored: Wed May 6 16:23:14 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Wed May 6 16:23:14 2015 +0300
----------------------------------------------------------------------
.../spi/discovery/tcp/TcpDiscoverySpi.java | 22 +-
...ientModesTcpClientDiscoveryAbstractTest.java | 10 +-
.../spi/discovery/tcp/TcpDiscoverySelfTest.java | 65 ++--
.../ignite/testsuites/IgniteCacheTestSuite.java | 299 -------------------
.../testsuites/IgniteCacheTestSuite2.java | 141 +++++++++
.../testsuites/IgniteCacheTestSuite3.java | 143 +++++++++
.../testsuites/IgniteCacheTestSuite4.java | 131 ++++++++
7 files changed, 458 insertions(+), 353 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0bfd42b4/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
[14/47] incubator-ignite git commit: # IGNITE-831 Fix NPE
Posted by sb...@apache.org.
# IGNITE-831 Fix NPE
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/d0dac7de
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/d0dac7de
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/d0dac7de
Branch: refs/heads/ignite-709_3
Commit: d0dac7de1e573ae3870e20adfe18abf61caa84ec
Parents: 5ffaa4c
Author: sevdokimov <se...@gridgain.com>
Authored: Wed May 6 14:30:53 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Wed May 6 14:43:16 2015 +0300
----------------------------------------------------------------------
.../spi/discovery/tcp/TcpDiscoverySpi.java | 28 +++++++++++---------
1 file changed, 15 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d0dac7de/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
index 6028901..8051172 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
@@ -1766,7 +1766,7 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
log.debug("Discovery notification [node=" + node + ", spiState=" + spiState +
", type=" + U.gridEventName(type) + ", topVer=" + topVer + ']');
- Collection<ClusterNode> top = F.<TcpDiscoveryNode, ClusterNode>upcast(ring.visibleNodes());
+ Collection<ClusterNode> top = F.upcast(ring.visibleNodes());
Map<Long, Collection<ClusterNode>> hist = updateTopologyHistory(topVer, top);
@@ -4522,20 +4522,22 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
TcpDiscoveryNode node = ring.node(msg.creatorNodeId());
- try {
- Serializable msgObj = marsh.unmarshal(msg.messageBytes(), U.gridClassLoader());
+ if (node != null) {
+ try {
+ Serializable msgObj = marsh.unmarshal(msg.messageBytes(), U.gridClassLoader());
- lsnr.onDiscovery(DiscoveryCustomEvent.EVT_DISCOVERY_CUSTOM_EVT,
- msg.topologyVersion(),
- node,
- snapshot,
- hist,
- msgObj);
+ lsnr.onDiscovery(DiscoveryCustomEvent.EVT_DISCOVERY_CUSTOM_EVT,
+ msg.topologyVersion(),
+ node,
+ snapshot,
+ hist,
+ msgObj);
- msg.messageBytes(marsh.marshal(msgObj));
- }
- catch (IgniteCheckedException e) {
- U.error(log, "Failed to unmarshal discovery custom message.", e);
+ msg.messageBytes(marsh.marshal(msgObj));
+ }
+ catch (IgniteCheckedException e) {
+ U.error(log, "Failed to unmarshal discovery custom message.", e);
+ }
}
}
}
[02/47] incubator-ignite git commit: # IGNITE-831 Allow to listen
specified type of TcpDiscoveryCustomEventMessage. (cherry picked from commit
55904c1) (cherry picked from commit 5f7565a)
Posted by sb...@apache.org.
# IGNITE-831 Allow to listen specified type of TcpDiscoveryCustomEventMessage.
(cherry picked from commit 55904c1)
(cherry picked from commit 5f7565a)
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/94fb3c56
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/94fb3c56
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/94fb3c56
Branch: refs/heads/ignite-709_3
Commit: 94fb3c5658973a642281e48ffdfa78731373c604
Parents: 1a4de26
Author: sevdokimov <se...@jetbrains.com>
Authored: Wed Apr 29 12:18:43 2015 +0300
Committer: sevdokimov <se...@jetbrains.com>
Committed: Mon May 4 12:08:02 2015 +0300
----------------------------------------------------------------------
.../managers/discovery/CustomEventListener.java | 32 +++++++++++++++++
.../discovery/GridDiscoveryManager.java | 37 ++++++++++++++------
.../processors/cache/GridCacheProcessor.java | 9 ++---
3 files changed, 64 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/94fb3c56/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomEventListener.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomEventListener.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomEventListener.java
new file mode 100644
index 0000000..5c11968
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomEventListener.java
@@ -0,0 +1,32 @@
+/*
+ * 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.managers.discovery;
+
+import org.apache.ignite.cluster.*;
+
+/**
+ *
+ * @param <T>
+ */
+public interface CustomEventListener<T extends DiscoveryCustomMessage> {
+ /**
+ * @param snd Send.
+ * @param msg Message.
+ */
+ public void onCustomEvent(ClusterNode snd, T msg);
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/94fb3c56/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
index 0df7d5f..3d35bee 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
@@ -168,7 +168,8 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
private final MetricsUpdater metricsUpdater = new MetricsUpdater();
/** Custom event listener. */
- private GridPlainInClosure<Serializable> customEvtLsnr;
+ private ConcurrentMap<Class<?>, List<CustomEventListener<DiscoveryCustomMessage>>> customEvtLsnrs
+ = new ConcurrentHashMap8<>();
/** Map of dynamic cache filters. */
private Map<String, CachePredicate> registeredCaches = new HashMap<>();
@@ -379,12 +380,21 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
}
if (type == DiscoveryCustomEvent.EVT_DISCOVERY_CUSTOM_EVT) {
- try {
- if (customEvtLsnr != null)
- customEvtLsnr.apply(data);
- }
- catch (Exception e) {
- U.error(log, "Failed to notify direct custom event listener: " + data, e);
+ if (data != null) {
+ for (Class cls = data.getClass(); cls != null; cls = cls.getSuperclass()) {
+ List<CustomEventListener<DiscoveryCustomMessage>> list = customEvtLsnrs.get(cls);
+
+ if (list != null) {
+ for (CustomEventListener<DiscoveryCustomMessage> lsnr : list) {
+ try {
+ lsnr.onCustomEvent(node, (DiscoveryCustomMessage)data);
+ }
+ catch (Exception e) {
+ U.error(log, "Failed to notify direct custom event listener: " + data, e);
+ }
+ }
+ }
+ }
}
}
@@ -492,10 +502,17 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
}
/**
- * @param customEvtLsnr Custom event listener.
+ * @param lsnr Custom event listener.
*/
- public void setCustomEventListener(GridPlainInClosure<Serializable> customEvtLsnr) {
- this.customEvtLsnr = customEvtLsnr;
+ public <T extends DiscoveryCustomMessage> void setCustomEventListener(Class<T> msgCls, CustomEventListener<T> lsnr) {
+ List<CustomEventListener<DiscoveryCustomMessage>> list = customEvtLsnrs.get(msgCls);
+
+ if (list == null) {
+ list = F.addIfAbsent(customEvtLsnrs, msgCls,
+ new CopyOnWriteArrayList<CustomEventListener<DiscoveryCustomMessage>>());
+ }
+
+ list.add((CustomEventListener<DiscoveryCustomMessage>)lsnr);
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/94fb3c56/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 77fa104..c8870a2 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
@@ -27,6 +27,7 @@ import org.apache.ignite.cluster.*;
import org.apache.ignite.configuration.*;
import org.apache.ignite.events.*;
import org.apache.ignite.internal.*;
+import org.apache.ignite.internal.managers.discovery.*;
import org.apache.ignite.internal.processors.*;
import org.apache.ignite.internal.processors.affinity.*;
import org.apache.ignite.internal.processors.cache.datastructures.*;
@@ -541,10 +542,10 @@ public class GridCacheProcessor extends GridProcessorAdapter {
maxRebalanceOrder = validatePreloadOrder(ctx.config().getCacheConfiguration());
- ctx.discovery().setCustomEventListener(new GridPlainInClosure<Serializable>() {
- @Override public void apply(Serializable evt) {
- if (evt instanceof DynamicCacheChangeBatch)
- onCacheChangeRequested((DynamicCacheChangeBatch)evt);
+ ctx.discovery().setCustomEventListener(DynamicCacheChangeBatch.class,
+ new CustomEventListener<DynamicCacheChangeBatch>() {
+ @Override public void onCustomEvent(ClusterNode snd, DynamicCacheChangeBatch msg) {
+ onCacheChangeRequested(msg);
}
});
[11/47] incubator-ignite git commit: # IGNITE-831 Bug fix:
LocalRoutineInfo must be serializable.
Posted by sb...@apache.org.
# IGNITE-831 Bug fix: LocalRoutineInfo must be serializable.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/4e1f8b05
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/4e1f8b05
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/4e1f8b05
Branch: refs/heads/ignite-709_3
Commit: 4e1f8b050857f86a607c3f525480dbba0ffdd98d
Parents: 660648b
Author: sevdokimov <se...@gridgain.com>
Authored: Tue May 5 20:50:46 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Tue May 5 20:50:46 2015 +0300
----------------------------------------------------------------------
.../internal/processors/continuous/GridContinuousProcessor.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4e1f8b05/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
index 0769479..96a0b9d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
@@ -959,7 +959,7 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
* Local routine info.
*/
@SuppressWarnings("PackageVisibleInnerClass")
- static class LocalRoutineInfo {
+ static class LocalRoutineInfo implements Serializable {
/** Projection predicate. */
private final IgnitePredicate<ClusterNode> prjPred;
[37/47] incubator-ignite git commit: IGNITE-709 Rename
DiscoveryCustomMessage.forwardMinorVersion() to
incrementMinorTopologyVersion()
Posted by sb...@apache.org.
IGNITE-709 Rename DiscoveryCustomMessage.forwardMinorVersion() to incrementMinorTopologyVersion()
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/0ba45875
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/0ba45875
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/0ba45875
Branch: refs/heads/ignite-709_3
Commit: 0ba45875fd49439b2ff487eee6106ae630df840d
Parents: 7ee19cd
Author: sevdokimov <se...@gridgain.com>
Authored: Fri May 15 14:12:59 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Fri May 15 14:12:59 2015 +0300
----------------------------------------------------------------------
.../internal/managers/discovery/DiscoveryCustomMessage.java | 4 +++-
.../ignite/internal/managers/discovery/GridDiscoveryManager.java | 2 +-
.../internal/processors/cache/DynamicCacheChangeBatch.java | 2 +-
.../processors/continuous/StartRoutineAckDiscoveryMessage.java | 2 +-
.../processors/continuous/StartRoutineDiscoveryMessage.java | 3 +--
.../processors/continuous/StopRoutineAckDiscoveryMessage.java | 2 +-
.../processors/continuous/StopRoutineDiscoveryMessage.java | 3 +--
7 files changed, 9 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ba45875/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryCustomMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryCustomMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryCustomMessage.java
index e702ee4..13c0b9c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryCustomMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryCustomMessage.java
@@ -17,6 +17,7 @@
package org.apache.ignite.internal.managers.discovery;
+import org.apache.ignite.internal.processors.affinity.*;
import org.jetbrains.annotations.*;
import java.io.*;
@@ -29,8 +30,9 @@ public interface DiscoveryCustomMessage extends Serializable {
* Whether or not minor version of topology should be increased on message receive.
*
* @return {@code true} if minor topology version should be increased.
+ * @see AffinityTopologyVersion#minorTopVer
*/
- public boolean forwardMinorVersion();
+ public boolean incrementMinorTopologyVersion();
/**
* Called when custom message has been handled by all nodes.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ba45875/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
index 2678b02..5d5275f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
@@ -359,7 +359,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
if (type == EVT_NODE_METRICS_UPDATED)
verChanged = false;
else if (type == DiscoveryCustomEvent.EVT_DISCOVERY_CUSTOM_EVT) {
- if (customMsg != null && customMsg.forwardMinorVersion()) {
+ if (customMsg != null && customMsg.incrementMinorTopologyVersion()) {
minorTopVer++;
verChanged = true;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ba45875/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeBatch.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeBatch.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeBatch.java
index 744f6e8..ca257a9 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeBatch.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeBatch.java
@@ -75,7 +75,7 @@ public class DynamicCacheChangeBatch implements DiscoveryCustomMessage {
}
/** {@inheritDoc} */
- @Override public boolean forwardMinorVersion() {
+ @Override public boolean incrementMinorTopologyVersion() {
return true;
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ba45875/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineAckDiscoveryMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineAckDiscoveryMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineAckDiscoveryMessage.java
index ca9e4a0..66892b1 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineAckDiscoveryMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineAckDiscoveryMessage.java
@@ -46,7 +46,7 @@ public class StartRoutineAckDiscoveryMessage implements DiscoveryCustomMessage {
}
/** {@inheritDoc} */
- @Override public boolean forwardMinorVersion() {
+ @Override public boolean incrementMinorTopologyVersion() {
return false;
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ba45875/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineDiscoveryMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineDiscoveryMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineDiscoveryMessage.java
index 5669433..2199fd0 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineDiscoveryMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineDiscoveryMessage.java
@@ -20,7 +20,6 @@ package org.apache.ignite.internal.processors.continuous;
import org.apache.ignite.*;
import org.apache.ignite.internal.managers.discovery.*;
import org.apache.ignite.internal.util.typedef.internal.*;
-import org.apache.ignite.spi.*;
import java.util.*;
@@ -50,7 +49,7 @@ public class StartRoutineDiscoveryMessage implements DiscoveryCustomMessage {
}
/** {@inheritDoc} */
- @Override public boolean forwardMinorVersion() {
+ @Override public boolean incrementMinorTopologyVersion() {
return false;
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ba45875/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineAckDiscoveryMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineAckDiscoveryMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineAckDiscoveryMessage.java
index 16507a1..a640222 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineAckDiscoveryMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineAckDiscoveryMessage.java
@@ -40,7 +40,7 @@ public class StopRoutineAckDiscoveryMessage implements DiscoveryCustomMessage {
}
/** {@inheritDoc} */
- @Override public boolean forwardMinorVersion() {
+ @Override public boolean incrementMinorTopologyVersion() {
return false;
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0ba45875/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineDiscoveryMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineDiscoveryMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineDiscoveryMessage.java
index 00515f1..e8a43a3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineDiscoveryMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineDiscoveryMessage.java
@@ -18,7 +18,6 @@
package org.apache.ignite.internal.processors.continuous;
import org.apache.ignite.internal.managers.discovery.*;
-import org.apache.ignite.spi.*;
import org.jetbrains.annotations.*;
import java.util.*;
@@ -41,7 +40,7 @@ public class StopRoutineDiscoveryMessage implements DiscoveryCustomMessage {
}
/** {@inheritDoc} */
- @Override public boolean forwardMinorVersion() {
+ @Override public boolean incrementMinorTopologyVersion() {
return false;
}
[38/47] incubator-ignite git commit: IGNITE-709 Remove SettableFuture.
Posted by sb...@apache.org.
IGNITE-709 Remove SettableFuture.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/2109bc0f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/2109bc0f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/2109bc0f
Branch: refs/heads/ignite-709_3
Commit: 2109bc0fb5fe249980cd2e75cce29d723f3a0d85
Parents: 0ba4587
Author: sevdokimov <se...@gridgain.com>
Authored: Fri May 15 14:33:37 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Fri May 15 14:33:37 2015 +0300
----------------------------------------------------------------------
.../internal/util/future/SettableFuture.java | 94 --------------------
.../spi/discovery/tcp/TcpDiscoverySpi.java | 21 +++--
2 files changed, 12 insertions(+), 103 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2109bc0f/modules/core/src/main/java/org/apache/ignite/internal/util/future/SettableFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/future/SettableFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/util/future/SettableFuture.java
deleted file mode 100644
index 7fe094d..0000000
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/future/SettableFuture.java
+++ /dev/null
@@ -1,94 +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.util.future;
-
-import java.util.concurrent.*;
-
-/**
- * Simple implementation of {@link Future}
- */
-public class SettableFuture<T> implements Future<T> {
- /** */
- private final CountDownLatch latch = new CountDownLatch(1);
-
- /** Result of computation. */
- private T res;
-
- /** Exception threw during the computation. */
- private ExecutionException err;
-
- /** {@inheritDoc} */
- @Override public boolean cancel(boolean mayInterruptIfRunning) {
- throw new UnsupportedOperationException();
- }
-
- /** {@inheritDoc} */
- @Override public boolean isCancelled() {
- return false;
- }
-
- /** {@inheritDoc} */
- @Override public boolean isDone() {
- return latch.getCount() == 0;
- }
-
- /** {@inheritDoc} */
- @Override public T get() throws InterruptedException, ExecutionException {
- latch.await();
-
- if (err != null)
- throw err;
-
- return res;
- }
-
- /** {@inheritDoc} */
- @Override public T get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException,
- TimeoutException {
-
- if (!latch.await(timeout, unit))
- throw new TimeoutException();
-
- if (err != null)
- throw err;
-
- return res;
- }
-
- /**
- * Computation is done successful.
- *
- * @param res Result of computation.
- */
- public void set(T res) {
- this.res = res;
-
- latch.countDown();
- }
-
- /**
- * Computation failed.
- *
- * @param throwable Error.
- */
- public void setException(Throwable throwable) {
- err = new ExecutionException(throwable);
-
- latch.countDown();
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2109bc0f/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
index 7ee3e3b..fb64764 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
@@ -5327,7 +5327,7 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
private volatile ClusterMetrics metrics;
/** */
- private final AtomicReference<SettableFuture<Boolean>> pingFut = new AtomicReference<>();
+ private final AtomicReference<GridFutureAdapter<Boolean>> pingFut = new AtomicReference<>();
/**
* @param sock Socket.
@@ -5403,10 +5403,10 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
*
*/
public void pingResult(boolean res) {
- SettableFuture<Boolean> fut = pingFut.getAndSet(null);
+ GridFutureAdapter<Boolean> fut = pingFut.getAndSet(null);
if (fut != null)
- fut.set(res);
+ fut.onDone(res);
}
/**
@@ -5416,7 +5416,7 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
if (isNodeStopping())
return false;
- SettableFuture<Boolean> fut;
+ GridFutureAdapter<Boolean> fut;
while (true) {
fut = pingFut.get();
@@ -5424,7 +5424,7 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
if (fut != null)
break;
- fut = new SettableFuture<>();
+ fut = new GridFutureAdapter<>();
if (pingFut.compareAndSet(null, fut)) {
TcpDiscoveryPingRequest pingReq = new TcpDiscoveryPingRequest(getLocalNodeId(), nodeId);
@@ -5440,15 +5440,18 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
try {
return fut.get(ackTimeout, TimeUnit.MILLISECONDS);
}
- catch (ExecutionException e) {
- throw new IgniteSpiException("Internal error: ping future cannot be done with exception", e);
+ catch (IgniteInterruptedCheckedException ignored) {
+ throw new InterruptedException();
}
- catch (TimeoutException ignored) {
+ catch (IgniteFutureTimeoutCheckedException ignored) {
if (pingFut.compareAndSet(fut, null))
- fut.set(false);
+ fut.onDone(false);
return false;
}
+ catch (IgniteCheckedException e) {
+ throw new IgniteSpiException("Internal error: ping future cannot be done with exception", e);
+ }
}
/** {@inheritDoc} */
[43/47] incubator-ignite git commit: # IGNITE-709 Add
IgniteCacheTcpClientDiscoveryTestSuite to
org.apache.ignite.testsuites.IgniteCacheTestSuite
Posted by sb...@apache.org.
# IGNITE-709 Add IgniteCacheTcpClientDiscoveryTestSuite to org.apache.ignite.testsuites.IgniteCacheTestSuite
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/e4b530b0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/e4b530b0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/e4b530b0
Branch: refs/heads/ignite-709_3
Commit: e4b530b0c50bf82e4593860cfda078743ce75783
Parents: fe07023
Author: sevdokimov <se...@gridgain.com>
Authored: Fri May 15 16:28:52 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Fri May 15 16:28:52 2015 +0300
----------------------------------------------------------------------
.../java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java | 2 ++
1 file changed, 2 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e4b530b0/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 9fd4e88..d63c33f 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
@@ -146,6 +146,8 @@ public class IgniteCacheTestSuite extends TestSuite {
suite.addTestSuite(GridCacheTxPartitionedLocalStoreSelfTest.class);
suite.addTestSuite(IgniteCacheSystemTransactionsSelfTest.class);
+ suite.addTest(IgniteCacheTcpClientDiscoveryTestSuite.suite());
+
// Heuristic exception handling. TODO IGNITE-257
// suite.addTestSuite(GridCacheColocatedTxExceptionSelfTest.class);
// suite.addTestSuite(GridCacheReplicatedTxExceptionSelfTest.class);
[15/47] incubator-ignite git commit: # IGNITE-831 Create
DiscoverySpiCustomMessage.
Posted by sb...@apache.org.
# IGNITE-831 Create DiscoverySpiCustomMessage.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/5ffaa4cb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/5ffaa4cb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/5ffaa4cb
Branch: refs/heads/ignite-709_3
Commit: 5ffaa4cb6f35ead8fc94c563d52e98cc5241acbc
Parents: 657afd0
Author: sevdokimov <se...@gridgain.com>
Authored: Wed May 6 14:27:14 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Wed May 6 14:43:16 2015 +0300
----------------------------------------------------------------------
.../discovery/CustomMessageWrapper.java | 61 ++++++++++++++++++++
.../discovery/GridDiscoveryManager.java | 18 +++---
.../ignite/spi/discovery/DiscoverySpi.java | 5 +-
.../discovery/DiscoverySpiCustomMessage.java | 39 +++++++++++++
.../discovery/tcp/TcpClientDiscoverySpi.java | 3 +-
.../spi/discovery/tcp/TcpDiscoverySpi.java | 17 +++---
6 files changed, 121 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5ffaa4cb/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomMessageWrapper.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomMessageWrapper.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomMessageWrapper.java
new file mode 100644
index 0000000..f394fe1
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomMessageWrapper.java
@@ -0,0 +1,61 @@
+/*
+ * 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.managers.discovery;
+
+import org.apache.ignite.spi.discovery.*;
+import org.jetbrains.annotations.*;
+
+/**
+ *
+ */
+class CustomMessageWrapper implements DiscoverySpiCustomMessage {
+ /** */
+ private final DiscoveryCustomMessage delegate;
+
+ /**
+ * @param delegate Delegate.
+ */
+ CustomMessageWrapper(@NotNull DiscoveryCustomMessage delegate) {
+ this.delegate = delegate;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean forwardMinorVersion() {
+ return delegate.forwardMinorVersion();
+ }
+
+ /** {@inheritDoc} */
+ @Nullable @Override public DiscoverySpiCustomMessage newMessageOnRingEnd() {
+ DiscoveryCustomMessage res = delegate.newMessageOnRingEnd();
+
+ return res == null ? null : new CustomMessageWrapper(res);
+ }
+
+ /**
+ * @return Delegate.
+ */
+ @NotNull
+ public DiscoveryCustomMessage delegate() {
+ return delegate;
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return delegate.toString();
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5ffaa4cb/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
index 3d35bee..5533fa1 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
@@ -356,7 +356,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
if (type == EVT_NODE_METRICS_UPDATED)
verChanged = false;
else if (type == DiscoveryCustomEvent.EVT_DISCOVERY_CUSTOM_EVT) {
- if (data != null && ((DiscoveryCustomMessage)data).forwardMinorVersion()) {
+ if (data != null && ((DiscoverySpiCustomMessage)data).forwardMinorVersion()) {
minorTopVer++;
verChanged = true;
@@ -381,16 +381,18 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
if (type == DiscoveryCustomEvent.EVT_DISCOVERY_CUSTOM_EVT) {
if (data != null) {
- for (Class cls = data.getClass(); cls != null; cls = cls.getSuperclass()) {
+ DiscoveryCustomMessage customMsg = ((CustomMessageWrapper)data).delegate();
+
+ for (Class cls = customMsg.getClass(); cls != null; cls = cls.getSuperclass()) {
List<CustomEventListener<DiscoveryCustomMessage>> list = customEvtLsnrs.get(cls);
if (list != null) {
for (CustomEventListener<DiscoveryCustomMessage> lsnr : list) {
try {
- lsnr.onCustomEvent(node, (DiscoveryCustomMessage)data);
+ lsnr.onCustomEvent(node, customMsg);
}
catch (Exception e) {
- U.error(log, "Failed to notify direct custom event listener: " + data, e);
+ U.error(log, "Failed to notify direct custom event listener: " + customMsg, e);
}
}
}
@@ -1407,10 +1409,10 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
}
/**
- * @param evt Event.
+ * @param msg Custom message.
*/
- public void sendCustomEvent(DiscoveryCustomMessage evt) {
- getSpi().sendCustomEvent(evt);
+ public void sendCustomEvent(DiscoveryCustomMessage msg) {
+ getSpi().sendCustomEvent(new CustomMessageWrapper(msg));
}
/**
@@ -1634,7 +1636,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
Collection<ClusterNode> topSnapshot,
@Nullable Serializable data
) {
- assert node != null;
+ assert node != null : data;
evts.add(F.t(type, topVer, node, topSnapshot, data));
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5ffaa4cb/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpi.java
index 84a5f41..7836e0f 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpi.java
@@ -19,7 +19,6 @@ package org.apache.ignite.spi.discovery;
import org.apache.ignite.*;
import org.apache.ignite.cluster.*;
-import org.apache.ignite.internal.managers.discovery.*;
import org.apache.ignite.lang.*;
import org.apache.ignite.spi.*;
import org.jetbrains.annotations.*;
@@ -142,10 +141,10 @@ public interface DiscoverySpi extends IgniteSpi {
/**
* Sends custom message across the ring.
- * @param evt Event.
+ * @param msg Custom message.
* @throws IgniteException if failed to marshal evt.
*/
- public void sendCustomEvent(DiscoveryCustomMessage evt) throws IgniteException;
+ public void sendCustomEvent(DiscoverySpiCustomMessage msg) throws IgniteException;
/**
* Initiates failure of provided node.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5ffaa4cb/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpiCustomMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpiCustomMessage.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpiCustomMessage.java
new file mode 100644
index 0000000..1550613
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpiCustomMessage.java
@@ -0,0 +1,39 @@
+/*
+ * 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.discovery;
+
+import org.jetbrains.annotations.*;
+
+import java.io.*;
+
+/**
+ *
+ */
+public interface DiscoverySpiCustomMessage extends Serializable {
+ /**
+ * Whether or not minor version of topology should be increased on message receive.
+ *
+ * @return {@code true} if minor topology version should be increased.
+ */
+ public boolean forwardMinorVersion();
+
+ /**
+ * Called when message passed the ring.
+ */
+ @Nullable public DiscoverySpiCustomMessage newMessageOnRingEnd();
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5ffaa4cb/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
index dc89d6a..3e839f8 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
@@ -20,7 +20,6 @@ package org.apache.ignite.spi.discovery.tcp;
import org.apache.ignite.*;
import org.apache.ignite.cache.*;
import org.apache.ignite.cluster.*;
-import org.apache.ignite.internal.managers.discovery.*;
import org.apache.ignite.internal.util.typedef.*;
import org.apache.ignite.internal.util.typedef.internal.*;
import org.apache.ignite.lang.*;
@@ -389,7 +388,7 @@ public class TcpClientDiscoverySpi extends TcpDiscoverySpiAdapter implements Tcp
}
/** {@inheritDoc} */
- @Override public void sendCustomEvent(DiscoveryCustomMessage evt) {
+ @Override public void sendCustomEvent(DiscoverySpiCustomMessage evt) {
if (segmentation)
throw new IgniteException("Failed to send custom message: client is disconnected");
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5ffaa4cb/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
index f8236f1..6028901 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
@@ -21,10 +21,9 @@ import org.apache.ignite.*;
import org.apache.ignite.cache.*;
import org.apache.ignite.cluster.*;
import org.apache.ignite.configuration.*;
-import org.apache.ignite.events.DiscoveryEvent;
+import org.apache.ignite.events.*;
import org.apache.ignite.internal.*;
import org.apache.ignite.internal.events.*;
-import org.apache.ignite.internal.managers.discovery.*;
import org.apache.ignite.internal.processors.security.*;
import org.apache.ignite.internal.util.*;
import org.apache.ignite.internal.util.future.*;
@@ -38,11 +37,11 @@ import org.apache.ignite.resources.*;
import org.apache.ignite.spi.*;
import org.apache.ignite.spi.discovery.*;
import org.apache.ignite.spi.discovery.tcp.internal.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.jdbc.TcpDiscoveryJdbcIpFinder;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.jdbc.*;
import org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.sharedfs.TcpDiscoverySharedFsIpFinder;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.sharedfs.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
import org.apache.ignite.spi.discovery.tcp.messages.*;
import org.jetbrains.annotations.*;
import org.jsr166.*;
@@ -1249,7 +1248,7 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
}
/** {@inheritDoc} */
- @Override public void sendCustomEvent(DiscoveryCustomMessage evt) {
+ @Override public void sendCustomEvent(DiscoverySpiCustomMessage evt) {
try {
msgWorker.addMessage(new TcpDiscoveryCustomEventMessage(getLocalNodeId(), marsh.marshal(evt)));
}
@@ -4479,9 +4478,9 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
stats.onRingMessageReceived(msg);
try {
- DiscoveryCustomMessage msgObj = marsh.unmarshal(msg.messageBytes(), U.gridClassLoader());
+ DiscoverySpiCustomMessage msgObj = marsh.unmarshal(msg.messageBytes(), U.gridClassLoader());
- DiscoveryCustomMessage nextMsg = msgObj.newMessageOnRingEnd();
+ DiscoverySpiCustomMessage nextMsg = msgObj.newMessageOnRingEnd();
if (nextMsg != null)
addMessage(new TcpDiscoveryCustomEventMessage(getLocalNodeId(), marsh.marshal(nextMsg)));
[18/47] incubator-ignite git commit: review
Posted by sb...@apache.org.
review
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/a50abae3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/a50abae3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/a50abae3
Branch: refs/heads/ignite-709_3
Commit: a50abae3bc0902430218abecc9a7e2e6ad63fe6f
Parents: 359680d
Author: Yakov Zhdanov <yz...@gridgain.com>
Authored: Wed May 6 15:18:15 2015 +0300
Committer: Yakov Zhdanov <yz...@gridgain.com>
Committed: Wed May 6 15:18:15 2015 +0300
----------------------------------------------------------------------
.../internal/managers/discovery/CustomMessageWrapper.java | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a50abae3/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomMessageWrapper.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomMessageWrapper.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomMessageWrapper.java
index 9575cc7..1f02eae 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomMessageWrapper.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomMessageWrapper.java
@@ -5,9 +5,9 @@
* 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.
@@ -30,7 +30,7 @@ class CustomMessageWrapper implements DiscoverySpiCustomMessage {
/**
* @param delegate Delegate.
*/
- CustomMessageWrapper(@NotNull DiscoveryCustomMessage delegate) {
+ CustomMessageWrapper(DiscoveryCustomMessage delegate) {
this.delegate = delegate;
}
@@ -44,7 +44,6 @@ class CustomMessageWrapper implements DiscoverySpiCustomMessage {
/**
* @return Delegate.
*/
- @NotNull
public DiscoveryCustomMessage delegate() {
return delegate;
}
[39/47] incubator-ignite git commit: IGNITE-709 Rename
brokeConnection() to brakeConnection().
Posted by sb...@apache.org.
IGNITE-709 Rename brokeConnection() to brakeConnection().
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/4fd4c24d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/4fd4c24d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/4fd4c24d
Branch: refs/heads/ignite-709_3
Commit: 4fd4c24da1412b24d67271ea7307b7a3b66f2875
Parents: 2109bc0
Author: sevdokimov <se...@gridgain.com>
Authored: Fri May 15 14:34:37 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Fri May 15 14:34:37 2015 +0300
----------------------------------------------------------------------
.../apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java | 2 +-
.../ignite/spi/discovery/tcp/TcpClientDiscoverySpiSelfTest.java | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4fd4c24d/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
index 316afec..f4e1430 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
@@ -665,7 +665,7 @@ public class TcpClientDiscoverySpi extends TcpDiscoverySpiAdapter implements Tcp
/**
* FOR TEST PURPOSE ONLY!
*/
- public void brokeConnection() {
+ public void brakeConnection() {
U.closeQuiet(msgWorker.currSock);
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4fd4c24d/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpiSelfTest.java
index 64e4488..87b63c4 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpiSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpiSelfTest.java
@@ -448,7 +448,7 @@ public class TcpClientDiscoverySpiSelfTest extends GridCommonAbstractTest {
attachListeners(2, 3);
- ((TcpClientDiscoverySpi)G.ignite("client-2").configuration().getDiscoverySpi()).brokeConnection();
+ ((TcpClientDiscoverySpi)G.ignite("client-2").configuration().getDiscoverySpi()).brakeConnection();
G.ignite("client-2").message().remoteListen(null, new MessageListener()); // Send some discovery message.
@@ -1114,7 +1114,7 @@ public class TcpClientDiscoverySpiSelfTest extends GridCommonAbstractTest {
public void pauseAll() {
pauseResumeOperation(true, openSockLock, writeLock);
- brokeConnection();
+ brakeConnection();
}
/**
[36/47] incubator-ignite git commit: IGNITE-709 Rename
newMessageOnRingEnd() to ackMessage()
Posted by sb...@apache.org.
IGNITE-709 Rename newMessageOnRingEnd() to ackMessage()
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/7ee19cd5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/7ee19cd5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/7ee19cd5
Branch: refs/heads/ignite-709_3
Commit: 7ee19cd531c5b8640c38241283418cfff687d0a0
Parents: 980dd47
Author: sevdokimov <se...@gridgain.com>
Authored: Fri May 15 14:05:58 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Fri May 15 14:05:58 2015 +0300
----------------------------------------------------------------------
.../internal/managers/discovery/CustomMessageWrapper.java | 2 +-
.../apache/ignite/spi/discovery/DiscoverySpiCustomMessage.java | 5 ++++-
.../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java | 2 +-
3 files changed, 6 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7ee19cd5/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomMessageWrapper.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomMessageWrapper.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomMessageWrapper.java
index 00bfb8c..0afb6cf 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomMessageWrapper.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomMessageWrapper.java
@@ -38,7 +38,7 @@ class CustomMessageWrapper implements DiscoverySpiCustomMessage {
}
/** {@inheritDoc} */
- @Nullable @Override public DiscoverySpiCustomMessage newMessageOnRingEnd() {
+ @Nullable @Override public DiscoverySpiCustomMessage ackMessage() {
DiscoveryCustomMessage res = delegate.ackMessage();
return res == null ? null : new CustomMessageWrapper(res);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7ee19cd5/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpiCustomMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpiCustomMessage.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpiCustomMessage.java
index 8d92deb..72ba9db 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpiCustomMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpiCustomMessage.java
@@ -22,11 +22,14 @@ import org.jetbrains.annotations.*;
import java.io.*;
/**
+ * Message to send across ring.
*
+ * @see org.apache.ignite.internal.managers.discovery.GridDiscoveryManager#sendCustomEvent(
+ * org.apache.ignite.internal.managers.discovery.DiscoveryCustomMessage)
*/
public interface DiscoverySpiCustomMessage extends Serializable {
/**
* Called when message passed the ring.
*/
- @Nullable public DiscoverySpiCustomMessage newMessageOnRingEnd();
+ @Nullable public DiscoverySpiCustomMessage ackMessage();
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7ee19cd5/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
index b445b2c..7ee3e3b 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
@@ -4574,7 +4574,7 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
try {
DiscoverySpiCustomMessage msgObj = marsh.unmarshal(msg.messageBytes(), U.gridClassLoader());
- DiscoverySpiCustomMessage nextMsg = msgObj.newMessageOnRingEnd();
+ DiscoverySpiCustomMessage nextMsg = msgObj.ackMessage();
if (nextMsg != null)
addMessage(new TcpDiscoveryCustomEventMessage(getLocalNodeId(), marsh.marshal(nextMsg)));
[30/47] incubator-ignite git commit: # ignite-836 review
Posted by sb...@apache.org.
# ignite-836 review
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/778aa172
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/778aa172
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/778aa172
Branch: refs/heads/ignite-709_3
Commit: 778aa172fcdf8bbfb66206503e1387630fbb965e
Parents: 5e0bbf2
Author: Yakov Zhdanov <yz...@gridgain.com>
Authored: Fri May 15 10:13:30 2015 +0300
Committer: Yakov Zhdanov <yz...@gridgain.com>
Committed: Fri May 15 10:13:30 2015 +0300
----------------------------------------------------------------------
.../apache/ignite/internal/events/DiscoveryCustomEvent.java | 4 +---
.../internal/managers/discovery/CustomEventListener.java | 9 ++++-----
.../internal/managers/discovery/CustomMessageWrapper.java | 2 +-
.../internal/managers/discovery/DiscoveryCustomMessage.java | 6 ++++--
.../internal/processors/cache/DynamicCacheChangeBatch.java | 2 +-
.../continuous/StartRoutineAckDiscoveryMessage.java | 6 +++---
.../processors/continuous/StartRoutineDiscoveryMessage.java | 2 +-
.../continuous/StopRoutineAckDiscoveryMessage.java | 6 +++---
.../processors/continuous/StopRoutineDiscoveryMessage.java | 6 +++---
9 files changed, 21 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/778aa172/modules/core/src/main/java/org/apache/ignite/internal/events/DiscoveryCustomEvent.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/events/DiscoveryCustomEvent.java b/modules/core/src/main/java/org/apache/ignite/internal/events/DiscoveryCustomEvent.java
index ad33aae..779b54d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/events/DiscoveryCustomEvent.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/events/DiscoveryCustomEvent.java
@@ -22,15 +22,13 @@ import org.apache.ignite.internal.managers.discovery.*;
import org.apache.ignite.internal.processors.affinity.*;
import org.apache.ignite.internal.util.typedef.internal.*;
-import java.io.*;
-
/**
* Custom event.
*/
public class DiscoveryCustomEvent extends DiscoveryEvent {
/** */
private static final long serialVersionUID = 0L;
-
+
/**
* Built-in event type: custom event sent.
* <br>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/778aa172/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomEventListener.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomEventListener.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomEventListener.java
index 5c11968..2005d4e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomEventListener.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomEventListener.java
@@ -5,9 +5,9 @@
* 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.
@@ -20,12 +20,11 @@ package org.apache.ignite.internal.managers.discovery;
import org.apache.ignite.cluster.*;
/**
- *
- * @param <T>
+ * Listener interface.
*/
public interface CustomEventListener<T extends DiscoveryCustomMessage> {
/**
- * @param snd Send.
+ * @param snd Sender.
* @param msg Message.
*/
public void onCustomEvent(ClusterNode snd, T msg);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/778aa172/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomMessageWrapper.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomMessageWrapper.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomMessageWrapper.java
index 3e3d708..00bfb8c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomMessageWrapper.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomMessageWrapper.java
@@ -39,7 +39,7 @@ class CustomMessageWrapper implements DiscoverySpiCustomMessage {
/** {@inheritDoc} */
@Nullable @Override public DiscoverySpiCustomMessage newMessageOnRingEnd() {
- DiscoveryCustomMessage res = delegate.newMessageOnRingEnd();
+ DiscoveryCustomMessage res = delegate.ackMessage();
return res == null ? null : new CustomMessageWrapper(res);
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/778aa172/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryCustomMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryCustomMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryCustomMessage.java
index 49a791e..e702ee4 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryCustomMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryCustomMessage.java
@@ -33,7 +33,9 @@ public interface DiscoveryCustomMessage extends Serializable {
public boolean forwardMinorVersion();
/**
- * Called when message passed the ring.
+ * Called when custom message has been handled by all nodes.
+ *
+ * @return Ack message or {@code null} if ack is not required.
*/
- @Nullable public DiscoveryCustomMessage newMessageOnRingEnd();
+ @Nullable public DiscoveryCustomMessage ackMessage();
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/778aa172/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeBatch.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeBatch.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeBatch.java
index 330f822..744f6e8 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeBatch.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeBatch.java
@@ -80,7 +80,7 @@ public class DynamicCacheChangeBatch implements DiscoveryCustomMessage {
}
/** {@inheritDoc} */
- @Nullable @Override public DiscoveryCustomMessage newMessageOnRingEnd() {
+ @Nullable @Override public DiscoveryCustomMessage ackMessage() {
return null;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/778aa172/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineAckDiscoveryMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineAckDiscoveryMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineAckDiscoveryMessage.java
index 5ff67d8..ca9e4a0 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineAckDiscoveryMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineAckDiscoveryMessage.java
@@ -5,9 +5,9 @@
* 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.
@@ -51,7 +51,7 @@ public class StartRoutineAckDiscoveryMessage implements DiscoveryCustomMessage {
}
/** {@inheritDoc} */
- @Nullable @Override public DiscoveryCustomMessage newMessageOnRingEnd() {
+ @Nullable @Override public DiscoveryCustomMessage ackMessage() {
return null;
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/778aa172/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineDiscoveryMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineDiscoveryMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineDiscoveryMessage.java
index 4be0423..5669433 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineDiscoveryMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineDiscoveryMessage.java
@@ -84,7 +84,7 @@ public class StartRoutineDiscoveryMessage implements DiscoveryCustomMessage {
}
/** {@inheritDoc} */
- @Override public DiscoveryCustomMessage newMessageOnRingEnd() {
+ @Override public DiscoveryCustomMessage ackMessage() {
return new StartRoutineAckDiscoveryMessage(routineId, errs);
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/778aa172/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineAckDiscoveryMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineAckDiscoveryMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineAckDiscoveryMessage.java
index 13f7ef4..16507a1 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineAckDiscoveryMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineAckDiscoveryMessage.java
@@ -5,9 +5,9 @@
* 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.
@@ -45,7 +45,7 @@ public class StopRoutineAckDiscoveryMessage implements DiscoveryCustomMessage {
}
/** {@inheritDoc} */
- @Nullable @Override public DiscoveryCustomMessage newMessageOnRingEnd() {
+ @Nullable @Override public DiscoveryCustomMessage ackMessage() {
return null;
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/778aa172/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineDiscoveryMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineDiscoveryMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineDiscoveryMessage.java
index 4c663a2..00515f1 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineDiscoveryMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineDiscoveryMessage.java
@@ -5,9 +5,9 @@
* 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.
@@ -53,7 +53,7 @@ public class StopRoutineDiscoveryMessage implements DiscoveryCustomMessage {
}
/** {@inheritDoc} */
- @Nullable @Override public DiscoveryCustomMessage newMessageOnRingEnd() {
+ @Nullable @Override public DiscoveryCustomMessage ackMessage() {
return new StopRoutineAckDiscoveryMessage(routineId);
}
}
[26/47] incubator-ignite git commit: Merge ignite-705_2 to
ignite-836_2
Posted by sb...@apache.org.
Merge ignite-705_2 to ignite-836_2
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/8bc46ec2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/8bc46ec2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/8bc46ec2
Branch: refs/heads/ignite-709_3
Commit: 8bc46ec23b69766656680fc1675008e8c18e1f34
Parents: 8c105ec 98743ef
Author: sevdokimov <se...@gridgain.com>
Authored: Thu May 14 17:57:59 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Thu May 14 17:57:59 2015 +0300
----------------------------------------------------------------------
bin/ignite-schema-import.bat | 2 +-
bin/ignite-schema-import.sh | 2 +-
bin/ignite.bat | 2 +-
bin/ignite.sh | 2 +-
bin/ignitevisorcmd.bat | 2 +-
bin/ignitevisorcmd.sh | 2 +-
.../org/apache/ignite/internal/IgnitionEx.java | 2 +-
.../processors/cache/GridCacheAdapter.java | 119 +++++------
.../processors/cache/GridCacheContext.java | 7 +
.../processors/cache/GridCacheMapEntry.java | 70 +++---
.../processors/cache/GridCacheUtils.java | 14 +-
.../GridDistributedCacheAdapter.java | 210 +++++++++++-------
.../distributed/dht/GridDhtCacheAdapter.java | 16 +-
.../dht/GridDhtOffHeapCacheEntry.java | 63 ++++++
.../dht/GridDhtTransactionalCacheAdapter.java | 9 +-
.../distributed/dht/GridNoStorageCacheMap.java | 4 +-
.../dht/atomic/GridDhtAtomicCache.java | 3 +
.../atomic/GridDhtAtomicOffHeapCacheEntry.java | 63 ++++++
.../dht/colocated/GridDhtColocatedCache.java | 5 +-
.../GridDhtColocatedOffHeapCacheEntry.java | 63 ++++++
.../GridDhtPartitionsExchangeFuture.java | 9 +-
.../distributed/near/GridNearCacheAdapter.java | 3 +
.../near/GridNearOffHeapCacheEntry.java | 60 ++++++
.../cache/local/GridLocalCacheEntry.java | 18 ++
.../datastructures/DataStructuresProcessor.java | 4 +-
.../processors/resource/GridResourceField.java | 5 +-
.../processors/resource/GridResourceIoc.java | 20 +-
.../resource/GridResourceProcessor.java | 16 +-
.../ignite/internal/util/IgniteUtils.java | 3 +
.../internal/util/future/SettableFuture.java | 22 +-
.../util/lang/GridComputeJobWrapper.java | 96 ---------
.../discovery/tcp/TcpClientDiscoverySpi.java | 180 +++++++++-------
.../spi/discovery/tcp/TcpDiscoverySpi.java | 11 +-
.../discovery/tcp/TcpDiscoverySpiAdapter.java | 5 -
.../tcp/internal/TcpDiscoveryNodesRing.java | 2 +-
.../resources/META-INF/classnames.properties | 1 -
.../cache/CacheOffheapMapEntrySelfTest.java | 168 +++++++++++++++
.../cache/CacheRemoveAllSelfTest.java | 81 +++++++
.../IgniteClientDataStructuresAbstractTest.java | 211 +++++++++++++++++++
.../IgniteClientDataStructuresTest.java | 28 +++
...IgniteClientDiscoveryDataStructuresTest.java | 28 +++
.../distributed/GridCacheLockAbstractTest.java | 2 -
...achePartitionedNearDisabledLockSelfTest.java | 47 +++++
.../near/NoneRebalanceModeSelfTest.java | 67 ++++++
.../GridCacheReplicatedLockSelfTest.java | 5 +
.../GridCacheLocalIsolatedNodesSelfTest.java | 18 +-
.../tcp/TcpClientDiscoverySpiSelfTest.java | 46 +++-
.../discovery/tcp/TcpDiscoveryRestartTest.java | 199 +++++++++++++++++
.../IgniteCacheDataStructuresSelfTestSuite.java | 3 +
.../testsuites/IgniteCacheTestSuite2.java | 2 +
.../testsuites/IgniteCacheTestSuite4.java | 4 +
.../scalar/tests/ScalarCacheQueriesSpec.scala | 154 +++++++-------
.../ignite/scalar/tests/ScalarCacheSpec.scala | 23 +-
.../scalar/tests/ScalarConversionsSpec.scala | 43 ++--
.../scalar/tests/ScalarProjectionSpec.scala | 128 ++++++-----
.../scalar/tests/ScalarReturnableSpec.scala | 41 ++--
modules/visor-console/pom.xml | 2 +-
.../ignite/visor/VisorRuntimeBaseSpec.scala | 2 +-
.../visor/commands/VisorArgListSpec.scala | 60 +++---
.../commands/VisorFileNameCompleterSpec.scala | 34 +--
.../commands/ack/VisorAckCommandSpec.scala | 20 +-
.../commands/alert/VisorAlertCommandSpec.scala | 68 +++---
.../cache/VisorCacheClearCommandSpec.scala | 48 ++---
.../commands/cache/VisorCacheCommandSpec.scala | 66 +++---
.../config/VisorConfigurationCommandSpec.scala | 8 +-
.../cswap/VisorCacheSwapCommandSpec.scala | 24 +--
.../deploy/VisorDeployCommandSpec.scala | 10 +-
.../disco/VisorDiscoveryCommandSpec.scala | 46 ++--
.../events/VisorEventsCommandSpec.scala | 28 +--
.../visor/commands/gc/VisorGcCommandSpec.scala | 30 +--
.../commands/help/VisorHelpCommandSpec.scala | 57 ++---
.../commands/kill/VisorKillCommandSpec.scala | 58 ++---
.../commands/log/VisorLogCommandSpec.scala | 10 +-
.../commands/mem/VisorMemoryCommandSpec.scala | 77 ++++---
.../commands/node/VisorNodeCommandSpec.scala | 22 +-
.../commands/open/VisorOpenCommandSpec.scala | 16 +-
.../commands/ping/VisorPingCommandSpec.scala | 16 +-
.../commands/start/VisorStartCommandSpec.scala | 126 +++++------
.../commands/tasks/VisorTasksCommandSpec.scala | 112 +++++-----
.../commands/top/VisorTopologyCommandSpec.scala | 52 ++---
.../commands/vvm/VisorVvmCommandSpec.scala | 30 +--
81 files changed, 2320 insertions(+), 1115 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8bc46ec2/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
index e8b5a92,9678b87..f32a991
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
@@@ -1397,9 -1455,9 +1458,9 @@@ public class TcpClientDiscoverySpi exte
if (node != null && node.visible()) {
try {
- Serializable msgObj = marsh.unmarshal(msg.messageBytes(), U.gridClassLoader());
+ DiscoverySpiCustomMessage msgObj = marsh.unmarshal(msg.messageBytes(), U.gridClassLoader());
- notifyDiscovery(EVT_DISCOVERY_CUSTOM_EVT, topVer, node, allNodes(), msgObj);
+ notifyDiscovery(EVT_DISCOVERY_CUSTOM_EVT, topVer, node, allVisibleNodes(), msgObj);
}
catch (IgniteCheckedException e) {
U.error(log, "Failed to unmarshal discovery custom message.", e);
@@@ -1516,8 -1531,8 +1534,8 @@@
* @param node Node.
* @param top Topology snapshot.
*/
- private void notifyDiscovery(int type, long topVer, ClusterNode node, Collection<ClusterNode> top,
+ private void notifyDiscovery(int type, long topVer, ClusterNode node, NavigableSet<ClusterNode> top,
- @Nullable Serializable data) {
+ @Nullable DiscoverySpiCustomMessage data) {
DiscoverySpiListener lsnr = TcpClientDiscoverySpi.this.lsnr;
if (lsnr != null) {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8bc46ec2/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8bc46ec2/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpiSelfTest.java
----------------------------------------------------------------------
[47/47] incubator-ignite git commit: Merge remote-tracking branch
'remotes/origin/ignite-709_2' into ignite-709_3
Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/origin/ignite-709_2' into ignite-709_3
Conflicts:
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/fcaf3f51
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/fcaf3f51
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/fcaf3f51
Branch: refs/heads/ignite-709_3
Commit: fcaf3f5116a5c713b4bc07d1f8376566e7dc4eb0
Parents: 994cb14 2d90db7
Author: sboikov <sb...@gridgain.com>
Authored: Fri May 15 18:00:31 2015 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Fri May 15 18:00:31 2015 +0300
----------------------------------------------------------------------
.../internal/events/DiscoveryCustomEvent.java | 18 +-
.../managers/discovery/CustomEventListener.java | 31 +
.../discovery/CustomMessageWrapper.java | 58 ++
.../discovery/DiscoveryCustomMessage.java | 43 +
.../discovery/GridDiscoveryManager.java | 99 ++-
.../cache/DynamicCacheChangeBatch.java | 15 +-
.../GridCachePartitionExchangeManager.java | 4 +-
.../processors/cache/GridCacheProcessor.java | 9 +-
.../continuous/GridContinuousMessageType.java | 12 -
.../continuous/GridContinuousProcessor.java | 796 ++++---------------
.../processors/continuous/StartRequestData.java | 267 +++++++
.../StartRoutineAckDiscoveryMessage.java | 71 ++
.../StartRoutineDiscoveryMessage.java | 94 +++
.../StopRoutineAckDiscoveryMessage.java | 58 ++
.../continuous/StopRoutineDiscoveryMessage.java | 58 ++
.../internal/util/future/SettableFuture.java | 94 ---
.../ignite/spi/discovery/DiscoverySpi.java | 7 +-
.../discovery/DiscoverySpiCustomMessage.java | 35 +
.../spi/discovery/DiscoverySpiListener.java | 5 +-
.../discovery/tcp/TcpClientDiscoverySpi.java | 106 ++-
.../spi/discovery/tcp/TcpDiscoverySpi.java | 113 ++-
.../TcpDiscoveryCustomEventMessage.java | 9 +-
...acheTcpClientDiscoveryMultiThreadedTest.java | 9 +-
...ridCacheContinuousQueryAbstractSelfTest.java | 6 +-
.../continuous/GridEventConsumeSelfTest.java | 36 +-
...GridMessagingNoPeerClassLoadingSelfTest.java | 7 +-
.../ignite/messaging/GridMessagingSelfTest.java | 13 +-
.../discovery/AbstractDiscoverySelfTest.java | 8 +-
.../tcp/TcpClientDiscoverySpiSelfTest.java | 10 +-
.../ignite/testsuites/IgniteCacheTestSuite.java | 2 +
30 files changed, 1156 insertions(+), 937 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fcaf3f51/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fcaf3f51/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fcaf3f51/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
----------------------------------------------------------------------
[03/47] incubator-ignite git commit: # IGNITE-831 Make
StartRequestData separated class.
Posted by sb...@apache.org.
# IGNITE-831 Make StartRequestData separated class.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/94fed657
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/94fed657
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/94fed657
Branch: refs/heads/ignite-709_3
Commit: 94fed6571fefeeb58cc89282be84ea8292c36389
Parents: 94fb3c5
Author: sevdokimov <se...@jetbrains.com>
Authored: Mon May 4 23:02:14 2015 +0300
Committer: sevdokimov <se...@jetbrains.com>
Committed: Mon May 4 23:02:14 2015 +0300
----------------------------------------------------------------------
.../continuous/GridContinuousProcessor.java | 149 +----------
.../processors/continuous/StartRequestData.java | 267 +++++++++++++++++++
2 files changed, 278 insertions(+), 138 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/94fed657/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
index 0d76ad4..41f5940 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
@@ -447,14 +447,14 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
if (dep == null)
throw new IgniteDeploymentCheckedException("Failed to deploy projection predicate: " + prjPred);
- reqData.clsName = clsName;
- reqData.depInfo = new GridDeploymentInfoBean(dep);
+ reqData.className(clsName);
+ reqData.deploymentInfo(new GridDeploymentInfoBean(dep));
reqData.p2pMarshal(marsh);
}
// Handle peer deployment for other handler-specific objects.
- reqData.hnd.p2pMarshal(ctx);
+ reqData.handler().p2pMarshal(ctx);
}
}
catch (IgniteCheckedException e) {
@@ -557,8 +557,8 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
if (!nodes.isEmpty()) {
// Do not send projection predicate (nodes already filtered).
- reqData.prjPred = null;
- reqData.prjPredBytes = null;
+ reqData.projectionPredicate(null);
+ reqData.projectionPredicateBytes(null);
// Send start requests.
try {
@@ -789,16 +789,16 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
UUID routineId = req.routineId();
StartRequestData data = req.data();
- GridContinuousHandler hnd = data.hnd;
+ GridContinuousHandler hnd = data.handler();
IgniteCheckedException err = null;
try {
if (ctx.config().isPeerClassLoadingEnabled()) {
- String clsName = data.clsName;
+ String clsName = data.className();
if (clsName != null) {
- GridDeploymentInfo depInfo = data.depInfo;
+ GridDeploymentInfo depInfo = data.deploymentInfo();
GridDeployment dep = ctx.deploy().getGlobalDeployment(depInfo.deployMode(), clsName, clsName,
depInfo.userVersion(), nodeId, depInfo.classLoaderId(), depInfo.participants(), null);
@@ -822,11 +822,11 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
if (err == null) {
try {
- IgnitePredicate<ClusterNode> prjPred = data.prjPred;
+ IgnitePredicate<ClusterNode> prjPred = data.projectionPredicate();
if (prjPred == null || prjPred.apply(ctx.discovery().node(ctx.localNodeId()))) {
- registered = registerHandler(nodeId, routineId, hnd, data.bufSize, data.interval,
- data.autoUnsubscribe, false);
+ registered = registerHandler(nodeId, routineId, hnd, data.bufferSize(), data.interval(),
+ data.autoUnsubscribe(), false);
}
}
catch (IgniteCheckedException e) {
@@ -1430,133 +1430,6 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
}
/**
- * Start request data.
- */
- private static class StartRequestData implements Externalizable {
- /** */
- private static final long serialVersionUID = 0L;
-
- /** Projection predicate. */
- private IgnitePredicate<ClusterNode> prjPred;
-
- /** Serialized projection predicate. */
- private byte[] prjPredBytes;
-
- /** Deployment class name. */
- private String clsName;
-
- /** Deployment info. */
- private GridDeploymentInfo depInfo;
-
- /** Handler. */
- private GridContinuousHandler hnd;
-
- /** Buffer size. */
- private int bufSize;
-
- /** Time interval. */
- private long interval;
-
- /** Automatic unsubscribe flag. */
- private boolean autoUnsubscribe;
-
- /**
- * Required by {@link Externalizable}.
- */
- public StartRequestData() {
- // No-op.
- }
-
- /**
- * @param prjPred Serialized projection predicate.
- * @param hnd Handler.
- * @param bufSize Buffer size.
- * @param interval Time interval.
- * @param autoUnsubscribe Automatic unsubscribe flag.
- */
- StartRequestData(@Nullable IgnitePredicate<ClusterNode> prjPred, GridContinuousHandler hnd,
- int bufSize, long interval, boolean autoUnsubscribe) {
- assert hnd != null;
- assert bufSize > 0;
- assert interval >= 0;
-
- this.prjPred = prjPred;
- this.hnd = hnd;
- this.bufSize = bufSize;
- this.interval = interval;
- this.autoUnsubscribe = autoUnsubscribe;
- }
-
- /**
- * @param marsh Marshaller.
- * @throws IgniteCheckedException In case of error.
- */
- void p2pMarshal(Marshaller marsh) throws IgniteCheckedException {
- assert marsh != null;
-
- prjPredBytes = marsh.marshal(prjPred);
- }
-
- /**
- * @param marsh Marshaller.
- * @param ldr Class loader.
- * @throws IgniteCheckedException In case of error.
- */
- void p2pUnmarshal(Marshaller marsh, @Nullable ClassLoader ldr) throws IgniteCheckedException {
- assert marsh != null;
-
- assert prjPred == null;
- assert prjPredBytes != null;
-
- prjPred = marsh.unmarshal(prjPredBytes, ldr);
- }
-
- /** {@inheritDoc} */
- @Override public void writeExternal(ObjectOutput out) throws IOException {
- boolean b = prjPredBytes != null;
-
- out.writeBoolean(b);
-
- if (b) {
- U.writeByteArray(out, prjPredBytes);
- U.writeString(out, clsName);
- out.writeObject(depInfo);
- }
- else
- out.writeObject(prjPred);
-
- out.writeObject(hnd);
- out.writeInt(bufSize);
- out.writeLong(interval);
- out.writeBoolean(autoUnsubscribe);
- }
-
- /** {@inheritDoc} */
- @SuppressWarnings("unchecked")
- @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
- boolean b = in.readBoolean();
-
- if (b) {
- prjPredBytes = U.readByteArray(in);
- clsName = U.readString(in);
- depInfo = (GridDeploymentInfo)in.readObject();
- }
- else
- prjPred = (IgnitePredicate<ClusterNode>)in.readObject();
-
- hnd = (GridContinuousHandler)in.readObject();
- bufSize = in.readInt();
- interval = in.readLong();
- autoUnsubscribe = in.readBoolean();
- }
-
- /** {@inheritDoc} */
- @Override public String toString() {
- return S.toString(StartRequestData.class, this);
- }
- }
-
- /**
* Discovery data.
*/
private static class DiscoveryData implements Externalizable {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/94fed657/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRequestData.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRequestData.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRequestData.java
new file mode 100644
index 0000000..c721d44
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRequestData.java
@@ -0,0 +1,267 @@
+/*
+ * 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.continuous;
+
+import org.apache.ignite.*;
+import org.apache.ignite.cluster.*;
+import org.apache.ignite.internal.managers.deployment.*;
+import org.apache.ignite.internal.util.typedef.internal.*;
+import org.apache.ignite.lang.*;
+import org.apache.ignite.marshaller.*;
+import org.jetbrains.annotations.*;
+
+import java.io.*;
+
+/**
+ * Start request data.
+ */
+class StartRequestData implements Externalizable {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Projection predicate. */
+ private IgnitePredicate<ClusterNode> prjPred;
+
+ /** Serialized projection predicate. */
+ private byte[] prjPredBytes;
+
+ /** Deployment class name. */
+ private String clsName;
+
+ /** Deployment info. */
+ private GridDeploymentInfo depInfo;
+
+ /** Handler. */
+ private GridContinuousHandler hnd;
+
+ /** Buffer size. */
+ private int bufSize;
+
+ /** Time interval. */
+ private long interval;
+
+ /** Automatic unsubscribe flag. */
+ private boolean autoUnsubscribe;
+
+ /**
+ * Required by {@link java.io.Externalizable}.
+ */
+ public StartRequestData() {
+ // No-op.
+ }
+
+ /**
+ * @param prjPred Serialized projection predicate.
+ * @param hnd Handler.
+ * @param bufSize Buffer size.
+ * @param interval Time interval.
+ * @param autoUnsubscribe Automatic unsubscribe flag.
+ */
+ StartRequestData(@Nullable IgnitePredicate<ClusterNode> prjPred, GridContinuousHandler hnd,
+ int bufSize, long interval, boolean autoUnsubscribe) {
+ assert hnd != null;
+ assert bufSize > 0;
+ assert interval >= 0;
+
+ this.prjPred = prjPred;
+ this.hnd = hnd;
+ this.bufSize = bufSize;
+ this.interval = interval;
+ this.autoUnsubscribe = autoUnsubscribe;
+ }
+
+ /**
+ * @param marsh Marshaller.
+ * @throws org.apache.ignite.IgniteCheckedException In case of error.
+ */
+ void p2pMarshal(Marshaller marsh) throws IgniteCheckedException {
+ assert marsh != null;
+
+ prjPredBytes = marsh.marshal(prjPred);
+ }
+
+ /**
+ * @param marsh Marshaller.
+ * @param ldr Class loader.
+ * @throws org.apache.ignite.IgniteCheckedException In case of error.
+ */
+ void p2pUnmarshal(Marshaller marsh, @Nullable ClassLoader ldr) throws IgniteCheckedException {
+ assert marsh != null;
+
+ assert prjPred == null;
+ assert prjPredBytes != null;
+
+ prjPred = marsh.unmarshal(prjPredBytes, ldr);
+ }
+
+ /**
+ * @return Projection predicate.
+ */
+ public IgnitePredicate<ClusterNode> projectionPredicate() {
+ return prjPred;
+ }
+
+ /**
+ * @param prjPred New projection predicate.
+ */
+ public void projectionPredicate(IgnitePredicate<ClusterNode> prjPred) {
+ this.prjPred = prjPred;
+ }
+
+ /**
+ * @return Serialized projection predicate.
+ */
+ public byte[] projectionPredicateBytes() {
+ return prjPredBytes;
+ }
+
+ /**
+ * @param prjPredBytes New serialized projection predicate.
+ */
+ public void projectionPredicateBytes(byte[] prjPredBytes) {
+ this.prjPredBytes = prjPredBytes;
+ }
+
+ /**
+ * @return Deployment class name.
+ */
+ public String className() {
+ return clsName;
+ }
+
+ /**
+ * @param clsName New deployment class name.
+ */
+ public void className(String clsName) {
+ this.clsName = clsName;
+ }
+
+ /**
+ * @return Deployment info.
+ */
+ public GridDeploymentInfo deploymentInfo() {
+ return depInfo;
+ }
+
+ /**
+ * @param depInfo New deployment info.
+ */
+ public void deploymentInfo(GridDeploymentInfo depInfo) {
+ this.depInfo = depInfo;
+ }
+
+ /**
+ * @return Handler.
+ */
+ public GridContinuousHandler handler() {
+ return hnd;
+ }
+
+ /**
+ * @param hnd New handler.
+ */
+ public void handler(GridContinuousHandler hnd) {
+ this.hnd = hnd;
+ }
+
+ /**
+ * @return Buffer size.
+ */
+ public int bufferSize() {
+ return bufSize;
+ }
+
+ /**
+ * @param bufSize New buffer size.
+ */
+ public void bufferSize(int bufSize) {
+ this.bufSize = bufSize;
+ }
+
+ /**
+ * @return Time interval.
+ */
+ public long interval() {
+ return interval;
+ }
+
+ /**
+ * @param interval New time interval.
+ */
+ public void interval(long interval) {
+ this.interval = interval;
+ }
+
+ /**
+ * @return Automatic unsubscribe flag.
+ */
+ public boolean autoUnsubscribe() {
+ return autoUnsubscribe;
+ }
+
+ /**
+ * @param autoUnsubscribe New automatic unsubscribe flag.
+ */
+ public void autoUnsubscribe(boolean autoUnsubscribe) {
+ this.autoUnsubscribe = autoUnsubscribe;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void writeExternal(ObjectOutput out) throws IOException {
+ boolean b = prjPredBytes != null;
+
+ out.writeBoolean(b);
+
+ if (b) {
+ U.writeByteArray(out, prjPredBytes);
+ U.writeString(out, clsName);
+ out.writeObject(depInfo);
+ }
+ else
+ out.writeObject(prjPred);
+
+ out.writeObject(hnd);
+ out.writeInt(bufSize);
+ out.writeLong(interval);
+ out.writeBoolean(autoUnsubscribe);
+ }
+
+ /** {@inheritDoc} */
+ @SuppressWarnings("unchecked")
+ @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+ boolean b = in.readBoolean();
+
+ if (b) {
+ prjPredBytes = U.readByteArray(in);
+ clsName = U.readString(in);
+ depInfo = (GridDeploymentInfo)in.readObject();
+ }
+ else
+ prjPred = (IgnitePredicate<ClusterNode>)in.readObject();
+
+ hnd = (GridContinuousHandler)in.readObject();
+ bufSize = in.readInt();
+ interval = in.readLong();
+ autoUnsubscribe = in.readBoolean();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(StartRequestData.class, this);
+ }
+}
[04/47] incubator-ignite git commit: # IGNITE-831 Add
RingEndAwareCustomMessage class.
Posted by sb...@apache.org.
# IGNITE-831 Add RingEndAwareCustomMessage class.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/f382ebca
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/f382ebca
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/f382ebca
Branch: refs/heads/ignite-709_3
Commit: f382ebca278177752e00d31911b851c09d9ba482
Parents: 94fed65
Author: sevdokimov <se...@gridgain.com>
Authored: Tue May 5 14:14:47 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Tue May 5 14:14:47 2015 +0300
----------------------------------------------------------------------
.../discovery/RingEndAwareCustomMessage.java | 31 ++++++++++++++++++++
.../spi/discovery/tcp/TcpDiscoverySpi.java | 17 +++++++++++
.../TcpDiscoveryCustomEventMessage.java | 9 +++++-
3 files changed, 56 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f382ebca/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/RingEndAwareCustomMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/RingEndAwareCustomMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/RingEndAwareCustomMessage.java
new file mode 100644
index 0000000..41cee8e
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/RingEndAwareCustomMessage.java
@@ -0,0 +1,31 @@
+/*
+ * 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.managers.discovery;
+
+import org.apache.ignite.spi.*;
+import org.jetbrains.annotations.*;
+
+/**
+ *
+ */
+public interface RingEndAwareCustomMessage extends DiscoveryCustomMessage {
+ /**
+ *
+ */
+ @Nullable public DiscoveryCustomMessage newMessageOnRingEnd(IgniteSpiContext ctx);
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f382ebca/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
index eba0528..5336738 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
@@ -4466,6 +4466,21 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
if (msg.verified()) {
stats.onRingMessageReceived(msg);
+ try {
+ DiscoveryCustomMessage msgObj = marsh.unmarshal(msg.messageBytes(), U.gridClassLoader());
+
+ if (msgObj instanceof RingEndAwareCustomMessage) {
+ DiscoveryCustomMessage nextMsg = ((RingEndAwareCustomMessage)msgObj)
+ .newMessageOnRingEnd(getSpiContext());
+
+ if (nextMsg != null)
+ addMessage(new TcpDiscoveryCustomEventMessage(getLocalNodeId(), marsh.marshal(nextMsg)));
+ }
+ }
+ catch (IgniteCheckedException e) {
+ U.error(log, "Failed to unmarshal discovery custom message.", e);
+ }
+
addMessage(new TcpDiscoveryDiscardMessage(getLocalNodeId(), msg.id()));
return;
@@ -4502,6 +4517,8 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
snapshot,
hist,
msgObj);
+
+ msg.messageBytes(marsh.marshal(msgObj));
}
catch (IgniteCheckedException e) {
U.error(log, "Failed to unmarshal discovery custom message.", e);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f382ebca/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryCustomEventMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryCustomEventMessage.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryCustomEventMessage.java
index a7e0fca..372aa18 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryCustomEventMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryCustomEventMessage.java
@@ -31,7 +31,7 @@ public class TcpDiscoveryCustomEventMessage extends TcpDiscoveryAbstractMessage
private static final long serialVersionUID = 0L;
/** */
- private final byte[] msgBytes;
+ private byte[] msgBytes;
/**
* @param creatorNodeId Creator node id.
@@ -50,6 +50,13 @@ public class TcpDiscoveryCustomEventMessage extends TcpDiscoveryAbstractMessage
return msgBytes;
}
+ /**
+ * @param msgBytes New message bytes.
+ */
+ public void messageBytes(byte[] msgBytes) {
+ this.msgBytes = msgBytes;
+ }
+
/** {@inheritDoc} */
@Override public String toString() {
return S.toString(TcpDiscoveryCustomEventMessage.class, this, "super", super.toString());
[28/47] incubator-ignite git commit: IGNITE-836 Fix broken tests.
Posted by sb...@apache.org.
IGNITE-836 Fix broken tests.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/5e0bbf23
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/5e0bbf23
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/5e0bbf23
Branch: refs/heads/ignite-709_3
Commit: 5e0bbf2332cf64666e1e0aa65754e682fa442cc9
Parents: fce94eb
Author: sevdokimov <se...@gridgain.com>
Authored: Thu May 14 21:16:53 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Thu May 14 21:16:53 2015 +0300
----------------------------------------------------------------------
.../spi/discovery/tcp/TcpClientDiscoverySpi.java | 16 ++++++++++++++++
.../tcp/TcpClientDiscoverySpiSelfTest.java | 2 ++
2 files changed, 18 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5e0bbf23/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
index 7abdd4e..9c59bd4 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
@@ -670,6 +670,22 @@ public class TcpClientDiscoverySpi extends TcpDiscoverySpiAdapter implements Tcp
}
/**
+ * FOR TEST PURPOSE ONLY!
+ */
+ public void waitForMessagePrecessed() {
+ Object last = msgWorker.queue.peekLast();
+
+ while (last != null && msgWorker.queue.contains(last)) {
+ try {
+ Thread.sleep(10);
+ }
+ catch (InterruptedException ignored) {
+ Thread.currentThread().interrupt();
+ }
+ }
+ }
+
+ /**
* Heartbeat sender.
*/
private class HeartbeatSender extends TimerTask {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5e0bbf23/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpiSelfTest.java
index 475ccb6..64e4488 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpiSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpiSelfTest.java
@@ -986,6 +986,8 @@ public class TcpClientDiscoverySpiSelfTest extends GridCommonAbstractTest {
for (int i = 0; i < clientCnt; i++) {
Ignite g = G.ignite("client-" + i);
+ ((TcpClientDiscoverySpi)g.configuration().getDiscoverySpi()).waitForMessagePrecessed();
+
assertTrue(clientNodeIds.contains(g.cluster().localNode().id()));
assertTrue(g.cluster().localNode().isClient());
[45/47] incubator-ignite git commit: # IGNITE-709 Fix
GridCacheTcpClientDiscoveryMultiThreadedTest
Posted by sb...@apache.org.
# IGNITE-709 Fix GridCacheTcpClientDiscoveryMultiThreadedTest
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/2d90db78
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/2d90db78
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/2d90db78
Branch: refs/heads/ignite-709_3
Commit: 2d90db782ff0464761f9271d862434097ad158a6
Parents: 8fcc700
Author: sevdokimov <se...@gridgain.com>
Authored: Fri May 15 16:43:00 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Fri May 15 16:43:00 2015 +0300
----------------------------------------------------------------------
.../cache/GridCacheTcpClientDiscoveryMultiThreadedTest.java | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2d90db78/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTcpClientDiscoveryMultiThreadedTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTcpClientDiscoveryMultiThreadedTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTcpClientDiscoveryMultiThreadedTest.java
index 0554a10..9250361 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTcpClientDiscoveryMultiThreadedTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTcpClientDiscoveryMultiThreadedTest.java
@@ -104,14 +104,14 @@ public class GridCacheTcpClientDiscoveryMultiThreadedTest extends GridCacheAbstr
* @throws Exception If failed.
*/
public void testCacheConcurrentlyWithMultipleClientNodes() throws Exception {
- srvNodesCnt = 3;
- clientNodesCnt = 4;
+ srvNodesCnt = 2;
+ clientNodesCnt = 3;
startServerNodes();
client = true;
- for (int n = 0; n < 3; n++) {
+ for (int n = 0; n < 2; n++) {
startGridsMultiThreaded(srvNodesCnt, clientNodesCnt);
checkTopology(gridCount());
[33/47] incubator-ignite git commit: IGNITE-836 Fix
GridMessagingNoPeerClassLoadingSelfTest.
Posted by sb...@apache.org.
IGNITE-836 Fix GridMessagingNoPeerClassLoadingSelfTest.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/784c088e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/784c088e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/784c088e
Branch: refs/heads/ignite-709_3
Commit: 784c088ec9a3c4fdfde30637e374018ea883e2b9
Parents: 668746f
Author: sevdokimov <se...@gridgain.com>
Authored: Fri May 15 13:37:34 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Fri May 15 13:37:34 2015 +0300
----------------------------------------------------------------------
.../GridMessagingNoPeerClassLoadingSelfTest.java | 7 +++++--
.../apache/ignite/messaging/GridMessagingSelfTest.java | 13 ++++++++-----
2 files changed, 13 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/784c088e/modules/core/src/test/java/org/apache/ignite/messaging/GridMessagingNoPeerClassLoadingSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/messaging/GridMessagingNoPeerClassLoadingSelfTest.java b/modules/core/src/test/java/org/apache/ignite/messaging/GridMessagingNoPeerClassLoadingSelfTest.java
index 610ce64..37d2ec7 100644
--- a/modules/core/src/test/java/org/apache/ignite/messaging/GridMessagingNoPeerClassLoadingSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/messaging/GridMessagingNoPeerClassLoadingSelfTest.java
@@ -31,6 +31,9 @@ import java.util.concurrent.atomic.*;
* peer class loading.
*/
public class GridMessagingNoPeerClassLoadingSelfTest extends GridMessagingSelfTest {
+ /** */
+ private static CountDownLatch rcvLatch;
+
/** {@inheritDoc} */
@Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
IgniteConfiguration cfg = super.getConfiguration(gridName);
@@ -56,9 +59,9 @@ public class GridMessagingNoPeerClassLoadingSelfTest extends GridMessagingSelfTe
final AtomicBoolean error = new AtomicBoolean(false); //to make it modifiable
- final CountDownLatch rcvLatch = new CountDownLatch(1);
+ rcvLatch = new CountDownLatch(1);
- ignite2.message().remoteListen("", new P2<UUID, Object>() {
+ ignite2.message().remoteListen(null, new P2<UUID, Object>() {
@Override public boolean apply(UUID nodeId, Object msg) {
try {
log.info("Received new message [msg=" + msg + ", senderNodeId=" + nodeId + ']');
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/784c088e/modules/core/src/test/java/org/apache/ignite/messaging/GridMessagingSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/messaging/GridMessagingSelfTest.java b/modules/core/src/test/java/org/apache/ignite/messaging/GridMessagingSelfTest.java
index c033750..b7838be 100644
--- a/modules/core/src/test/java/org/apache/ignite/messaging/GridMessagingSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/messaging/GridMessagingSelfTest.java
@@ -45,7 +45,7 @@ import static org.apache.ignite.testframework.GridTestUtils.*;
/**
* Various tests for Messaging public API.
*/
-public class GridMessagingSelfTest extends GridCommonAbstractTest {
+public class GridMessagingSelfTest extends GridCommonAbstractTest implements Serializable {
/** */
private static final String MSG_1 = "MSG-1";
@@ -74,7 +74,10 @@ public class GridMessagingSelfTest extends GridCommonAbstractTest {
public static final String EXT_RESOURCE_CLS_NAME = "org.apache.ignite.tests.p2p.TestUserResource";
/** Shared IP finder. */
- private final TcpDiscoveryIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true);
+ private final transient TcpDiscoveryIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true);
+
+ /** */
+ protected static CountDownLatch rcvLatch;
/**
* A test message topic.
@@ -609,7 +612,7 @@ public class GridMessagingSelfTest extends GridCommonAbstractTest {
public void testRemoteListen() throws Exception {
final Collection<Object> rcvMsgs = new GridConcurrentHashSet<>();
- final CountDownLatch rcvLatch = new CountDownLatch(4);
+ rcvLatch = new CountDownLatch(4);
ignite2.message().remoteListen(null, new P2<UUID, Object>() {
@Override public boolean apply(UUID nodeId, Object msg) {
@@ -746,7 +749,7 @@ public class GridMessagingSelfTest extends GridCommonAbstractTest {
final AtomicBoolean error = new AtomicBoolean(false); //to make it modifiable
- final CountDownLatch rcvLatch = new CountDownLatch(3);
+ rcvLatch = new CountDownLatch(3);
ignite2.message().remoteListen(S_TOPIC_1, new P2<UUID, Object>() {
@Override public boolean apply(UUID nodeId, Object msg) {
@@ -795,7 +798,7 @@ public class GridMessagingSelfTest extends GridCommonAbstractTest {
final AtomicBoolean error = new AtomicBoolean(false); //to make it modifiable
- final CountDownLatch rcvLatch = new CountDownLatch(3);
+ rcvLatch = new CountDownLatch(3);
ignite2.message().remoteListen(I_TOPIC_1, new P2<UUID, Object>() {
@IgniteInstanceResource
[17/47] incubator-ignite git commit: # IGNITE-831 Create
DiscoverySpiCustomMessage.
Posted by sb...@apache.org.
# IGNITE-831 Create DiscoverySpiCustomMessage.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/359680db
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/359680db
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/359680db
Branch: refs/heads/ignite-709_3
Commit: 359680dbd918f7459dc8dda7e6084a05a5ee7b42
Parents: d0dac7d
Author: sevdokimov <se...@gridgain.com>
Authored: Wed May 6 15:09:40 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Wed May 6 15:09:40 2015 +0300
----------------------------------------------------------------------
.../internal/events/DiscoveryCustomEvent.java | 14 ++++++------
.../discovery/CustomMessageWrapper.java | 5 ----
.../discovery/GridDiscoveryManager.java | 24 +++++++++++---------
.../GridCachePartitionExchangeManager.java | 4 ++--
.../discovery/DiscoverySpiCustomMessage.java | 7 ------
.../spi/discovery/DiscoverySpiListener.java | 5 ++--
.../discovery/tcp/TcpClientDiscoverySpi.java | 4 ++--
.../spi/discovery/tcp/TcpDiscoverySpi.java | 2 +-
.../discovery/AbstractDiscoverySelfTest.java | 8 ++++---
9 files changed, 32 insertions(+), 41 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/359680db/modules/core/src/main/java/org/apache/ignite/internal/events/DiscoveryCustomEvent.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/events/DiscoveryCustomEvent.java b/modules/core/src/main/java/org/apache/ignite/internal/events/DiscoveryCustomEvent.java
index ee32692..ad33aae 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/events/DiscoveryCustomEvent.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/events/DiscoveryCustomEvent.java
@@ -34,7 +34,7 @@ public class DiscoveryCustomEvent extends DiscoveryEvent {
/**
* Built-in event type: custom event sent.
* <br>
- * Generated when someone invoke {@link GridDiscoveryManager#sendCustomEvent(Serializable)}.
+ * Generated when someone invoke {@link GridDiscoveryManager#sendCustomEvent(DiscoveryCustomMessage)}.
* <p>
*
* @see DiscoveryCustomEvent
@@ -42,7 +42,7 @@ public class DiscoveryCustomEvent extends DiscoveryEvent {
public static final int EVT_DISCOVERY_CUSTOM_EVT = 18;
/** */
- private Serializable data;
+ private DiscoveryCustomMessage customMsg;
/** Affinity topology version. */
private AffinityTopologyVersion affTopVer;
@@ -57,15 +57,15 @@ public class DiscoveryCustomEvent extends DiscoveryEvent {
/**
* @return Data.
*/
- public Serializable data() {
- return data;
+ public DiscoveryCustomMessage customMessage() {
+ return customMsg;
}
/**
- * @param data New data.
+ * @param customMsg New customMessage.
*/
- public void data(Serializable data) {
- this.data = data;
+ public void customMessage(DiscoveryCustomMessage customMsg) {
+ this.customMsg = customMsg;
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/359680db/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomMessageWrapper.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomMessageWrapper.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomMessageWrapper.java
index f394fe1..9575cc7 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomMessageWrapper.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/CustomMessageWrapper.java
@@ -35,11 +35,6 @@ class CustomMessageWrapper implements DiscoverySpiCustomMessage {
}
/** {@inheritDoc} */
- @Override public boolean forwardMinorVersion() {
- return delegate.forwardMinorVersion();
- }
-
- /** {@inheritDoc} */
@Nullable @Override public DiscoverySpiCustomMessage newMessageOnRingEnd() {
DiscoveryCustomMessage res = delegate.newMessageOnRingEnd();
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/359680db/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
index 5533fa1..c5698a8 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
@@ -344,8 +344,11 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
ClusterNode node,
Collection<ClusterNode> topSnapshot,
Map<Long, Collection<ClusterNode>> snapshots,
- @Nullable Serializable data
+ @Nullable DiscoverySpiCustomMessage spiCustomMsg
) {
+ DiscoveryCustomMessage customMsg = spiCustomMsg == null ? null
+ : ((CustomMessageWrapper)spiCustomMsg).delegate();
+
final ClusterNode locNode = localNode();
if (snapshots != null)
@@ -356,7 +359,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
if (type == EVT_NODE_METRICS_UPDATED)
verChanged = false;
else if (type == DiscoveryCustomEvent.EVT_DISCOVERY_CUSTOM_EVT) {
- if (data != null && ((DiscoverySpiCustomMessage)data).forwardMinorVersion()) {
+ if (customMsg != null && customMsg.forwardMinorVersion()) {
minorTopVer++;
verChanged = true;
@@ -380,9 +383,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
}
if (type == DiscoveryCustomEvent.EVT_DISCOVERY_CUSTOM_EVT) {
- if (data != null) {
- DiscoveryCustomMessage customMsg = ((CustomMessageWrapper)data).delegate();
-
+ if (customMsg != null) {
for (Class cls = customMsg.getClass(); cls != null; cls = cls.getSuperclass()) {
List<CustomEventListener<DiscoveryCustomMessage>> list = customEvtLsnrs.get(cls);
@@ -435,7 +436,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
return;
}
- discoWrk.addEvent(type, nextTopVer, node, topSnapshot, data);
+ discoWrk.addEvent(type, nextTopVer, node, topSnapshot, customMsg);
}
});
@@ -1567,8 +1568,8 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
/** Worker for discovery events. */
private class DiscoveryWorker extends GridWorker {
/** Event queue. */
- private final BlockingQueue<GridTuple5<Integer, AffinityTopologyVersion, ClusterNode, Collection<ClusterNode>, Serializable>> evts =
- new LinkedBlockingQueue<>();
+ private final BlockingQueue<GridTuple5<Integer, AffinityTopologyVersion, ClusterNode, Collection<ClusterNode>,
+ DiscoveryCustomMessage>> evts = new LinkedBlockingQueue<>();
/** Node segmented event fired flag. */
private boolean nodeSegFired;
@@ -1634,7 +1635,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
AffinityTopologyVersion topVer,
ClusterNode node,
Collection<ClusterNode> topSnapshot,
- @Nullable Serializable data
+ @Nullable DiscoveryCustomMessage data
) {
assert node != null : data;
@@ -1675,7 +1676,8 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
/** @throws InterruptedException If interrupted. */
@SuppressWarnings("DuplicateCondition")
private void body0() throws InterruptedException {
- GridTuple5<Integer, AffinityTopologyVersion, ClusterNode, Collection<ClusterNode>, Serializable> evt = evts.take();
+ GridTuple5<Integer, AffinityTopologyVersion, ClusterNode, Collection<ClusterNode>,
+ DiscoveryCustomMessage> evt = evts.take();
int type = evt.get1();
@@ -1793,7 +1795,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
customEvt.type(type);
customEvt.topologySnapshot(topVer.topologyVersion(), null);
customEvt.affinityTopologyVersion(topVer);
- customEvt.data(evt.get5());
+ customEvt.customMessage(evt.get5());
ctx.event().record(customEvt);
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/359680db/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 5f82ae2..c7aa322 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
@@ -150,8 +150,8 @@ public class GridCachePartitionExchangeManager<K, V> extends GridCacheSharedMana
else {
DiscoveryCustomEvent customEvt = (DiscoveryCustomEvent)e;
- if (customEvt.data() instanceof DynamicCacheChangeBatch) {
- DynamicCacheChangeBatch batch = (DynamicCacheChangeBatch)customEvt.data();
+ if (customEvt.customMessage() instanceof DynamicCacheChangeBatch) {
+ DynamicCacheChangeBatch batch = (DynamicCacheChangeBatch)customEvt.customMessage();
Collection<DynamicCacheChangeRequest> valid = new ArrayList<>(batch.requests().size());
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/359680db/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpiCustomMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpiCustomMessage.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpiCustomMessage.java
index 1550613..8d92deb 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpiCustomMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpiCustomMessage.java
@@ -26,13 +26,6 @@ import java.io.*;
*/
public interface DiscoverySpiCustomMessage extends Serializable {
/**
- * Whether or not minor version of topology should be increased on message receive.
- *
- * @return {@code true} if minor topology version should be increased.
- */
- public boolean forwardMinorVersion();
-
- /**
* Called when message passed the ring.
*/
@Nullable public DiscoverySpiCustomMessage newMessageOnRingEnd();
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/359680db/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpiListener.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpiListener.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpiListener.java
index 7f17fe4..f46869d 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpiListener.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpiListener.java
@@ -18,10 +18,9 @@
package org.apache.ignite.spi.discovery;
import org.apache.ignite.cluster.*;
-import org.apache.ignite.events.DiscoveryEvent;
+import org.apache.ignite.events.*;
import org.jetbrains.annotations.*;
-import java.io.*;
import java.util.*;
/**
@@ -47,5 +46,5 @@ public interface DiscoverySpiListener {
ClusterNode node,
Collection<ClusterNode> topSnapshot,
@Nullable Map<Long, Collection<ClusterNode>> topHist,
- @Nullable Serializable data);
+ @Nullable DiscoverySpiCustomMessage data);
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/359680db/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
index 3e839f8..5ce7437 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
@@ -1332,7 +1332,7 @@ public class TcpClientDiscoverySpi extends TcpDiscoverySpiAdapter implements Tcp
if (node != null && node.visible()) {
try {
- Serializable msgObj = marsh.unmarshal(msg.messageBytes(), U.gridClassLoader());
+ DiscoverySpiCustomMessage msgObj = marsh.unmarshal(msg.messageBytes(), U.gridClassLoader());
notifyDiscovery(EVT_DISCOVERY_CUSTOM_EVT, topVer, node, allNodes(), msgObj);
}
@@ -1433,7 +1433,7 @@ public class TcpClientDiscoverySpi extends TcpDiscoverySpiAdapter implements Tcp
* @param top Topology snapshot.
*/
private void notifyDiscovery(int type, long topVer, ClusterNode node, Collection<ClusterNode> top,
- @Nullable Serializable data) {
+ @Nullable DiscoverySpiCustomMessage data) {
DiscoverySpiListener lsnr = TcpClientDiscoverySpi.this.lsnr;
if (lsnr != null) {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/359680db/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
index 8051172..40dca05 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
@@ -4524,7 +4524,7 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
if (node != null) {
try {
- Serializable msgObj = marsh.unmarshal(msg.messageBytes(), U.gridClassLoader());
+ DiscoverySpiCustomMessage msgObj = marsh.unmarshal(msg.messageBytes(), U.gridClassLoader());
lsnr.onDiscovery(DiscoveryCustomEvent.EVT_DISCOVERY_CUSTOM_EVT,
msg.topologyVersion(),
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/359680db/modules/core/src/test/java/org/apache/ignite/spi/discovery/AbstractDiscoverySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/AbstractDiscoverySelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/AbstractDiscoverySelfTest.java
index 3c61f00..9c6fbb4 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/AbstractDiscoverySelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/AbstractDiscoverySelfTest.java
@@ -25,6 +25,7 @@ import org.apache.ignite.spi.*;
import org.apache.ignite.testframework.config.*;
import org.apache.ignite.testframework.junits.*;
import org.apache.ignite.testframework.junits.spi.*;
+import org.jetbrains.annotations.*;
import javax.management.*;
import java.io.*;
@@ -132,7 +133,7 @@ public abstract class AbstractDiscoverySelfTest<T extends IgniteSpi> extends Gri
/** {@inheritDoc} */
@Override public void onDiscovery(int type, long topVer, ClusterNode node, Collection<ClusterNode> topSnapshot,
- Map<Long, Collection<ClusterNode>> topHist, Serializable data) {
+ Map<Long, Collection<ClusterNode>> topHist, @Nullable DiscoverySpiCustomMessage data) {
if (type == EVT_NODE_METRICS_UPDATED)
isMetricsUpdate = true;
}
@@ -205,7 +206,7 @@ public abstract class AbstractDiscoverySelfTest<T extends IgniteSpi> extends Gri
DiscoverySpiListener locHeartbeatLsnr = new DiscoverySpiListener() {
@Override public void onDiscovery(int type, long topVer, ClusterNode node,
Collection<ClusterNode> topSnapshot, Map<Long, Collection<ClusterNode>> topHist,
- Serializable data) {
+ @Nullable DiscoverySpiCustomMessage data) {
// If METRICS_UPDATED came from local node
if (type == EVT_NODE_METRICS_UPDATED
&& node.id().equals(spi.getLocalNode().id()))
@@ -369,7 +370,8 @@ public abstract class AbstractDiscoverySelfTest<T extends IgniteSpi> extends Gri
spi.setListener(new DiscoverySpiListener() {
@SuppressWarnings({"NakedNotify"})
@Override public void onDiscovery(int type, long topVer, ClusterNode node,
- Collection<ClusterNode> topSnapshot, Map<Long, Collection<ClusterNode>> topHist, Serializable data) {
+ Collection<ClusterNode> topSnapshot, Map<Long, Collection<ClusterNode>> topHist,
+ @Nullable DiscoverySpiCustomMessage data) {
info("Discovery event [type=" + type + ", node=" + node + ']');
synchronized (mux) {
[42/47] incubator-ignite git commit: # IGNITE-709 Remove incorrect
test
Posted by sb...@apache.org.
# IGNITE-709 Remove incorrect test
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/fe070234
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/fe070234
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/fe070234
Branch: refs/heads/ignite-709_3
Commit: fe070234d052961f7540a62b94b9d03309607ca3
Parents: 6762cf9
Author: sevdokimov <se...@gridgain.com>
Authored: Fri May 15 16:05:56 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Fri May 15 16:05:56 2015 +0300
----------------------------------------------------------------------
.../continuous/GridEventConsumeSelfTest.java | 22 --------------------
1 file changed, 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fe070234/modules/core/src/test/java/org/apache/ignite/internal/processors/continuous/GridEventConsumeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/continuous/GridEventConsumeSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/continuous/GridEventConsumeSelfTest.java
index 9ff99c4..bca784b 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/continuous/GridEventConsumeSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/continuous/GridEventConsumeSelfTest.java
@@ -509,28 +509,6 @@ public class GridEventConsumeSelfTest extends GridCommonAbstractTest implements
/**
* @throws Exception If failed.
*/
- public void testEmptyProjection() throws Exception {
- try {
- events(grid(0).cluster().forPredicate(F.<ClusterNode>alwaysFalse())).remoteListen(
- new P2<UUID, Event>() {
- @Override public boolean apply(UUID nodeId, Event evt) {
- return true;
- }
- },
- null
- );
-
- assert false : "Exception was not thrown.";
- }
- catch (IgniteException e) {
- assertTrue(e.getMessage().startsWith(
- "Failed to register remote continuous listener (projection is empty)."));
- }
- }
-
- /**
- * @throws Exception If failed.
- */
public void testStopByCallback() throws Exception {
final Collection<UUID> nodeIds = new HashSet<>();
final AtomicInteger cnt = new AtomicInteger();
[09/47] incubator-ignite git commit: # IGNITE-831 Support listeners
from clients.
Posted by sb...@apache.org.
# IGNITE-831 Support listeners from clients.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/37c60075
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/37c60075
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/37c60075
Branch: refs/heads/ignite-709_3
Commit: 37c60075d234480b9217a6456cbfc94e380c3b3a
Parents: e028de8
Author: sevdokimov <se...@gridgain.com>
Authored: Tue May 5 19:38:29 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Tue May 5 19:38:29 2015 +0300
----------------------------------------------------------------------
.../continuous/GridContinuousProcessor.java | 109 ++++++++++++-------
1 file changed, 67 insertions(+), 42 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/37c60075/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
index d71609b..d1923d9 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
@@ -38,6 +38,7 @@ import org.apache.ignite.internal.util.worker.*;
import org.apache.ignite.lang.*;
import org.apache.ignite.marshaller.*;
import org.apache.ignite.plugin.extensions.communication.*;
+import org.apache.ignite.spi.discovery.tcp.internal.*;
import org.apache.ignite.thread.*;
import org.jetbrains.annotations.*;
import org.jsr166.*;
@@ -59,6 +60,9 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
/** Local infos. */
private final ConcurrentMap<UUID, LocalRoutineInfo> locInfos = new ConcurrentHashMap8<>();
+ /** Local infos. */
+ private final ConcurrentMap<UUID, Map<UUID, LocalRoutineInfo>> clientInfos = new ConcurrentHashMap8<>();
+
/** Remote infos. */
private final ConcurrentMap<UUID, RemoteRoutineInfo> rmtInfos = new ConcurrentHashMap8<>();
@@ -77,9 +81,6 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
/** Stopped IDs. */
private final Collection<UUID> stopped = new HashSet<>();
- /** Lock for pending requests. */
- private final Lock pendingLock = new ReentrantLock();
-
/** Lock for stop process. */
private final Lock stopLock = new ReentrantLock();
@@ -113,10 +114,11 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
@SuppressWarnings({"fallthrough", "TooBroadScope"})
@Override public void onEvent(Event evt) {
assert evt instanceof DiscoveryEvent;
+ assert evt.type() == EVT_NODE_LEFT || evt.type() == EVT_NODE_FAILED;
UUID nodeId = ((DiscoveryEvent)evt).eventNode().id();
- assert evt.type() == EVT_NODE_LEFT || evt.type() == EVT_NODE_FAILED;
+ clientInfos.remove(nodeId);
// Unregister handlers created by left node.
for (Map.Entry<UUID, RemoteRoutineInfo> e : rmtInfos.entrySet()) {
@@ -148,7 +150,7 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
new CustomEventListener<StartRoutineDiscoveryMessage>() {
@Override public void onCustomEvent(ClusterNode snd, StartRoutineDiscoveryMessage msg) {
if (!snd.id().equals(ctx.localNodeId()))
- processStartRequest(snd.id(), msg);
+ processStartRequest(snd, msg);
}
});
@@ -179,6 +181,13 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
UUID routineId = msg.routineId();
unregisterRemote(routineId);
+
+ if (((TcpDiscoveryNode)snd).clientRouterNodeId() != null) {
+ Map<UUID, LocalRoutineInfo> infoMap = clientInfos.get(snd.id());
+
+ if (infoMap != null)
+ infoMap.remove(msg.routineId());
+ }
}
}
});
@@ -251,26 +260,19 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
/** {@inheritDoc} */
@Override @Nullable public Serializable collectDiscoveryData(UUID nodeId) {
if (!nodeId.equals(ctx.localNodeId())) {
- pendingLock.lock();
-
- try {
- DiscoveryData data = new DiscoveryData(ctx.localNodeId());
+ DiscoveryData data = new DiscoveryData(ctx.localNodeId(), clientInfos);
- // Collect listeners information (will be sent to
- // joining node during discovery process).
- for (Map.Entry<UUID, LocalRoutineInfo> e : locInfos.entrySet()) {
- UUID routineId = e.getKey();
- LocalRoutineInfo info = e.getValue();
-
- data.addItem(new DiscoveryDataItem(routineId, info.prjPred,
- info.hnd, info.bufSize, info.interval));
- }
+ // Collect listeners information (will be sent to
+ // joining node during discovery process).
+ for (Map.Entry<UUID, LocalRoutineInfo> e : locInfos.entrySet()) {
+ UUID routineId = e.getKey();
+ LocalRoutineInfo info = e.getValue();
- return data;
- }
- finally {
- pendingLock.unlock();
+ data.addItem(new DiscoveryDataItem(routineId, info.prjPred,
+ info.hnd, info.bufSize, info.interval));
}
+
+ return data;
}
else
return null;
@@ -294,6 +296,18 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
}
}
}
+
+ for (Map.Entry<UUID, Map<UUID, LocalRoutineInfo>> entry : data.clientInfos.entrySet()) {
+ Map<UUID, LocalRoutineInfo> map = clientInfos.get(entry.getKey());
+
+ if (map == null) {
+ map = new HashMap<>();
+
+ clientInfos.put(entry.getKey(), map);
+ }
+
+ map.putAll(entry.getValue());
+ }
}
}
@@ -414,15 +428,8 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
});
}
- pendingLock.lock();
-
- try {
- // Register routine locally.
- locInfos.put(routineId, new LocalRoutineInfo(prjPred, hnd, bufSize, interval));
- }
- finally {
- pendingLock.unlock();
- }
+ // Register routine locally.
+ locInfos.put(routineId, new LocalRoutineInfo(prjPred, hnd, bufSize, interval));
StartFuture fut = new StartFuture(ctx, routineId);
@@ -581,13 +588,10 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
}
/**
- * @param nodeId Sender ID.
+ * @param node Sender.
* @param req Start request.
*/
- private void processStartRequest(UUID nodeId, StartRoutineDiscoveryMessage req) {
- assert nodeId != null;
- assert req != null;
-
+ private void processStartRequest(ClusterNode node, StartRoutineDiscoveryMessage req) {
UUID routineId = req.routineId();
StartRequestData data = req.startRequestData();
@@ -603,7 +607,7 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
GridDeploymentInfo depInfo = data.deploymentInfo();
GridDeployment dep = ctx.deploy().getGlobalDeployment(depInfo.deployMode(), clsName, clsName,
- depInfo.userVersion(), nodeId, depInfo.classLoaderId(), depInfo.participants(), null);
+ depInfo.userVersion(), node.id(), depInfo.classLoaderId(), depInfo.participants(), null);
if (dep == null)
throw new IgniteDeploymentCheckedException("Failed to obtain deployment for class: " + clsName);
@@ -611,13 +615,28 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
data.p2pUnmarshal(marsh, dep.classLoader());
}
- hnd.p2pUnmarshal(nodeId, ctx);
+ hnd.p2pUnmarshal(node.id(), ctx);
}
}
catch (IgniteCheckedException e) {
err = e;
- U.error(log, "Failed to register handler [nodeId=" + nodeId + ", routineId=" + routineId + ']', e);
+ U.error(log, "Failed to register handler [nodeId=" + node.id() + ", routineId=" + routineId + ']', e);
+ }
+
+ if (((TcpDiscoveryNode)node).clientRouterNodeId() != null) {
+ Map<UUID, LocalRoutineInfo> clientRouteMap = clientInfos.get(node.id());
+
+ if (clientRouteMap == null) {
+ clientRouteMap = new HashMap<>();
+
+ Map<UUID, LocalRoutineInfo> old = clientInfos.put(node.id(), clientRouteMap);
+
+ assert old == null;
+ }
+
+ clientRouteMap.put(routineId, new LocalRoutineInfo(data.projectionPredicate(), hnd, data.bufferSize(),
+ data.interval()));
}
boolean registered = false;
@@ -627,14 +646,14 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
IgnitePredicate<ClusterNode> prjPred = data.projectionPredicate();
if (prjPred == null || prjPred.apply(ctx.discovery().node(ctx.localNodeId()))) {
- registered = registerHandler(nodeId, routineId, hnd, data.bufferSize(), data.interval(),
+ registered = registerHandler(node.id(), routineId, hnd, data.bufferSize(), data.interval(),
data.autoUnsubscribe(), false);
}
}
catch (IgniteCheckedException e) {
err = e;
- U.error(log, "Failed to register handler [nodeId=" + nodeId + ", routineId=" + routineId + ']', e);
+ U.error(log, "Failed to register handler [nodeId=" + node.id() + ", routineId=" + routineId + ']', e);
}
}
@@ -1129,6 +1148,8 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
@GridToStringInclude
private Collection<DiscoveryDataItem> items;
+ private Map<UUID, Map<UUID, LocalRoutineInfo>> clientInfos;
+
/**
* Required by {@link Externalizable}.
*/
@@ -1139,11 +1160,13 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
/**
* @param nodeId Node ID.
*/
- DiscoveryData(UUID nodeId) {
+ DiscoveryData(UUID nodeId, Map<UUID, Map<UUID, LocalRoutineInfo>> clientInfos) {
assert nodeId != null;
this.nodeId = nodeId;
+ this.clientInfos = clientInfos;
+
items = new ArrayList<>();
}
@@ -1158,12 +1181,14 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
@Override public void writeExternal(ObjectOutput out) throws IOException {
U.writeUuid(out, nodeId);
U.writeCollection(out, items);
+ U.writeMap(out, clientInfos);
}
/** {@inheritDoc} */
@Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
nodeId = U.readUuid(in);
items = U.readCollection(in);
+ clientInfos = U.readMap(in);
}
/** {@inheritDoc} */
[12/47] incubator-ignite git commit: Merge branches 'ignite-836_2'
and 'ignite-sprint-5' of
https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-836_2
Posted by sb...@apache.org.
Merge branches 'ignite-836_2' and 'ignite-sprint-5' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-836_2
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/11d0d135
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/11d0d135
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/11d0d135
Branch: refs/heads/ignite-709_3
Commit: 11d0d1359b76f93f8a112cc36424d42dd0932ebe
Parents: 4e1f8b0 6f1d642
Author: Yakov Zhdanov <yz...@gridgain.com>
Authored: Wed May 6 12:31:42 2015 +0300
Committer: Yakov Zhdanov <yz...@gridgain.com>
Committed: Wed May 6 12:31:42 2015 +0300
----------------------------------------------------------------------
dev-tools/build.gradle | 15 +++++++--------
dev-tools/src/main/groovy/jiraslurp.groovy | 15 +++++++--------
2 files changed, 14 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
[08/47] incubator-ignite git commit: # IGNITE-831 Done.
Posted by sb...@apache.org.
# IGNITE-831 Done.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/e028de86
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/e028de86
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/e028de86
Branch: refs/heads/ignite-709_3
Commit: e028de86ee375ad7c96a8eeac333487258534cff
Parents: ac7597e
Author: sevdokimov <se...@gridgain.com>
Authored: Tue May 5 19:14:43 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Tue May 5 19:14:43 2015 +0300
----------------------------------------------------------------------
.../continuous/GridContinuousMessageType.java | 12 -
.../continuous/GridContinuousProcessor.java | 544 +++----------------
.../StartRoutineAckDiscoveryMessage.java | 62 +++
.../StartRoutineDiscoveryMessage.java | 89 +++
.../StopRoutineAckDiscoveryMessage.java | 49 ++
.../continuous/StopRoutineDiscoveryMessage.java | 56 ++
.../ignite/spi/discovery/DiscoverySpi.java | 4 +-
...ridCacheContinuousQueryAbstractSelfTest.java | 6 +-
.../tcp/TcpClientDiscoverySelfTest.java | 4 +-
9 files changed, 338 insertions(+), 488 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e028de86/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousMessageType.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousMessageType.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousMessageType.java
index eb33613..1b79430 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousMessageType.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousMessageType.java
@@ -23,18 +23,6 @@ import org.jetbrains.annotations.*;
* Continuous processor message types.
*/
enum GridContinuousMessageType {
- /** Consume start request. */
- MSG_START_REQ,
-
- /** Consume start acknowledgement. */
- MSG_START_ACK,
-
- /** Consume stop request. */
- MSG_STOP_REQ,
-
- /** Consume stop acknowledgement. */
- MSG_STOP_ACK,
-
/** Remote event notification. */
MSG_EVT_NOTIFICATION,
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e028de86/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
index 41f5940..d71609b 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
@@ -24,6 +24,7 @@ import org.apache.ignite.internal.*;
import org.apache.ignite.internal.cluster.*;
import org.apache.ignite.internal.managers.communication.*;
import org.apache.ignite.internal.managers.deployment.*;
+import org.apache.ignite.internal.managers.discovery.*;
import org.apache.ignite.internal.managers.eventstorage.*;
import org.apache.ignite.internal.processors.*;
import org.apache.ignite.internal.processors.cache.*;
@@ -64,21 +65,12 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
/** Start futures. */
private final ConcurrentMap<UUID, StartFuture> startFuts = new ConcurrentHashMap8<>();
- /** Start ack wait lists. */
- private final ConcurrentMap<UUID, Collection<UUID>> waitForStartAck = new ConcurrentHashMap8<>();
-
/** Stop futures. */
private final ConcurrentMap<UUID, StopFuture> stopFuts = new ConcurrentHashMap8<>();
- /** Stop ack wait lists. */
- private final ConcurrentMap<UUID, Collection<UUID>> waitForStopAck = new ConcurrentHashMap8<>();
-
/** Threads started by this processor. */
private final Collection<IgniteThread> threads = new GridConcurrentHashSet<>();
- /** Pending start requests. */
- private final Map<UUID, Collection<GridContinuousMessage>> pending = new HashMap<>();
-
/** */
private final ConcurrentMap<IgniteUuid, SyncMessageAckFuture> syncMsgFuts = new ConcurrentHashMap8<>();
@@ -91,18 +83,15 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
/** Lock for stop process. */
private final Lock stopLock = new ReentrantLock();
+ /** Marshaller. */
+ private Marshaller marsh;
+
/** Delay in milliseconds between retries. */
private long retryDelay = 1000;
/** Number of retries using to send messages. */
private int retryCnt = 3;
- /** Acknowledgement timeout. */
- private long ackTimeout;
-
- /** Marshaller. */
- private Marshaller marsh;
-
/**
* @param ctx Kernal context.
*/
@@ -117,15 +106,6 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
retryDelay = ctx.config().getNetworkSendRetryDelay();
retryCnt = ctx.config().getNetworkSendRetryCount();
- ackTimeout = ctx.config().getNetworkTimeout();
-
- if (ackTimeout < retryDelay * retryCnt) {
- U.warn(log, "Acknowledgement timeout for continuous operations is less than message send " +
- "retry delay multiplied by retries count (will increase timeout value) [ackTimeout=" +
- ackTimeout + ", retryDelay=" + retryDelay + ", retryCnt=" + retryCnt + ']');
-
- ackTimeout = retryDelay * retryCnt;
- }
marsh = ctx.config().getMarshaller();
@@ -136,111 +116,82 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
UUID nodeId = ((DiscoveryEvent)evt).eventNode().id();
- Collection<GridContinuousMessage> reqs;
+ assert evt.type() == EVT_NODE_LEFT || evt.type() == EVT_NODE_FAILED;
- pendingLock.lock();
+ // Unregister handlers created by left node.
+ for (Map.Entry<UUID, RemoteRoutineInfo> e : rmtInfos.entrySet()) {
+ UUID routineId = e.getKey();
+ RemoteRoutineInfo info = e.getValue();
- try {
- // Remove pending requests to send to joined node
- // (if node is left or failed, they are dropped).
- reqs = pending.remove(nodeId);
- }
- finally {
- pendingLock.unlock();
+ if (info.autoUnsubscribe && nodeId.equals(info.nodeId))
+ unregisterRemote(routineId);
}
- switch (evt.type()) {
- case EVT_NODE_JOINED:
- if (reqs != null) {
- UUID routineId = null;
+ for (Map.Entry<IgniteUuid, SyncMessageAckFuture> e : syncMsgFuts.entrySet()) {
+ SyncMessageAckFuture fut = e.getValue();
- // Send pending requests.
- try {
- for (GridContinuousMessage req : reqs) {
- routineId = req.routineId();
+ if (fut.nodeId().equals(nodeId)) {
+ SyncMessageAckFuture fut0 = syncMsgFuts.remove(e.getKey());
- sendWithRetries(nodeId, req, null);
- }
- }
- catch (ClusterTopologyCheckedException ignored) {
- if (log.isDebugEnabled())
- log.debug("Failed to send pending start request to node (is node alive?): " +
- nodeId);
- }
- catch (IgniteCheckedException e) {
- U.error(log, "Failed to send pending start request to node: " + nodeId, e);
+ if (fut0 != null) {
+ ClusterTopologyCheckedException err = new ClusterTopologyCheckedException(
+ "Node left grid while sending message to: " + nodeId);
- completeStartFuture(routineId);
- }
- }
-
- break;
-
- case EVT_NODE_LEFT:
- case EVT_NODE_FAILED:
- // Do not wait for start acknowledgements from left node.
- for (Map.Entry<UUID, Collection<UUID>> e : waitForStartAck.entrySet()) {
- Collection<UUID> nodeIds = e.getValue();
-
- for (Iterator<UUID> it = nodeIds.iterator(); it.hasNext();) {
- if (nodeId.equals(it.next())) {
- it.remove();
-
- break;
- }
- }
-
- if (nodeIds.isEmpty())
- completeStartFuture(e.getKey());
+ fut0.onDone(err);
}
+ }
+ }
+ }
+ }, EVT_NODE_LEFT, EVT_NODE_FAILED);
- // Do not wait for stop acknowledgements from left node.
- for (Map.Entry<UUID, Collection<UUID>> e : waitForStopAck.entrySet()) {
- Collection<UUID> nodeIds = e.getValue();
+ ctx.discovery().setCustomEventListener(StartRoutineDiscoveryMessage.class,
+ new CustomEventListener<StartRoutineDiscoveryMessage>() {
+ @Override public void onCustomEvent(ClusterNode snd, StartRoutineDiscoveryMessage msg) {
+ if (!snd.id().equals(ctx.localNodeId()))
+ processStartRequest(snd.id(), msg);
+ }
+ });
- for (Iterator<UUID> it = nodeIds.iterator(); it.hasNext();) {
- if (nodeId.equals(it.next())) {
- it.remove();
+ ctx.discovery().setCustomEventListener(StartRoutineAckDiscoveryMessage.class,
+ new CustomEventListener<StartRoutineAckDiscoveryMessage>() {
+ @Override public void onCustomEvent(ClusterNode snd, StartRoutineAckDiscoveryMessage msg) {
+ StartFuture fut = startFuts.remove(msg.routineId());
- break;
- }
- }
+ if (fut != null) {
+ if (msg.errs().isEmpty())
+ fut.onRemoteRegistered();
+ else {
+ IgniteCheckedException firstEx = F.first(msg.errs().values());
- if (nodeIds.isEmpty())
- completeStopFuture(e.getKey());
- }
-
- // Unregister handlers created by left node.
- for (Map.Entry<UUID, RemoteRoutineInfo> e : rmtInfos.entrySet()) {
- UUID routineId = e.getKey();
- RemoteRoutineInfo info = e.getValue();
+ fut.onDone(firstEx);
- if (info.autoUnsubscribe && nodeId.equals(info.nodeId))
- unregisterRemote(routineId);
+ stopRoutine(msg.routineId());
}
- for (Map.Entry<IgniteUuid, SyncMessageAckFuture> e : syncMsgFuts.entrySet()) {
- SyncMessageAckFuture fut = e.getValue();
-
- if (fut.nodeId().equals(nodeId)) {
- SyncMessageAckFuture fut0 = syncMsgFuts.remove(e.getKey());
+ }
+ }
+ });
- if (fut0 != null) {
- ClusterTopologyCheckedException err = new ClusterTopologyCheckedException(
- "Node left grid while sending message to: " + nodeId);
+ ctx.discovery().setCustomEventListener(StopRoutineDiscoveryMessage.class,
+ new CustomEventListener<StopRoutineDiscoveryMessage>() {
+ @Override public void onCustomEvent(ClusterNode snd, StopRoutineDiscoveryMessage msg) {
+ if (!snd.id().equals(ctx.localNodeId())) {
+ UUID routineId = msg.routineId();
- fut0.onDone(err);
- }
- }
- }
+ unregisterRemote(routineId);
+ }
+ }
+ });
- break;
+ ctx.discovery().setCustomEventListener(StopRoutineAckDiscoveryMessage.class,
+ new CustomEventListener<StopRoutineAckDiscoveryMessage>() {
+ @Override public void onCustomEvent(ClusterNode snd, StopRoutineAckDiscoveryMessage msg) {
+ StopFuture fut = stopFuts.remove(msg.routineId());
- default:
- assert false : "Unexpected event received: " + evt.shortDisplay();
+ if (fut != null)
+ fut.onDone();
}
- }
- }, EVT_NODE_JOINED, EVT_NODE_LEFT, EVT_NODE_FAILED);
+ });
ctx.io().addMessageListener(TOPIC_CONTINUOUS, new GridMessageListener() {
@Override public void onMessage(UUID nodeId, Object obj) {
@@ -258,26 +209,6 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
}
switch (msg.type()) {
- case MSG_START_REQ:
- processStartRequest(nodeId, msg);
-
- break;
-
- case MSG_START_ACK:
- processStartAck(nodeId, msg);
-
- break;
-
- case MSG_STOP_REQ:
- processStopRequest(nodeId, msg);
-
- break;
-
- case MSG_STOP_ACK:
- processStopAck(nodeId, msg);
-
- break;
-
case MSG_EVT_NOTIFICATION:
processNotification(nodeId, msg);
@@ -323,9 +254,6 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
pendingLock.lock();
try {
- // Create empty pending set.
- pending.put(nodeId, new HashSet<GridContinuousMessage>());
-
DiscoveryData data = new DiscoveryData(ctx.localNodeId());
// Collect listeners information (will be sent to
@@ -486,32 +414,9 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
});
}
- Collection<? extends ClusterNode> nodes;
- Collection<UUID> nodeIds;
-
pendingLock.lock();
try {
- // Nodes that participate in routine (request will be sent to these nodes directly).
- nodes = F.view(ctx.discovery().allNodes(), F.and(prjPred, F.remoteNodes(ctx.localNodeId())));
-
- // Stop with exception if projection is empty.
- if (nodes.isEmpty() && !locIncluded) {
- return new GridFinishedFuture<>(
- new ClusterTopologyCheckedException("Failed to register remote continuous listener (projection is empty)."));
- }
-
- // IDs of nodes where request will be sent.
- nodeIds = new GridConcurrentHashSet<>(F.viewReadOnly(nodes, F.node2id()));
-
- // If there are currently joining nodes, add request to their pending lists.
- // Node IDs set is updated to make sure that we wait for acknowledgement from
- // these nodes.
- for (Map.Entry<UUID, Collection<GridContinuousMessage>> e : pending.entrySet()) {
- if (nodeIds.add(e.getKey()))
- e.getValue().add(new GridContinuousMessage(MSG_START_REQ, routineId, null, reqData, false));
- }
-
// Register routine locally.
locInfos.put(routineId, new LocalRoutineInfo(prjPred, hnd, bufSize, interval));
}
@@ -521,68 +426,19 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
StartFuture fut = new StartFuture(ctx, routineId);
- if (!nodeIds.isEmpty()) {
- // Wait for acknowledgements.
- waitForStartAck.put(routineId, nodeIds);
-
- startFuts.put(routineId, fut);
-
- // Register acknowledge timeout (timeout object will be removed when
- // future is completed).
- fut.addTimeoutObject(new GridTimeoutObjectAdapter(ackTimeout) {
- @Override public void onTimeout() {
- // Stop waiting for acknowledgements.
- Collection<UUID> ids = waitForStartAck.remove(routineId);
-
- if (ids != null) {
- StartFuture f = startFuts.remove(routineId);
+ startFuts.put(routineId, fut);
- assert f != null;
-
- // If there are still nodes without acknowledgements,
- // Stop routine with exception. Continue and complete
- // future otherwise.
- if (!ids.isEmpty()) {
- f.onDone(new IgniteCheckedException("Failed to get start acknowledgement from nodes (timeout " +
- "expired): " + ids + ". Will unregister all continuous listeners."));
-
- stopRoutine(routineId);
- }
- else
- f.onRemoteRegistered();
- }
- }
- });
+ try {
+ ctx.discovery().sendCustomEvent(new StartRoutineDiscoveryMessage(routineId, reqData));
}
+ catch (IgniteException e) { // Marshaller exception may occurs if user pass unmarshallable filter.
+ startFuts.remove(routineId);
- if (!nodes.isEmpty()) {
- // Do not send projection predicate (nodes already filtered).
- reqData.projectionPredicate(null);
- reqData.projectionPredicateBytes(null);
-
- // Send start requests.
- try {
- GridContinuousMessage req = new GridContinuousMessage(MSG_START_REQ, routineId, null, reqData, false);
-
- sendWithRetries(nodes, req, null);
- }
- catch (IgniteCheckedException e) {
- startFuts.remove(routineId);
- waitForStartAck.remove(routineId);
-
- fut.onDone(e);
-
- stopRoutine(routineId);
+ locInfos.remove(routineId);
- locIncluded = false;
- }
- }
- else {
- // There are no remote nodes, but we didn't throw topology exception.
- assert locIncluded;
+ fut.onDone(e);
- // Do not wait anything from remote nodes.
- fut.onRemoteRegistered();
+ return fut;
}
// Register local handler if needed.
@@ -640,61 +496,7 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
// Unregister handler locally.
unregisterHandler(routineId, routine.hnd, true);
- pendingLock.lock();
-
- try {
- // Remove pending requests for this routine.
- for (Collection<GridContinuousMessage> msgs : pending.values()) {
- Iterator<GridContinuousMessage> it = msgs.iterator();
-
- while (it.hasNext()) {
- if (it.next().routineId().equals(routineId))
- it.remove();
- }
- }
- }
- finally {
- pendingLock.unlock();
- }
-
- // Nodes where to send stop requests.
- Collection<? extends ClusterNode> nodes = F.view(ctx.discovery().allNodes(),
- F.and(routine.prjPred, F.remoteNodes(ctx.localNodeId())));
-
- if (!nodes.isEmpty()) {
- // Wait for acknowledgements.
- waitForStopAck.put(routineId, new GridConcurrentHashSet<>(F.viewReadOnly(nodes, F.node2id())));
-
- // Register acknowledge timeout (timeout object will be removed when
- // future is completed).
- fut.addTimeoutObject(new StopTimeoutObject(ackTimeout, routineId,
- new GridContinuousMessage(MSG_STOP_REQ, routineId, null, null, false)));
-
- // Send stop requests.
- try {
- for (ClusterNode node : nodes) {
- try {
- sendWithRetries(node.id(),
- new GridContinuousMessage(MSG_STOP_REQ, routineId, null, null, false),
- null);
- }
- catch (ClusterTopologyCheckedException ignored) {
- U.warn(log, "Failed to send stop request (node left topology): " + node.id());
- }
- }
- }
- catch (IgniteCheckedException e) {
- stopFuts.remove(routineId);
- waitForStopAck.remove(routineId);
-
- fut.onDone(e);
- }
- }
- else {
- stopFuts.remove(routineId);
-
- fut.onDone();
- }
+ ctx.discovery().sendCustomEvent(new StopRoutineDiscoveryMessage(routineId));
}
return fut;
@@ -727,7 +529,7 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
assert info.interval == 0 || !sync;
if (sync) {
- SyncMessageAckFuture fut = new SyncMessageAckFuture(ctx, nodeId);
+ SyncMessageAckFuture fut = new SyncMessageAckFuture(nodeId);
IgniteUuid futId = IgniteUuid.randomUuid();
@@ -782,12 +584,12 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
* @param nodeId Sender ID.
* @param req Start request.
*/
- private void processStartRequest(UUID nodeId, GridContinuousMessage req) {
+ private void processStartRequest(UUID nodeId, StartRoutineDiscoveryMessage req) {
assert nodeId != null;
assert req != null;
UUID routineId = req.routineId();
- StartRequestData data = req.data();
+ StartRequestData data = req.startRequestData();
GridContinuousHandler hnd = data.handler();
@@ -836,100 +638,14 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
}
}
- try {
- sendWithRetries(nodeId, new GridContinuousMessage(MSG_START_ACK, routineId, null, err, false), null);
- }
- catch (ClusterTopologyCheckedException ignored) {
- if (log.isDebugEnabled())
- log.debug("Failed to send start acknowledgement to node (is node alive?): " + nodeId);
- }
- catch (IgniteCheckedException e) {
- U.error(log, "Failed to send start acknowledgement to node: " + nodeId, e);
- }
+ if (err != null)
+ req.addError(ctx.localNodeId(), err);
if (registered)
hnd.onListenerRegistered(routineId, ctx);
}
/**
- * @param nodeId Sender ID.
- * @param ack Start acknowledgement.
- */
- private void processStartAck(UUID nodeId, GridContinuousMessage ack) {
- assert nodeId != null;
- assert ack != null;
-
- UUID routineId = ack.routineId();
-
- final IgniteCheckedException err = ack.data();
-
- if (err != null) {
- if (waitForStartAck.remove(routineId) != null) {
- final StartFuture fut = startFuts.remove(routineId);
-
- if (fut != null) {
- fut.onDone(err);
-
- stopRoutine(routineId);
- }
- }
- }
-
- Collection<UUID> nodeIds = waitForStartAck.get(routineId);
-
- if (nodeIds != null) {
- nodeIds.remove(nodeId);
-
- if (nodeIds.isEmpty())
- completeStartFuture(routineId);
- }
- }
-
- /**
- * @param nodeId Sender ID.
- * @param req Stop request.
- */
- private void processStopRequest(UUID nodeId, GridContinuousMessage req) {
- assert nodeId != null;
- assert req != null;
-
- UUID routineId = req.routineId();
-
- unregisterRemote(routineId);
-
- try {
- sendWithRetries(nodeId, new GridContinuousMessage(MSG_STOP_ACK, routineId, null, null, false), null);
- }
- catch (ClusterTopologyCheckedException ignored) {
- if (log.isDebugEnabled())
- log.debug("Failed to send stop acknowledgement to node (is node alive?): " + nodeId);
- }
- catch (IgniteCheckedException e) {
- U.error(log, "Failed to send stop acknowledgement to node: " + nodeId, e);
- }
- }
-
- /**
- * @param nodeId Sender ID.
- * @param ack Stop acknowledgement.
- */
- private void processStopAck(UUID nodeId, GridContinuousMessage ack) {
- assert nodeId != null;
- assert ack != null;
-
- UUID routineId = ack.routineId();
-
- Collection<UUID> nodeIds = waitForStopAck.get(routineId);
-
- if (nodeIds != null) {
- nodeIds.remove(nodeId);
-
- if (nodeIds.isEmpty())
- completeStopFuture(routineId);
- }
- }
-
- /**
* @param msg Message.
*/
private void processMessageAck(GridContinuousMessage msg) {
@@ -972,36 +688,6 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
}
/**
- * @param routineId Consume ID.
- */
- private void completeStartFuture(UUID routineId) {
- assert routineId != null;
-
- if (waitForStartAck.remove(routineId) != null) {
- StartFuture fut = startFuts.remove(routineId);
-
- assert fut != null;
-
- fut.onRemoteRegistered();
- }
- }
-
- /**
- * @param routineId Consume ID.
- */
- private void completeStopFuture(UUID routineId) {
- assert routineId != null;
-
- if (waitForStopAck.remove(routineId) != null) {
- GridFutureAdapter <?> fut = stopFuts.remove(routineId);
-
- assert fut != null;
-
- fut.onDone();
- }
- }
-
- /**
* @param nodeId Node ID.
* @param routineId Consume ID.
* @param hnd Handler.
@@ -1589,13 +1275,6 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
private volatile GridTimeoutObject timeoutObj;
/**
- * Required by {@link Externalizable}.
- */
- public StartFuture() {
- // No-op.
- }
-
- /**
* @param ctx Kernal context.
* @param routineId Consume ID.
*/
@@ -1706,10 +1385,9 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
private UUID nodeId;
/**
- * @param ctx Kernal context.
* @param nodeId Master node ID.
*/
- SyncMessageAckFuture(GridKernalContext ctx, UUID nodeId) {
+ SyncMessageAckFuture(UUID nodeId) {
this.nodeId = nodeId;
}
@@ -1725,76 +1403,4 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
return S.toString(SyncMessageAckFuture.class, this);
}
}
-
- /**
- * Timeout object for stop process.
- */
- private class StopTimeoutObject extends GridTimeoutObjectAdapter {
- /** Timeout. */
- private final long timeout;
-
- /** Routine ID. */
- private final UUID routineId;
-
- /** Request. */
- private final GridContinuousMessage req;
-
- /**
- * @param timeout Timeout.
- * @param routineId Routine ID.
- * @param req Request.
- */
- protected StopTimeoutObject(long timeout, UUID routineId, GridContinuousMessage req) {
- super(timeout);
-
- assert routineId != null;
- assert req != null;
-
- this.timeout = timeout;
- this.routineId = routineId;
- this.req = req;
- }
-
- /** {@inheritDoc} */
- @Override public void onTimeout() {
- Collection<UUID> ids = waitForStopAck.remove(routineId);
-
- if (ids != null) {
- U.warn(log, "Failed to get stop acknowledgement from nodes (timeout expired): " + ids +
- ". Will retry.");
-
- StopFuture f = stopFuts.get(routineId);
-
- if (f != null) {
- if (!ids.isEmpty()) {
- waitForStopAck.put(routineId, ids);
-
- // Resend requests.
- for (UUID id : ids) {
- try {
- sendWithRetries(id, req, null);
- }
- catch (ClusterTopologyCheckedException ignored) {
- if (log.isDebugEnabled())
- log.debug("Failed to resend stop request to node (is node alive?): " + id);
- }
- catch (IgniteCheckedException e) {
- U.error(log, "Failed to resend stop request to node: " + id, e);
-
- ids.remove(id);
-
- if (ids.isEmpty())
- f.onDone(e);
- }
- }
-
- // Reschedule timeout.
- ctx.timeout().addTimeoutObject(new StopTimeoutObject(timeout, routineId, req));
- }
- else if (stopFuts.remove(routineId) != null)
- f.onDone();
- }
- }
- }
- }
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e028de86/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineAckDiscoveryMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineAckDiscoveryMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineAckDiscoveryMessage.java
new file mode 100644
index 0000000..4e5bb9c
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineAckDiscoveryMessage.java
@@ -0,0 +1,62 @@
+/*
+ * 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.continuous;
+
+import org.apache.ignite.*;
+import org.apache.ignite.internal.managers.discovery.*;
+
+import java.util.*;
+
+/**
+ *
+ */
+public class StartRoutineAckDiscoveryMessage implements DiscoveryCustomMessage {
+ /** Routine ID. */
+ private final UUID routineId;
+
+ /** */
+ private final Map<UUID, IgniteCheckedException> errs;
+
+ /**
+ * @param routineId Routine id.
+ * @param errs Errs.
+ */
+ public StartRoutineAckDiscoveryMessage(UUID routineId, Map<UUID, IgniteCheckedException> errs) {
+ this.routineId = routineId;
+ this.errs = new HashMap<>(errs);
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean forwardMinorVersion() {
+ return false;
+ }
+
+ /**
+ * @return Routine ID.
+ */
+ public UUID routineId() {
+ return routineId;
+ }
+
+ /**
+ * @return Errs.
+ */
+ public Map<UUID, IgniteCheckedException> errs() {
+ return errs;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e028de86/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineDiscoveryMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineDiscoveryMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineDiscoveryMessage.java
new file mode 100644
index 0000000..7fa78b6
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineDiscoveryMessage.java
@@ -0,0 +1,89 @@
+/*
+ * 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.continuous;
+
+import org.apache.ignite.*;
+import org.apache.ignite.internal.managers.discovery.*;
+import org.apache.ignite.spi.*;
+import org.apache.ignite.spi.discovery.tcp.messages.*;
+
+import java.util.*;
+
+/**
+ *
+ */
+public class StartRoutineDiscoveryMessage implements RingEndAwareCustomMessage {
+ /** Routine ID. */
+ private final UUID routineId;
+
+ /** */
+ private final StartRequestData startReqData;
+
+ /** */
+ private final Map<UUID, IgniteCheckedException> errs = new HashMap<>();
+
+ /**
+ * @param routineId Routine id.
+ * @param startReqData Start request data.
+ */
+ public StartRoutineDiscoveryMessage(UUID routineId, StartRequestData startReqData) {
+ this.routineId = routineId;
+ this.startReqData = startReqData;
+ }
+
+
+
+ /** {@inheritDoc} */
+ @Override public boolean forwardMinorVersion() {
+ return false;
+ }
+
+ /**
+ * @return Start request data.
+ */
+ public StartRequestData startRequestData() {
+ return startReqData;
+ }
+
+ /**
+ * @param nodeId Node id.
+ * @param e Exception.
+ */
+ public void addError(UUID nodeId, IgniteCheckedException e) {
+ errs.put(nodeId, e);
+ }
+
+ /**
+ * @return Routine ID.
+ */
+ public UUID routineId() {
+ return routineId;
+ }
+
+ /**
+ * @return Errs.
+ */
+ public Map<UUID, IgniteCheckedException> errs() {
+ return errs;
+ }
+
+ /** {@inheritDoc} */
+ @Override public DiscoveryCustomMessage newMessageOnRingEnd(IgniteSpiContext ctx) {
+ return new StartRoutineAckDiscoveryMessage(routineId, errs);
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e028de86/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineAckDiscoveryMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineAckDiscoveryMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineAckDiscoveryMessage.java
new file mode 100644
index 0000000..755552b
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineAckDiscoveryMessage.java
@@ -0,0 +1,49 @@
+/*
+ * 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.continuous;
+
+import org.apache.ignite.internal.managers.discovery.*;
+
+import java.util.*;
+
+/**
+ *
+ */
+public class StopRoutineAckDiscoveryMessage implements DiscoveryCustomMessage {
+ /** Routine ID. */
+ private final UUID routineId;
+
+ /**
+ * @param routineId Routine id.
+ */
+ public StopRoutineAckDiscoveryMessage(UUID routineId) {
+ this.routineId = routineId;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean forwardMinorVersion() {
+ return false;
+ }
+
+ /**
+ * @return Routine ID.
+ */
+ public UUID routineId() {
+ return routineId;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e028de86/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineDiscoveryMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineDiscoveryMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineDiscoveryMessage.java
new file mode 100644
index 0000000..9c480a0
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineDiscoveryMessage.java
@@ -0,0 +1,56 @@
+/*
+ * 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.continuous;
+
+import org.apache.ignite.internal.managers.discovery.*;
+import org.apache.ignite.spi.*;
+import org.jetbrains.annotations.*;
+
+import java.util.*;
+
+/**
+ *
+ */
+public class StopRoutineDiscoveryMessage implements RingEndAwareCustomMessage {
+ /** Routine ID. */
+ private final UUID routineId;
+
+ /**
+ * @param routineId Routine id.
+ */
+ public StopRoutineDiscoveryMessage(UUID routineId) {
+ this.routineId = routineId;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean forwardMinorVersion() {
+ return false;
+ }
+
+ /**
+ * @return Routine ID.
+ */
+ public UUID routineId() {
+ return routineId;
+ }
+
+ /** {@inheritDoc} */
+ @Nullable @Override public DiscoveryCustomMessage newMessageOnRingEnd(IgniteSpiContext ctx) {
+ return new StopRoutineAckDiscoveryMessage(routineId);
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e028de86/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpi.java
index 247ff67..84a5f41 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpi.java
@@ -17,6 +17,7 @@
package org.apache.ignite.spi.discovery;
+import org.apache.ignite.*;
import org.apache.ignite.cluster.*;
import org.apache.ignite.internal.managers.discovery.*;
import org.apache.ignite.lang.*;
@@ -142,8 +143,9 @@ public interface DiscoverySpi extends IgniteSpi {
/**
* Sends custom message across the ring.
* @param evt Event.
+ * @throws IgniteException if failed to marshal evt.
*/
- public void sendCustomEvent(DiscoveryCustomMessage evt);
+ public void sendCustomEvent(DiscoveryCustomMessage evt) throws IgniteException;
/**
* Initiates failure of provided node.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e028de86/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java
index 5a78f9f..378d5a3 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java
@@ -42,6 +42,7 @@ import javax.cache.*;
import javax.cache.configuration.*;
import javax.cache.event.*;
import javax.cache.integration.*;
+import java.io.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.concurrent.atomic.*;
@@ -57,7 +58,7 @@ import static org.apache.ignite.internal.processors.cache.query.CacheQueryType.*
/**
* Continuous queries tests.
*/
-public abstract class GridCacheContinuousQueryAbstractSelfTest extends GridCommonAbstractTest {
+public abstract class GridCacheContinuousQueryAbstractSelfTest extends GridCommonAbstractTest implements Serializable {
/** IP finder. */
private static final TcpDiscoveryIpFinder IP_FINDER = new TcpDiscoveryVmIpFinder(true);
@@ -177,10 +178,7 @@ public abstract class GridCacheContinuousQueryAbstractSelfTest extends GridCommo
assertEquals(String.valueOf(i), 3, ((Map)U.field(proc, "locInfos")).size());
assertEquals(String.valueOf(i), 0, ((Map)U.field(proc, "rmtInfos")).size());
assertEquals(String.valueOf(i), 0, ((Map)U.field(proc, "startFuts")).size());
- assertEquals(String.valueOf(i), 0, ((Map)U.field(proc, "waitForStartAck")).size());
assertEquals(String.valueOf(i), 0, ((Map)U.field(proc, "stopFuts")).size());
- assertEquals(String.valueOf(i), 0, ((Map)U.field(proc, "waitForStopAck")).size());
- assertEquals(String.valueOf(i), 0, ((Map)U.field(proc, "pending")).size());
CacheContinuousQueryManager mgr = grid(i).context().cache().internalCache().context().continuousQueries();
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e028de86/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySelfTest.java
index 05fb52b..d1b25df 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySelfTest.java
@@ -539,7 +539,7 @@ public class TcpClientDiscoverySelfTest extends GridCommonAbstractTest {
try {
id = msg.remoteListen(null, new MessageListener());
- msgLatch = new CountDownLatch(4);
+ msgLatch = new CountDownLatch(2);
msg.send(null, "Message 1");
@@ -550,7 +550,7 @@ public class TcpClientDiscoverySelfTest extends GridCommonAbstractTest {
checkNodes(3, 3);
- msgLatch = new CountDownLatch(6);
+ msgLatch = new CountDownLatch(3);
msg.send(null, "Message 2");
[10/47] incubator-ignite git commit: # IGNITE-831 Handle node
segmented message.
Posted by sb...@apache.org.
# IGNITE-831 Handle node segmented message.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/660648bb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/660648bb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/660648bb
Branch: refs/heads/ignite-709_3
Commit: 660648bbb56f6a99ee4883c4fb986b33ec95f9ac
Parents: 37c6007
Author: sevdokimov <se...@gridgain.com>
Authored: Tue May 5 20:41:58 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Tue May 5 20:41:58 2015 +0300
----------------------------------------------------------------------
.../continuous/GridContinuousProcessor.java | 23 ++++++++++++++++++++
.../discovery/tcp/TcpClientDiscoverySpi.java | 3 +++
2 files changed, 26 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/660648bb/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
index d1923d9..0769479 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
@@ -146,6 +146,26 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
}
}, EVT_NODE_LEFT, EVT_NODE_FAILED);
+ ctx.event().addLocalEventListener(new GridLocalEventListener() {
+ @Override public void onEvent(Event evt) {
+ for (Iterator<StartFuture> itr = startFuts.values().iterator(); itr.hasNext(); ) {
+ StartFuture fut = itr.next();
+
+ itr.remove();
+
+ fut.onDone(new IgniteException("Topology segmented"));
+ }
+
+ for (Iterator<StopFuture> itr = stopFuts.values().iterator(); itr.hasNext(); ) {
+ StopFuture fut = itr.next();
+
+ itr.remove();
+
+ fut.onDone(new IgniteException("Topology segmented"));
+ }
+ }
+ }, EVT_NODE_SEGMENTED);
+
ctx.discovery().setCustomEventListener(StartRoutineDiscoveryMessage.class,
new CustomEventListener<StartRoutineDiscoveryMessage>() {
@Override public void onCustomEvent(ClusterNode snd, StartRoutineDiscoveryMessage msg) {
@@ -504,6 +524,9 @@ public class GridContinuousProcessor extends GridProcessorAdapter {
unregisterHandler(routineId, routine.hnd, true);
ctx.discovery().sendCustomEvent(new StopRoutineDiscoveryMessage(routineId));
+
+ if (ctx.isStopping())
+ fut.onDone();
}
return fut;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/660648bb/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
index 59f4708..dc89d6a 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
@@ -390,6 +390,9 @@ public class TcpClientDiscoverySpi extends TcpDiscoverySpiAdapter implements Tcp
/** {@inheritDoc} */
@Override public void sendCustomEvent(DiscoveryCustomMessage evt) {
+ if (segmentation)
+ throw new IgniteException("Failed to send custom message: client is disconnected");
+
try {
sockWriter.sendMessage(new TcpDiscoveryCustomEventMessage(getLocalNodeId(), marsh.marshal(evt)));
}
[32/47] incubator-ignite git commit: Merge remote-tracking branch
'remotes/origin/ignite-836_2' into ignite-709_2
Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/origin/ignite-836_2' into ignite-709_2
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/668746f4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/668746f4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/668746f4
Branch: refs/heads/ignite-709_3
Commit: 668746f4191f36f7f12c6a17e1d2903bea983a3d
Parents: 7099c56 073c48c
Author: sevdokimov <se...@gridgain.com>
Authored: Fri May 15 13:04:38 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Fri May 15 13:04:38 2015 +0300
----------------------------------------------------------------------
.../internal/events/DiscoveryCustomEvent.java | 18 +-
.../managers/discovery/CustomEventListener.java | 31 +
.../discovery/CustomMessageWrapper.java | 58 ++
.../discovery/DiscoveryCustomMessage.java | 41 +
.../discovery/GridDiscoveryManager.java | 99 ++-
.../cache/DynamicCacheChangeBatch.java | 15 +-
.../GridCachePartitionExchangeManager.java | 4 +-
.../processors/cache/GridCacheProcessor.java | 9 +-
.../continuous/GridContinuousMessageType.java | 12 -
.../continuous/GridContinuousProcessor.java | 796 ++++---------------
.../processors/continuous/StartRequestData.java | 267 +++++++
.../StartRoutineAckDiscoveryMessage.java | 71 ++
.../StartRoutineDiscoveryMessage.java | 95 +++
.../StopRoutineAckDiscoveryMessage.java | 58 ++
.../continuous/StopRoutineDiscoveryMessage.java | 59 ++
.../ignite/spi/discovery/DiscoverySpi.java | 7 +-
.../discovery/DiscoverySpiCustomMessage.java | 32 +
.../spi/discovery/DiscoverySpiListener.java | 5 +-
.../discovery/tcp/TcpClientDiscoverySpi.java | 25 +-
.../spi/discovery/tcp/TcpDiscoverySpi.java | 92 ++-
.../TcpDiscoveryCustomEventMessage.java | 9 +-
...ridCacheContinuousQueryAbstractSelfTest.java | 6 +-
.../discovery/AbstractDiscoverySelfTest.java | 8 +-
.../tcp/TcpClientDiscoverySpiSelfTest.java | 6 +-
24 files changed, 1073 insertions(+), 750 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/668746f4/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
----------------------------------------------------------------------
[16/47] incubator-ignite git commit: # IGNITE-831 Remove
RingEndAwareCustomMessage.
Posted by sb...@apache.org.
# IGNITE-831 Remove RingEndAwareCustomMessage.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/657afd09
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/657afd09
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/657afd09
Branch: refs/heads/ignite-709_3
Commit: 657afd09024978d1c50eb1b0a5db19298f0e1edc
Parents: 880b59b
Author: sevdokimov <se...@gridgain.com>
Authored: Wed May 6 13:28:59 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Wed May 6 14:43:16 2015 +0300
----------------------------------------------------------------------
.../discovery/DiscoveryCustomMessage.java | 7 +++++
.../discovery/RingEndAwareCustomMessage.java | 31 --------------------
.../cache/DynamicCacheChangeBatch.java | 6 ++++
.../StartRoutineAckDiscoveryMessage.java | 6 ++++
.../StartRoutineDiscoveryMessage.java | 4 +--
.../StopRoutineAckDiscoveryMessage.java | 6 ++++
.../continuous/StopRoutineDiscoveryMessage.java | 4 +--
.../spi/discovery/tcp/TcpDiscoverySpi.java | 9 ++----
8 files changed, 32 insertions(+), 41 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/657afd09/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryCustomMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryCustomMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryCustomMessage.java
index dcb0cea..49a791e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryCustomMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryCustomMessage.java
@@ -17,6 +17,8 @@
package org.apache.ignite.internal.managers.discovery;
+import org.jetbrains.annotations.*;
+
import java.io.*;
/**
@@ -29,4 +31,9 @@ public interface DiscoveryCustomMessage extends Serializable {
* @return {@code true} if minor topology version should be increased.
*/
public boolean forwardMinorVersion();
+
+ /**
+ * Called when message passed the ring.
+ */
+ @Nullable public DiscoveryCustomMessage newMessageOnRingEnd();
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/657afd09/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/RingEndAwareCustomMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/RingEndAwareCustomMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/RingEndAwareCustomMessage.java
deleted file mode 100644
index 41cee8e..0000000
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/RingEndAwareCustomMessage.java
+++ /dev/null
@@ -1,31 +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.managers.discovery;
-
-import org.apache.ignite.spi.*;
-import org.jetbrains.annotations.*;
-
-/**
- *
- */
-public interface RingEndAwareCustomMessage extends DiscoveryCustomMessage {
- /**
- *
- */
- @Nullable public DiscoveryCustomMessage newMessageOnRingEnd(IgniteSpiContext ctx);
-}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/657afd09/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeBatch.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeBatch.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeBatch.java
index 0257307..330f822 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeBatch.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeBatch.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.processors.cache;
import org.apache.ignite.internal.managers.discovery.*;
import org.apache.ignite.internal.util.tostring.*;
import org.apache.ignite.internal.util.typedef.internal.*;
+import org.jetbrains.annotations.*;
import java.util.*;
@@ -77,4 +78,9 @@ public class DynamicCacheChangeBatch implements DiscoveryCustomMessage {
@Override public boolean forwardMinorVersion() {
return true;
}
+
+ /** {@inheritDoc} */
+ @Nullable @Override public DiscoveryCustomMessage newMessageOnRingEnd() {
+ return null;
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/657afd09/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineAckDiscoveryMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineAckDiscoveryMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineAckDiscoveryMessage.java
index 4e5bb9c..2050811 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineAckDiscoveryMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineAckDiscoveryMessage.java
@@ -19,6 +19,7 @@ package org.apache.ignite.internal.processors.continuous;
import org.apache.ignite.*;
import org.apache.ignite.internal.managers.discovery.*;
+import org.jetbrains.annotations.*;
import java.util.*;
@@ -46,6 +47,11 @@ public class StartRoutineAckDiscoveryMessage implements DiscoveryCustomMessage {
return false;
}
+ /** {@inheritDoc} */
+ @Nullable @Override public DiscoveryCustomMessage newMessageOnRingEnd() {
+ return null;
+ }
+
/**
* @return Routine ID.
*/
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/657afd09/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineDiscoveryMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineDiscoveryMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineDiscoveryMessage.java
index 492a1e7..1866901 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineDiscoveryMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StartRoutineDiscoveryMessage.java
@@ -27,7 +27,7 @@ import java.util.*;
/**
*
*/
-public class StartRoutineDiscoveryMessage implements RingEndAwareCustomMessage {
+public class StartRoutineDiscoveryMessage implements DiscoveryCustomMessage {
/** Routine ID. */
private final UUID routineId;
@@ -81,7 +81,7 @@ public class StartRoutineDiscoveryMessage implements RingEndAwareCustomMessage {
}
/** {@inheritDoc} */
- @Override public DiscoveryCustomMessage newMessageOnRingEnd(IgniteSpiContext ctx) {
+ @Override public DiscoveryCustomMessage newMessageOnRingEnd() {
return new StartRoutineAckDiscoveryMessage(routineId, errs);
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/657afd09/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineAckDiscoveryMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineAckDiscoveryMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineAckDiscoveryMessage.java
index 755552b..2e3002b 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineAckDiscoveryMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineAckDiscoveryMessage.java
@@ -18,6 +18,7 @@
package org.apache.ignite.internal.processors.continuous;
import org.apache.ignite.internal.managers.discovery.*;
+import org.jetbrains.annotations.*;
import java.util.*;
@@ -40,6 +41,11 @@ public class StopRoutineAckDiscoveryMessage implements DiscoveryCustomMessage {
return false;
}
+ /** {@inheritDoc} */
+ @Nullable @Override public DiscoveryCustomMessage newMessageOnRingEnd() {
+ return null;
+ }
+
/**
* @return Routine ID.
*/
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/657afd09/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineDiscoveryMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineDiscoveryMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineDiscoveryMessage.java
index 9c480a0..8b08960 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineDiscoveryMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/StopRoutineDiscoveryMessage.java
@@ -26,7 +26,7 @@ import java.util.*;
/**
*
*/
-public class StopRoutineDiscoveryMessage implements RingEndAwareCustomMessage {
+public class StopRoutineDiscoveryMessage implements DiscoveryCustomMessage {
/** Routine ID. */
private final UUID routineId;
@@ -50,7 +50,7 @@ public class StopRoutineDiscoveryMessage implements RingEndAwareCustomMessage {
}
/** {@inheritDoc} */
- @Nullable @Override public DiscoveryCustomMessage newMessageOnRingEnd(IgniteSpiContext ctx) {
+ @Nullable @Override public DiscoveryCustomMessage newMessageOnRingEnd() {
return new StopRoutineAckDiscoveryMessage(routineId);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/657afd09/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
index d13a6d8..f8236f1 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
@@ -4481,13 +4481,10 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter implements TcpDiscov
try {
DiscoveryCustomMessage msgObj = marsh.unmarshal(msg.messageBytes(), U.gridClassLoader());
- if (msgObj instanceof RingEndAwareCustomMessage) {
- DiscoveryCustomMessage nextMsg = ((RingEndAwareCustomMessage)msgObj)
- .newMessageOnRingEnd(getSpiContext());
+ DiscoveryCustomMessage nextMsg = msgObj.newMessageOnRingEnd();
- if (nextMsg != null)
- addMessage(new TcpDiscoveryCustomEventMessage(getLocalNodeId(), marsh.marshal(nextMsg)));
- }
+ if (nextMsg != null)
+ addMessage(new TcpDiscoveryCustomEventMessage(getLocalNodeId(), marsh.marshal(nextMsg)));
}
catch (IgniteCheckedException e) {
U.error(log, "Failed to unmarshal discovery custom message.", e);
[41/47] incubator-ignite git commit: # IGNITE-709 Revert bad fix.
Posted by sb...@apache.org.
# IGNITE-709 Revert bad fix.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/6762cf94
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/6762cf94
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/6762cf94
Branch: refs/heads/ignite-709_3
Commit: 6762cf9433725c58381a5629421982f473519738
Parents: ccc854a
Author: sevdokimov <se...@gridgain.com>
Authored: Fri May 15 14:51:50 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Fri May 15 14:51:50 2015 +0300
----------------------------------------------------------------------
.../internal/processors/cache/GridCacheUtils.java | 14 ++------------
1 file changed, 2 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6762cf94/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
index 8e082c0..549f42f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
@@ -631,14 +631,9 @@ public class GridCacheUtils {
* @return Oldest node for the given topology version.
*/
public static ClusterNode oldest(GridCacheContext cctx, AffinityTopologyVersion topOrder) {
- Collection<ClusterNode> aliveCacheNodes = aliveNodes(cctx, topOrder);
-
- if (aliveCacheNodes.isEmpty())
- return cctx.localNode();
-
ClusterNode oldest = null;
- for (ClusterNode n : aliveCacheNodes)
+ for (ClusterNode n : aliveNodes(cctx, topOrder))
if (oldest == null || n.order() < oldest.order())
oldest = n;
@@ -656,14 +651,9 @@ public class GridCacheUtils {
* @return Oldest node for the given topology version.
*/
public static ClusterNode oldest(GridCacheSharedContext cctx, AffinityTopologyVersion topOrder) {
- Collection<ClusterNode> aliveCacheNodes = aliveCacheNodes(cctx, topOrder);
-
- if (aliveCacheNodes.isEmpty())
- return cctx.localNode();
-
ClusterNode oldest = null;
- for (ClusterNode n : aliveCacheNodes) {
+ for (ClusterNode n : aliveCacheNodes(cctx, topOrder)) {
if (oldest == null || n.order() < oldest.order())
oldest = n;
}