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 2014/12/24 10:04:40 UTC

[1/4] incubator-ignite git commit: Ignite - Moved changes (GG-9591)

Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-1 e4881d23c -> c64771d44


Ignite - Moved changes (GG-9591)


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

Branch: refs/heads/ignite-1
Commit: a6fad3261625aea1689818250f6e362e79b70ffb
Parents: 3f25425
Author: nikolay_tikhonov <nt...@gridgain.com>
Authored: Tue Dec 23 12:38:50 2014 +0300
Committer: nikolay_tikhonov <nt...@gridgain.com>
Committed: Tue Dec 23 12:42:45 2014 +0300

----------------------------------------------------------------------
 .../org/gridgain/grid/kernal/GridKernal.java    |  4 +
 .../java/org/gridgain/grid/util/GridUtils.java  | 87 ++++++++++++++------
 .../gridgain/grid/util/GridTestClockTimer.java  | 31 +++++++
 .../testframework/junits/GridAbstractTest.java  |  8 ++
 4 files changed, 105 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a6fad326/modules/core/src/main/java/org/gridgain/grid/kernal/GridKernal.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/GridKernal.java b/modules/core/src/main/java/org/gridgain/grid/kernal/GridKernal.java
index 99821ca..5359353 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/GridKernal.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/GridKernal.java
@@ -655,6 +655,8 @@ public class GridKernal extends ClusterGroupAdapter implements GridEx, IgniteMBe
 
             nodeLoc = new ClusterNodeLocalMapImpl(ctx);
 
+            U.onGridStart();
+
             // Set context into rich adapter.
             setKernalContext(ctx);
 
@@ -2096,6 +2098,8 @@ public class GridKernal extends ClusterGroupAdapter implements GridEx, IgniteMBe
                     }
                 }
             }
+
+            U.onGridStop();
         }
         else {
             // Proper notification.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a6fad326/modules/core/src/main/java/org/gridgain/grid/util/GridUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/util/GridUtils.java b/modules/core/src/main/java/org/gridgain/grid/util/GridUtils.java
index fb7955d..b687a31 100644
--- a/modules/core/src/main/java/org/gridgain/grid/util/GridUtils.java
+++ b/modules/core/src/main/java/org/gridgain/grid/util/GridUtils.java
@@ -255,7 +255,7 @@ public abstract class GridUtils {
     private static InetAddress locHost;
 
     /** */
-    private static volatile long curTimeMillis = System.currentTimeMillis();
+    static volatile long curTimeMillis = System.currentTimeMillis();
 
     /** Primitive class map. */
     private static final Map<String, Class<?>> primitiveMap = new HashMap<>(16, .5f);
@@ -284,6 +284,15 @@ public abstract class GridUtils {
     /** GridGain Work Directory. */
     public static final String GRIDGAIN_WORK_DIR = System.getenv(GG_WORK_DIR);
 
+    /** Clock timer. */
+    private static Thread timer;
+
+    /** Grid counter. */
+    private static int gridCnt;
+
+    /** Mutex. */
+    private static final Object mux = new Object();
+
     /**
      * Initializes enterprise check.
      */
@@ -498,30 +507,6 @@ public abstract class GridUtils {
             }
         }
 
-        Thread timer = new Thread(new Runnable() {
-            @SuppressWarnings({"BusyWait", "InfiniteLoopStatement"})
-            @Override public void run() {
-                while (true) {
-                    curTimeMillis = System.currentTimeMillis();
-
-                    try {
-                        Thread.sleep(10);
-                    }
-                    catch (InterruptedException ignored) {
-                        U.log(null, "Timer thread has been interrupted.");
-
-                        break;
-                    }
-                }
-            }
-        }, "gridgain-clock");
-
-        timer.setDaemon(true);
-
-        timer.setPriority(10);
-
-        timer.start();
-
         PORTABLE_CLS.add(Byte.class);
         PORTABLE_CLS.add(Short.class);
         PORTABLE_CLS.add(Integer.class);
@@ -2046,6 +2031,58 @@ public abstract class GridUtils {
     }
 
     /**
+     * Starts clock timer if grid is first.
+     */
+    public static void onGridStart() {
+        synchronized (mux) {
+            if (gridCnt == 0) {
+                timer = new Thread(new Runnable() {
+                    @SuppressWarnings({"BusyWait", "InfiniteLoopStatement"})
+                    @Override public void run() {
+                        while (true) {
+                            curTimeMillis = System.currentTimeMillis();
+
+                            try {
+                                Thread.sleep(10);
+                            }
+                            catch (InterruptedException ignored) {
+                                U.log(null, "Timer thread has been interrupted.");
+
+                                break;
+                            }
+                        }
+                    }
+                }, "gridgain-clock");
+
+                timer.setDaemon(true);
+
+                timer.setPriority(10);
+
+                timer.start();
+            }
+
+            ++gridCnt;
+        }
+    }
+
+    /**
+     * Stops clock timer if all nodes into JVM were stopped.
+     */
+    public static void onGridStop(){
+        synchronized (mux) {
+            assert gridCnt > 0 : gridCnt;
+
+            --gridCnt;
+
+            if (gridCnt == 0 && timer != null) {
+                timer.interrupt();
+
+                timer = null;
+            }
+        }
+    }
+
+    /**
      * Copies input byte stream to output byte stream.
      *
      * @param in Input byte stream.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a6fad326/modules/core/src/test/java/org/gridgain/grid/util/GridTestClockTimer.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/util/GridTestClockTimer.java b/modules/core/src/test/java/org/gridgain/grid/util/GridTestClockTimer.java
new file mode 100644
index 0000000..9cbe308
--- /dev/null
+++ b/modules/core/src/test/java/org/gridgain/grid/util/GridTestClockTimer.java
@@ -0,0 +1,31 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.util;
+
+/**
+ * Clock timer for tests.
+ */
+public class GridTestClockTimer implements Runnable {
+    /** {@inheritDoc} */
+    @Override public void run() {
+        while (true) {
+            GridUtils.curTimeMillis = System.currentTimeMillis();
+
+            try {
+                Thread.sleep(10);
+            }
+            catch (InterruptedException ignored) {
+                GridUtils.log(null, "Timer thread has been interrupted.");
+
+                break;
+            }
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a6fad326/modules/core/src/test/java/org/gridgain/testframework/junits/GridAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/testframework/junits/GridAbstractTest.java b/modules/core/src/test/java/org/gridgain/testframework/junits/GridAbstractTest.java
index 570bc77..922acc4 100644
--- a/modules/core/src/test/java/org/gridgain/testframework/junits/GridAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/testframework/junits/GridAbstractTest.java
@@ -88,6 +88,14 @@ public abstract class GridAbstractTest extends TestCase {
 
     static {
         System.setProperty(IgniteSystemProperties.GG_ATOMIC_CACHE_DELETE_HISTORY_SIZE, "10000");
+        
+        Thread timer = new Thread(new GridTestClockTimer(), "gridgain-clock-for-tests");
+
+        timer.setDaemon(true);
+
+        timer.setPriority(10);
+
+        timer.start();
     }
 
     /** */


[3/4] incubator-ignite git commit: Merge remote-tracking branch 'origin/master'

Posted by sb...@apache.org.
Merge remote-tracking branch 'origin/master'


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

Branch: refs/heads/ignite-1
Commit: c9aa93e624de95fce56a6ab79081652a30f675f4
Parents: c8a38a3 a6fad32
Author: vozerov <vo...@gridgain.com>
Authored: Wed Dec 24 11:59:04 2014 +0300
Committer: vozerov <vo...@gridgain.com>
Committed: Wed Dec 24 11:59:04 2014 +0300

----------------------------------------------------------------------
 .../org/gridgain/grid/kernal/GridKernal.java    |  4 +
 .../java/org/gridgain/grid/util/GridUtils.java  | 87 ++++++++++++++------
 .../gridgain/grid/util/GridTestClockTimer.java  | 31 +++++++
 .../testframework/junits/GridAbstractTest.java  |  8 ++
 4 files changed, 105 insertions(+), 25 deletions(-)
----------------------------------------------------------------------



[4/4] incubator-ignite git commit: Merge remote-tracking branch 'remotes/origin/master' into ignite-1

Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/origin/master' into ignite-1


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

Branch: refs/heads/ignite-1
Commit: c64771d446de206868eba39a43c654f704d95b50
Parents: e4881d2 c9aa93e
Author: sboikov <sb...@gridgain.com>
Authored: Wed Dec 24 13:03:44 2014 +0400
Committer: sboikov <sb...@gridgain.com>
Committed: Wed Dec 24 13:03:44 2014 +0400

----------------------------------------------------------------------
 .../org/gridgain/grid/kernal/GridKernal.java    |  4 +
 .../interop/GridInteropProcessor.java           |  9 ++
 .../interop/os/GridOsInteropProcessor.java      |  5 ++
 .../java/org/gridgain/grid/util/GridUtils.java  | 87 ++++++++++++++------
 .../gridgain/grid/util/GridTestClockTimer.java  | 31 +++++++
 .../testframework/junits/GridAbstractTest.java  |  8 ++
 6 files changed, 119 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c64771d4/modules/core/src/test/java/org/gridgain/testframework/junits/GridAbstractTest.java
----------------------------------------------------------------------


[2/4] incubator-ignite git commit: Added interop data loader.

Posted by sb...@apache.org.
Added interop data loader.


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

Branch: refs/heads/ignite-1
Commit: c8a38a3f02c2c488332d2e28f204c8bb044a7da2
Parents: 3f25425
Author: vozerov <vo...@gridgain.com>
Authored: Wed Dec 24 11:12:57 2014 +0300
Committer: vozerov <vo...@gridgain.com>
Committed: Wed Dec 24 11:12:57 2014 +0300

----------------------------------------------------------------------
 .../kernal/processors/interop/GridInteropProcessor.java     | 9 +++++++++
 .../processors/interop/os/GridOsInteropProcessor.java       | 5 +++++
 2 files changed, 14 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c8a38a3f/modules/core/src/main/java/org/gridgain/grid/kernal/processors/interop/GridInteropProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/interop/GridInteropProcessor.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/interop/GridInteropProcessor.java
index 78498a5..3c2549e 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/interop/GridInteropProcessor.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/interop/GridInteropProcessor.java
@@ -57,6 +57,15 @@ public interface GridInteropProcessor extends GridProcessor {
     public GridInteropTarget cache(@Nullable String name) throws IgniteCheckedException;
 
     /**
+     * Gets native wrapper for data loader for cache with the given name.
+     *
+     * @param cacheName Cache name ({@code null} for default cache).
+     * @return Native data loader wrapper.
+     * @throws IgniteCheckedException If failed.
+     */
+    public GridInteropTarget dataLoader(@Nullable String cacheName) throws IgniteCheckedException;
+
+    /**
      * Stops grid.
      *
      * @param cancel Cancel flag.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c8a38a3f/modules/core/src/main/java/org/gridgain/grid/kernal/processors/interop/os/GridOsInteropProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/interop/os/GridOsInteropProcessor.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/interop/os/GridOsInteropProcessor.java
index d09f126..f19f206 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/interop/os/GridOsInteropProcessor.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/interop/os/GridOsInteropProcessor.java
@@ -65,4 +65,9 @@ public class GridOsInteropProcessor extends GridInteropProcessorAdapter {
     @Override public GridInteropTarget cache(@Nullable String name) throws IgniteCheckedException {
         throw new UnsupportedOperationException(ERR_MSG);
     }
+
+    /** {@inheritDoc} */
+    @Override public GridInteropTarget dataLoader(@Nullable String cacheName) throws IgniteCheckedException {
+        throw new UnsupportedOperationException(ERR_MSG);
+    }
 }