ignite-368 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/dbfa6f68
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/dbfa6f68
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/dbfa6f68

Branch: refs/heads/ignite-424
Commit: dbfa6f6834983eed415562f4c22c759adfa65252
Parents: 78fbe30
Author: Yakov Zhdanov <yzhda...@gridgain.com>
Authored: Mon Mar 16 17:12:56 2015 +0300
Committer: Yakov Zhdanov <yzhda...@gridgain.com>
Committed: Mon Mar 16 17:12:56 2015 +0300

----------------------------------------------------------------------
 .../cache/affinity/CacheAffinityKeyMapped.java  |  12 +-
 .../ignite/internal/GridKernalContextImpl.java  |   4 +-
 .../apache/ignite/internal/IgniteKernal.java    |   3 +-
 .../internal/managers/GridManagerAdapter.java   |   6 -
 .../apache/ignite/internal/util/GridTimer.java  |   2 +-
 .../internal/util/IgniteExceptionRegistry.java  | 117 +++++++------------
 .../internal/util/io/GridFilenameUtils.java     |   1 -
 .../org/apache/ignite/spi/IgniteSpiAdapter.java |   7 +-
 .../org/apache/ignite/spi/IgniteSpiContext.java |   8 --
 .../util/IgniteExceptionRegistrySelfTest.java   |   9 +-
 .../testframework/GridSpiTestContext.java       |   5 -
 .../junits/GridTestKernalContext.java           |   2 -
 12 files changed, 49 insertions(+), 127 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dbfa6f68/modules/core/src/main/java/org/apache/ignite/cache/affinity/CacheAffinityKeyMapped.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/cache/affinity/CacheAffinityKeyMapped.java
 
b/modules/core/src/main/java/org/apache/ignite/cache/affinity/CacheAffinityKeyMapped.java
index 2642ac8..3fff1df 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/cache/affinity/CacheAffinityKeyMapped.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/cache/affinity/CacheAffinityKeyMapped.java
@@ -86,12 +86,11 @@ import java.util.concurrent.*;
  * It is also possible to route computations to the nodes where the data is 
cached. This concept
  * is otherwise known as {@code Collocation Of Computations And Data}. In this 
case,
  * {@code @CacheAffinityKeyMapped} annotation allows to specify a routing 
affinity key for a
- * {@link org.apache.ignite.compute.ComputeJob} or any other grid computation, 
such as {@link Runnable}, {@link Callable}, or
- * {@link org.apache.ignite.lang.IgniteClosure}. It should be attached to a 
method or field that provides affinity key
- * for the computation. Only one annotation per class is allowed. Whenever 
such annotation is detected,
- * then {@link org.apache.ignite.spi.loadbalancing.LoadBalancingSpi} will be 
bypassed, and computation will be routed to the grid node
- * where the specified affinity key is cached. You can also use optional 
{@link org.apache.ignite.cache.CacheName @CacheName}
- * annotation whenever non-default cache name needs to be specified.
+ * {@link org.apache.ignite.compute.ComputeJob} or any other grid computation, 
such as {@link Runnable},
+ * {@link Callable}, or {@link org.apache.ignite.lang.IgniteClosure}. It 
should be attached to a method or
+ * field that provides affinity key for the computation. Only one annotation 
per class is allowed.
+ * Whenever such annotation is detected, then {@link 
org.apache.ignite.spi.loadbalancing.LoadBalancingSpi}
+ * will be bypassed, and computation will be routed to the grid node where the 
specified affinity key is cached.
  * <p>
  * Here is how this annotation can be used to route a job to a node where 
Person object
  * is cached with ID "1234":
@@ -143,7 +142,6 @@ import java.util.concurrent.*;
  * or not. If cache is not started, affinity function will be fetched from the 
remote node
  * which does have the cache running.
  *
- * @see org.apache.ignite.cache.CacheName
  * @see CacheAffinityFunction
  * @see CacheAffinityKeyMapper
  * @see CacheAffinityKey

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dbfa6f68/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
index 217e8c8..f67eee8 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
@@ -321,8 +321,7 @@ public class GridKernalContextImpl implements 
GridKernalContext, Externalizable
 
     /**
      * Creates new kernal context.
-     *
-     * @param log Logger.
+     *  @param log Logger.
      * @param grid Grid instance managed by kernal.
      * @param cfg Grid configuration.
      * @param gw Kernal gateway.
@@ -340,7 +339,6 @@ public class GridKernalContextImpl implements 
GridKernalContext, Externalizable
         IgniteEx grid,
         IgniteConfiguration cfg,
         GridKernalGateway gw,
-        IgniteExceptionRegistry registry,
         ExecutorService utilityCachePool,
         ExecutorService marshCachePool,
         ExecutorService execSvc,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dbfa6f68/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java 
b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
index 22b37bd..031c054 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
@@ -398,7 +398,7 @@ public class IgniteKernal implements IgniteEx, 
IgniteMXBean, Externalizable {
 
     /** {@inheritDoc} */
     @Override public void printLastErrors() {
-        ctx.exceptionRegistry().printErrors();
+        ctx.exceptionRegistry().printErrors(log);
     }
 
     /** {@inheritDoc} */
@@ -662,7 +662,6 @@ public class IgniteKernal implements IgniteEx, 
IgniteMXBean, Externalizable {
                 this,
                 cfg,
                 gw,
-                new IgniteExceptionRegistry(log),
                 utilityCachePool,
                 marshCachePool,
                 execSvc,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dbfa6f68/modules/core/src/main/java/org/apache/ignite/internal/managers/GridManagerAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/GridManagerAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/GridManagerAdapter.java
index 83841e2..68c5d41 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/GridManagerAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/GridManagerAdapter.java
@@ -18,14 +18,12 @@
 package org.apache.ignite.internal.managers;
 
 import org.apache.ignite.*;
-import org.apache.ignite.cache.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.events.*;
 import org.apache.ignite.internal.*;
 import org.apache.ignite.internal.managers.communication.*;
 import org.apache.ignite.internal.managers.eventstorage.*;
 import org.apache.ignite.internal.processors.cache.*;
-import org.apache.ignite.internal.util.*;
 import org.apache.ignite.internal.util.tostring.*;
 import org.apache.ignite.internal.util.typedef.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
@@ -524,10 +522,6 @@ public abstract class GridManagerAdapter<T extends 
IgniteSpi> implements GridMan
                         return ctx.io().messageFactory();
                     }
 
-                    @Override public IgniteExceptionRegistry 
exceptionRegistry() {
-                        return ctx.exceptionRegistry();
-                    }
-
                     /**
                      * @param e Exception to handle.
                      * @return GridSpiException Converted exception.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dbfa6f68/modules/core/src/main/java/org/apache/ignite/internal/util/GridTimer.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/GridTimer.java 
b/modules/core/src/main/java/org/apache/ignite/internal/util/GridTimer.java
index 4306d9a..05e52f1 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/GridTimer.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/GridTimer.java
@@ -112,7 +112,7 @@ public class GridTimer {
     }
 
     /**
-     * @return End time ({@code -1 if not stopped).
+     * @return End time ({@code -1} if not stopped).
      */
     public long endTime() {
         return end;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dbfa6f68/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteExceptionRegistry.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteExceptionRegistry.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteExceptionRegistry.java
index 08a7aa0..ab113d7 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteExceptionRegistry.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteExceptionRegistry.java
@@ -33,40 +33,32 @@ import static org.apache.ignite.IgniteSystemProperties.*;
  */
 public class IgniteExceptionRegistry {
     /** */
-    public static final IgniteExceptionRegistry DUMMY_REGISTRY = new 
DummyRegistry();
-    
-    /** */
     public static final int DEFAULT_QUEUE_SIZE = 1000;
 
     /** */
-    private int maxSize = 
IgniteSystemProperties.getInteger(IGNITE_EXCEPTION_REGISTRY_MAX_SIZE, 
DEFAULT_QUEUE_SIZE);
+    private static final IgniteExceptionRegistry instance = new 
IgniteExceptionRegistry();
 
     /** */
-    private AtomicLong errorCnt = new AtomicLong();
+    private int maxSize = 
IgniteSystemProperties.getInteger(IGNITE_EXCEPTION_REGISTRY_MAX_SIZE, 
DEFAULT_QUEUE_SIZE);
 
     /** */
-    private final ConcurrentLinkedDeque<ExceptionInfo> queue;
+    private AtomicLong errCnt = new AtomicLong();
 
     /** */
-    private final IgniteLogger log;
+    private final ConcurrentLinkedDeque<ExceptionInfo> q = new 
ConcurrentLinkedDeque<>();
 
     /**
-     * Constructor.
-     *
-     * @param log Ignite logger.
+     * @return Registry instance.
      */
-    public IgniteExceptionRegistry(IgniteLogger log) {
-        this.log = log;
-
-        queue = new ConcurrentLinkedDeque<>();
+    public static IgniteExceptionRegistry get() {
+        return instance;
     }
 
     /**
-     * Default constructor.
+     *
      */
-    protected IgniteExceptionRegistry() {
-        log = null;
-        queue = null;
+    private IgniteExceptionRegistry() {
+        // No-op.
     }
 
     /**
@@ -77,14 +69,20 @@ public class IgniteExceptionRegistry {
      * @param e Exception.
      */
     public void onException(String msg, Throwable e) {
-        long order = errorCnt.incrementAndGet();
-
-        // Remove extra entity.
-        while (queue.size() >= maxSize)
-            queue.pollLast();
-
-        queue.offerFirst(new ExceptionInfo(order, e, msg, 
Thread.currentThread().getId(),
-            Thread.currentThread().getName(), U.currentTimeMillis()));
+        q.offerFirst(
+            new ExceptionInfo(
+                errCnt.incrementAndGet(),
+                e,
+                msg,
+                Thread.currentThread().getId(),
+                Thread.currentThread().getName(),
+                U.currentTimeMillis()));
+
+        // Remove extra entries.
+        int delta = q.size() - maxSize;
+
+        for (int i = 0; i < delta && q.size() > maxSize; i++)
+            q.pollLast();
     }
 
     /**
@@ -96,7 +94,7 @@ public class IgniteExceptionRegistry {
     public List<ExceptionInfo> getErrors(long order) {
         List<ExceptionInfo> errors = new ArrayList<>();
 
-        for (ExceptionInfo error : queue) {
+        for (ExceptionInfo error : q) {
             if (error.order > order)
                 errors.add(error);
         }
@@ -117,26 +115,26 @@ public class IgniteExceptionRegistry {
 
     /**
      * Prints errors.
+     *
+     * @param log Logger.
      */
-    public void printErrors() {
-        int size = queue.size();
+    public void printErrors(IgniteLogger log) {
+        int size = q.size();
 
-        int cnt = 0;
+        Iterator<ExceptionInfo> descIter = q.descendingIterator();
 
-        Iterator<ExceptionInfo> descIter = queue.descendingIterator();
-
-        while (descIter.hasNext() && cnt < size){
+        for (int i = 0; i < size && descIter.hasNext(); i++) {
             ExceptionInfo error = descIter.next();
 
-            log.error(
-                "Time of occurrence: " + new Date(error.time()) + "\n" +
-                "Error message: " + error.message() + "\n" +
-                "Thread id: " + error.threadId() + "\n" +
-                "Thread name: " + error.threadName(),
+            U.error(
+                log,
+                "Error: " + (i + 1) + U.nl() +
+                "    Time: " + new Date(error.time()) + U.nl() +
+                "    Error: " + error.message() + U.nl() +
+                "    Thread ID: " + error.threadId() + U.nl() +
+                "    Thread name: " + error.threadName(),
                 error.error()
             );
-
-            ++cnt;
         }
     }
 
@@ -146,7 +144,7 @@ public class IgniteExceptionRegistry {
      * @return Errors count.
      */
     public long errorCount() {
-        return errorCnt.get();
+        return errCnt.get();
     }
 
     /**
@@ -242,41 +240,4 @@ public class IgniteExceptionRegistry {
             return S.toString(ExceptionInfo.class, this);
         }
     }
-
-    /**
-     * Dummy registry.
-     */
-    private static final class DummyRegistry extends IgniteExceptionRegistry {
-        /**
-         * Constructor.
-         */
-        private DummyRegistry() {
-            super(null);
-        }
-
-        /** {@inheritDoc} */
-        @Override public void onException(String msg, Throwable e) {
-            // No-op.
-        }
-
-        /** {@inheritDoc} */
-        @Override public List<ExceptionInfo> getErrors(long order) {
-            return Collections.emptyList();
-        }
-
-        /** {@inheritDoc} */
-        @Override public void setMaxSize(int maxSize) {
-            // No-op.
-        }
-
-        /** {@inheritDoc} */
-        @Override public void printErrors() {
-            // No-op.
-        }
-
-        /** {@inheritDoc} */
-        @Override public long errorCount() {
-            return -1L;
-        }
-    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dbfa6f68/modules/core/src/main/java/org/apache/ignite/internal/util/io/GridFilenameUtils.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/io/GridFilenameUtils.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/util/io/GridFilenameUtils.java
index ba793ac..36d76f8 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/util/io/GridFilenameUtils.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/util/io/GridFilenameUtils.java
@@ -506,7 +506,6 @@ public class GridFilenameUtils {
      * @throws IOException
      *             if an IO error occurs while checking the files.
      * @since 2.2
-     * @see FileUtils#directoryContains(File, File)
      */
     public static boolean directoryContains(final String canonicalParent, 
final String canonicalChild)
             throws IOException {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dbfa6f68/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java 
b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java
index 23572ac..2235895 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java
@@ -221,7 +221,7 @@ public abstract class IgniteSpiAdapter implements 
IgniteSpi, IgniteSpiManagement
      * @return Exception registry.
      */
     public IgniteExceptionRegistry getExceptionRegistry() {
-        return spiCtx.exceptionRegistry();
+        return IgniteExceptionRegistry.get();
     }
 
     /** {@inheritDoc} */
@@ -688,10 +688,5 @@ public abstract class IgniteSpiAdapter implements 
IgniteSpi, IgniteSpiManagement
         @Override public MessageFactory messageFactory() {
             return null;
         }
-
-        /** {@inheritDoc} */
-        @Override public IgniteExceptionRegistry exceptionRegistry() {
-            return IgniteExceptionRegistry.DUMMY_REGISTRY;
-        }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dbfa6f68/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java 
b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
index 8ebbbaf..cdc5492 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
@@ -22,7 +22,6 @@ import org.apache.ignite.cluster.*;
 import org.apache.ignite.events.*;
 import org.apache.ignite.internal.managers.communication.*;
 import org.apache.ignite.internal.managers.eventstorage.*;
-import org.apache.ignite.internal.util.*;
 import org.apache.ignite.plugin.extensions.communication.*;
 import org.apache.ignite.plugin.security.*;
 import org.apache.ignite.spi.swapspace.*;
@@ -347,11 +346,4 @@ public interface IgniteSpiContext {
      * @return Message factory.
      */
     public MessageFactory messageFactory();
-
-    /**
-     * Gets exception registry.
-     *
-     * @return Exception registry.
-     */
-    public IgniteExceptionRegistry exceptionRegistry();
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dbfa6f68/modules/core/src/test/java/org/apache/ignite/internal/util/IgniteExceptionRegistrySelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/util/IgniteExceptionRegistrySelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/util/IgniteExceptionRegistrySelfTest.java
index 34320b2..a9b6778 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/util/IgniteExceptionRegistrySelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/util/IgniteExceptionRegistrySelfTest.java
@@ -29,14 +29,7 @@ import java.util.concurrent.*;
 @GridCommonTest(group = "Utils")
 public class IgniteExceptionRegistrySelfTest extends GridCommonAbstractTest {
     /** */
-    private IgniteExceptionRegistry registry;
-
-    /** {@inheritDoc} */
-    @Override protected void beforeTest() throws Exception {
-        super.beforeTest();
-
-        registry = new IgniteExceptionRegistry(new GridStringLogger());
-    }
+    private IgniteExceptionRegistry registry = IgniteExceptionRegistry.get();
 
     /**
      * @throws Exception if failed.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dbfa6f68/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java
 
b/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java
index 203dbc2..80e5c42 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java
@@ -512,11 +512,6 @@ public class GridSpiTestContext implements 
IgniteSpiContext {
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteExceptionRegistry exceptionRegistry() {
-        return IgniteExceptionRegistry.DUMMY_REGISTRY;
-    }
-
-    /** {@inheritDoc} */
     @Override public MessageFactory messageFactory() {
         if (factory == null)
             factory = new GridIoMessageFactory(null);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dbfa6f68/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridTestKernalContext.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridTestKernalContext.java
 
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridTestKernalContext.java
index 4911f1b..b871a4a 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridTestKernalContext.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridTestKernalContext.java
@@ -20,7 +20,6 @@ package org.apache.ignite.testframework.junits;
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.internal.*;
-import org.apache.ignite.internal.util.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 import org.apache.ignite.testframework.*;
 
@@ -39,7 +38,6 @@ public class GridTestKernalContext extends 
GridKernalContextImpl {
             new IgniteKernal(null),
             new IgniteConfiguration(),
             new GridKernalGatewayImpl(null),
-            IgniteExceptionRegistry.DUMMY_REGISTRY,
             null,
             null,
             null,

Reply via email to