Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-648-failover d5a7f6b97 -> aeeda5831


# ignite-648: add smart kill all and logging


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/aeeda583
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/aeeda583
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/aeeda583

Branch: refs/heads/ignite-648-failover
Commit: aeeda58310681dc46f7736f51f251609c5228187
Parents: d5a7f6b
Author: ashutak <ashu...@gridgain.com>
Authored: Mon Jun 29 18:51:17 2015 +0300
Committer: ashutak <ashu...@gridgain.com>
Committed: Mon Jun 29 18:51:17 2015 +0300

----------------------------------------------------------------------
 .../testframework/junits/GridAbstractTest.java  |  1 +
 .../junits/multijvm/IgniteNodeRunner.java       | 47 ++++++++++++--------
 .../junits/multijvm/IgniteProcessProxy.java     |  4 ++
 .../IgniteCacheFailoverMJTestSuite.java         | 37 +++++++--------
 4 files changed, 51 insertions(+), 38 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/aeeda583/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
 
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
index 0a43059..03a3c35 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
@@ -776,6 +776,7 @@ public abstract class GridAbstractTest extends TestCase {
      */
     protected void stopAllGrids(boolean cancel) {
         IgniteProcessProxy.killAll(); // In multi jvm case.
+        IgniteNodeRunner.killAll();
 
         Collection<Ignite> clients = new ArrayList<>();
         Collection<Ignite> srvs = new ArrayList<>();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/aeeda583/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteNodeRunner.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteNodeRunner.java
 
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteNodeRunner.java
index 04721e8..78a3fb0 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteNodeRunner.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteNodeRunner.java
@@ -127,33 +127,44 @@ public class IgniteNodeRunner {
      * @return List of killed process ids.
      * @throws Exception If exception.
      */
-    public static List<Integer> killAll() throws Exception{
-        MonitoredHost monitoredHost = MonitoredHost.getMonitoredHost(new 
HostIdentifier("localhost"));
+    public static List<Integer> killAll() {
+        try {
+            // TODO delete logging.
+            X.println(">>>>> IgniteNodeRunner.killAll");
 
-        Set<Integer> jvms = monitoredHost.activeVms();
+            MonitoredHost monitoredHost = MonitoredHost.getMonitoredHost(new 
HostIdentifier("localhost"));
 
-        List<Integer> res = new ArrayList<>();
+            Set<Integer> jvms = monitoredHost.activeVms();
 
-        for (Integer jvmId : jvms) {
-            try {
-                MonitoredVm vm = monitoredHost.getMonitoredVm(new 
VmIdentifier("//" + jvmId + "?mode=r"), 0);
+            List<Integer> res = new ArrayList<>();
 
-                if 
(IgniteNodeRunner.class.getName().equals(MonitoredVmUtil.mainClass(vm, true))) {
-                    Process killProc = U.isWindows() ?
-                        Runtime.getRuntime().exec(new String[] {"taskkill", 
"/pid", jvmId.toString(), "/f", "/t"}) :
-                        Runtime.getRuntime().exec(new String[] {"kill", "-9", 
jvmId.toString()});
+            for (Integer jvmId : jvms) {
+                try {
+                    MonitoredVm vm = monitoredHost.getMonitoredVm(new 
VmIdentifier("//" + jvmId + "?mode=r"), 0);
 
-                    killProc.waitFor();
+                    if 
(IgniteNodeRunner.class.getName().equals(MonitoredVmUtil.mainClass(vm, true))) {
+                        Process killProc = U.isWindows() ?
+                            Runtime.getRuntime().exec(new String[] 
{"taskkill", "/pid", jvmId.toString(), "/f", "/t"}) :
+                            Runtime.getRuntime().exec(new String[] {"kill", 
"-9", jvmId.toString()});
 
-                    res.add(jvmId);
+                        killProc.waitFor();
+
+                        res.add(jvmId);
+                    }
+                }
+                catch (Exception e) {
+                    // Print stack trace just for information.
+                    X.printerrln("Could not kill IgniteNodeRunner java 
process. Jvm pid = " + jvmId, e);
                 }
             }
-            catch (Exception e) {
-                // Print stack trace just for information.
-                X.printerrln("Could not kill IgniteNodeRunner java processes. 
Jvm pid = " + jvmId, e);
-            }
+
+            return res;
         }
+        catch (Exception e) {
+            // Print stack trace just for information.
+            X.printerrln("Could not kill IgniteNodeRunner java processes.", e);
 
-        return res;
+            return Collections.emptyList();
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/aeeda583/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteProcessProxy.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteProcessProxy.java
 
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteProcessProxy.java
index 42436e5..201c36a 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteProcessProxy.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteProcessProxy.java
@@ -28,6 +28,7 @@ import org.apache.ignite.internal.processors.cache.*;
 import org.apache.ignite.internal.processors.hadoop.*;
 import org.apache.ignite.internal.util.*;
 import org.apache.ignite.internal.util.lang.*;
+import org.apache.ignite.internal.util.typedef.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.plugin.*;
@@ -134,6 +135,9 @@ public class IgniteProcessProxy implements IgniteEx {
      * Kill all running processes.
      */
     public static void killAll() {
+        // TODO delete logging.
+        X.println(">>>>> IgniteProcessProxy.killAll");
+
         for (IgniteProcessProxy ignite : gridProxies.values()) {
             try {
                 ignite.getProcess().kill();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/aeeda583/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFailoverMJTestSuite.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFailoverMJTestSuite.java
 
b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFailoverMJTestSuite.java
index b6d60e7..6ffaa8a 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFailoverMJTestSuite.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFailoverMJTestSuite.java
@@ -18,10 +18,7 @@
 package org.apache.ignite.testsuites;
 
 import junit.framework.*;
-import org.apache.ignite.internal.processors.cache.distributed.dht.*;
 import org.apache.ignite.internal.processors.cache.distributed.dht.atomic.*;
-import org.apache.ignite.internal.processors.cache.distributed.near.*;
-import org.apache.ignite.internal.processors.cache.distributed.replicated.*;
 
 /**
  * Test suite.
@@ -37,23 +34,23 @@ public class IgniteCacheFailoverMJTestSuite extends 
TestSuite {
         // Failure consistency tests.
         suite.addTestSuite(GridCacheAtomicRemoveFailureMJTest.class);
         
suite.addTestSuite(GridCacheAtomicPrimaryWriteOrderRemoveFailureMJTest.class);
-        suite.addTestSuite(GridCacheAtomicClientRemoveFailureMJTest.class);
-
-        suite.addTestSuite(GridCacheDhtAtomicRemoveFailureMJTest.class);
-        suite.addTestSuite(GridCacheDhtRemoveFailureMJTest.class);
-        suite.addTestSuite(GridCacheDhtClientRemoveFailureMJTest.class);
-        suite.addTestSuite(GridCacheNearRemoveFailureMJTest.class);
-        suite.addTestSuite(GridCacheAtomicNearRemoveFailureMJTest.class);
-        
suite.addTestSuite(GridCacheAtomicPrimaryWriteOrderNearRemoveFailureMJTest.class);
-
-        // From part 2
-        suite.addTestSuite(GridCacheAtomicFailoverSelfMJTest.class);
-        
suite.addTestSuite(GridCacheAtomicPrimaryWriteOrderFailoverSelfMJTest.class);
-        suite.addTestSuite(GridCacheAtomicReplicatedFailoverSelfMJTest.class);
-
-        suite.addTestSuite(GridCachePartitionedFailoverSelfMJTest.class);
-        suite.addTestSuite(GridCacheColocatedFailoverSelfMJTest.class);
-        suite.addTestSuite(GridCacheReplicatedFailoverSelfMJTest.class);
+//        suite.addTestSuite(GridCacheAtomicClientRemoveFailureMJTest.class);
+//
+//        suite.addTestSuite(GridCacheDhtAtomicRemoveFailureMJTest.class);
+//        suite.addTestSuite(GridCacheDhtRemoveFailureMJTest.class);
+//        suite.addTestSuite(GridCacheDhtClientRemoveFailureMJTest.class);
+//        suite.addTestSuite(GridCacheNearRemoveFailureMJTest.class);
+//        suite.addTestSuite(GridCacheAtomicNearRemoveFailureMJTest.class);
+//        
suite.addTestSuite(GridCacheAtomicPrimaryWriteOrderNearRemoveFailureMJTest.class);
+//
+//        // From part 2
+//        suite.addTestSuite(GridCacheAtomicFailoverSelfMJTest.class);
+//        
suite.addTestSuite(GridCacheAtomicPrimaryWriteOrderFailoverSelfMJTest.class);
+//        
suite.addTestSuite(GridCacheAtomicReplicatedFailoverSelfMJTest.class);
+//
+//        suite.addTestSuite(GridCachePartitionedFailoverSelfMJTest.class);
+//        suite.addTestSuite(GridCacheColocatedFailoverSelfMJTest.class);
+//        suite.addTestSuite(GridCacheReplicatedFailoverSelfMJTest.class);
 
         return suite;
     }

Reply via email to