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 2017/07/19 09:09:22 UTC

[01/15] ignite git commit: Fixed NPE in tests

Repository: ignite
Updated Branches:
  refs/heads/master b3bce81d1 -> e5f2d90c6


Fixed NPE in tests


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

Branch: refs/heads/master
Commit: 18bdfe96a1e579371108c661e3374183c58a296d
Parents: 3c1749d
Author: Alexey Goncharuk <al...@gmail.com>
Authored: Thu Jul 13 15:42:30 2017 +0300
Committer: Alexey Goncharuk <al...@gmail.com>
Committed: Thu Jul 13 15:42:30 2017 +0300

----------------------------------------------------------------------
 .../ignite/internal/processors/database/BPlusTreeSelfTest.java   | 4 +++-
 .../internal/processors/database/FreeListImplSelfTest.java       | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/18bdfe96/modules/core/src/test/java/org/apache/ignite/internal/processors/database/BPlusTreeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/database/BPlusTreeSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/database/BPlusTreeSelfTest.java
index fadfc23..4a32df2 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/database/BPlusTreeSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/database/BPlusTreeSelfTest.java
@@ -1774,7 +1774,9 @@ public class BPlusTreeSelfTest extends GridCommonAbstractTest {
      * @return Page memory.
      */
     protected PageMemory createPageMemory() throws Exception {
-        MemoryPolicyConfiguration plcCfg = new MemoryPolicyConfiguration().setMaxSize(1024 * MB);
+        MemoryPolicyConfiguration plcCfg = new MemoryPolicyConfiguration()
+            .setInitialSize(1024 * MB)
+            .setMaxSize(1024 * MB);
 
         PageMemory pageMem = new PageMemoryNoStoreImpl(log,
             new UnsafeMemoryProvider(log),

http://git-wip-us.apache.org/repos/asf/ignite/blob/18bdfe96/modules/core/src/test/java/org/apache/ignite/internal/processors/database/FreeListImplSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/database/FreeListImplSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/database/FreeListImplSelfTest.java
index d650ac1..c190b1d 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/database/FreeListImplSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/database/FreeListImplSelfTest.java
@@ -335,7 +335,9 @@ public class FreeListImplSelfTest extends GridCommonAbstractTest {
      * @throws Exception If failed.
      */
     protected FreeList createFreeList(int pageSize) throws Exception {
-        MemoryPolicyConfiguration plcCfg = new MemoryPolicyConfiguration().setMaxSize(1024 * MB);
+        MemoryPolicyConfiguration plcCfg = new MemoryPolicyConfiguration()
+            .setInitialSize(1024 * MB)
+            .setMaxSize(1024 * MB);
 
         pageMem = createPageMemory(pageSize, plcCfg);
 


[02/15] ignite git commit: Functionality of muted test is debated now

Posted by sb...@apache.org.
Functionality of muted test is debated now


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

Branch: refs/heads/master
Commit: d9ed07c67e4a4ff3a9de543cbe039ac2a48f03a0
Parents: 18bdfe9
Author: Sergey Chugunov <se...@gmail.com>
Authored: Thu Jul 13 17:32:06 2017 +0300
Committer: Sergey Chugunov <se...@gmail.com>
Committed: Thu Jul 13 17:32:06 2017 +0300

----------------------------------------------------------------------
 .../internal/IgniteUpdateNotifierPerClusterSettingSelfTest.java    | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/d9ed07c6/modules/core/src/test/java/org/apache/ignite/internal/IgniteUpdateNotifierPerClusterSettingSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/IgniteUpdateNotifierPerClusterSettingSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/IgniteUpdateNotifierPerClusterSettingSelfTest.java
index a348ea5..5f11088 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/IgniteUpdateNotifierPerClusterSettingSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/IgniteUpdateNotifierPerClusterSettingSelfTest.java
@@ -66,6 +66,8 @@ public class IgniteUpdateNotifierPerClusterSettingSelfTest extends GridCommonAbs
      * @throws Exception If failed.
      */
     public void testNotifierEnabledForCluster() throws Exception {
+        fail("https://issues.apache.org/jira/browse/IGNITE-5413");
+
         checkNotifierStatusForCluster(true);
     }
 


[10/15] ignite git commit: Test configuration fix to pass validation.

Posted by sb...@apache.org.
Test configuration fix to pass validation.


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

Branch: refs/heads/master
Commit: e7ed26b6d305485d3a48ffcca0b9f4069e1fad30
Parents: 1d75560
Author: Sergey Chugunov <se...@gmail.com>
Authored: Fri Jul 14 17:04:51 2017 +0300
Committer: Sergey Chugunov <se...@gmail.com>
Committed: Fri Jul 14 18:44:33 2017 +0300

----------------------------------------------------------------------
 .../GridCachePartitionEvictionDuringReadThroughSelfTest.java        | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/e7ed26b6/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCachePartitionEvictionDuringReadThroughSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCachePartitionEvictionDuringReadThroughSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCachePartitionEvictionDuringReadThroughSelfTest.java
index d5351f7..ee0e536 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCachePartitionEvictionDuringReadThroughSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCachePartitionEvictionDuringReadThroughSelfTest.java
@@ -53,6 +53,7 @@ public class GridCachePartitionEvictionDuringReadThroughSelfTest extends GridCom
                 .setAtomicityMode(CacheAtomicityMode.ATOMIC)
                 .setBackups(0) // No need for backup, just load from the store if needed
                 .setCacheStoreFactory(new CacheStoreFactory())
+                .setOnheapCacheEnabled(true)
                 .setEvictionPolicy(new LruEvictionPolicy(100))
                 .setNearConfiguration(new NearCacheConfiguration<Integer, Integer>()
                 .setNearEvictionPolicy(new LruEvictionPolicy<Integer, Integer>()));


[13/15] ignite git commit: Minor (comments)

Posted by sb...@apache.org.
Minor (comments)


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

Branch: refs/heads/master
Commit: 310d903a3ae23a2761c5c8339e5cd53ea6a7eb03
Parents: 2b50486
Author: Alexey Goncharuk <al...@gmail.com>
Authored: Mon Jul 17 12:45:20 2017 +0300
Committer: Alexey Goncharuk <al...@gmail.com>
Committed: Mon Jul 17 12:45:20 2017 +0300

----------------------------------------------------------------------
 .../internal/managers/communication/GridIoMessageFactory.java      | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/310d903a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
index 3dac18e..29c89a5 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
@@ -872,7 +872,7 @@ public class GridIoMessageFactory implements MessageFactory {
             // [-3..119] [124..127] [-23..-27] [-36..-55]- this
             // [120..123] - DR
             // [-4..-22, -30..-35] - SQL
-            // [-54..-60] - Snapshots
+            // [2048..2053] - Snapshots
             default:
                 if (ext != null) {
                     for (MessageFactory factory : ext) {


[07/15] ignite git commit: GridCacheAbstractNodeRestartSelfTest stopping all grids after each test to prevent subsequent test failures when one test fails or hangs

Posted by sb...@apache.org.
GridCacheAbstractNodeRestartSelfTest stopping all grids after each test to prevent subsequent test failures when one test fails or hangs


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

Branch: refs/heads/master
Commit: d5cc82cb09cf37da783c9bcfbf6743b8910ceb30
Parents: 1e7e692
Author: Sergey Chugunov <se...@gmail.com>
Authored: Fri Jul 14 14:52:09 2017 +0300
Committer: Sergey Chugunov <se...@gmail.com>
Committed: Fri Jul 14 14:52:09 2017 +0300

----------------------------------------------------------------------
 .../cache/distributed/GridCacheAbstractNodeRestartSelfTest.java    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/d5cc82cb/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java
index 211cc34..8d5a4aa 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java
@@ -165,7 +165,7 @@ public abstract class GridCacheAbstractNodeRestartSelfTest extends GridCommonAbs
     }
 
     /** {@inheritDoc} */
-    @Override protected void afterTestsStopped() throws Exception {
+    @Override protected void afterTest() throws Exception {
         stopAllGrids();
     }
 


[14/15] ignite git commit: GG-12495 SaveStoreMetadata doesn't work for local cache. Got NPE.

Posted by sb...@apache.org.
GG-12495 SaveStoreMetadata doesn't work for local cache. Got NPE.


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

Branch: refs/heads/master
Commit: 0d6b73081725d006947a11bfe787bf01f0e869f4
Parents: 310d903
Author: Ivan Rakov <iv...@gmail.com>
Authored: Mon Jul 17 13:25:58 2017 +0300
Committer: Ivan Rakov <iv...@gmail.com>
Committed: Mon Jul 17 13:25:58 2017 +0300

----------------------------------------------------------------------
 .../wal/record/delta/MetaPageUpdatePartitionDataRecord.java        | 2 ++
 .../processors/cache/persistence/GridCacheOffheapManager.java      | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/0d6b7308/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdatePartitionDataRecord.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdatePartitionDataRecord.java b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdatePartitionDataRecord.java
index f85f468..a6ed7c5 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdatePartitionDataRecord.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/wal/record/delta/MetaPageUpdatePartitionDataRecord.java
@@ -111,6 +111,8 @@ public class MetaPageUpdatePartitionDataRecord extends PageDeltaRecord {
         io.setGlobalRemoveId(pageAddr, globalRmvId);
         io.setSize(pageAddr, partSize);
         io.setCountersPageId(pageAddr, cntrsPageId);
+        io.setPartitionState(pageAddr, state);
+        io.setCandidatePageCount(pageAddr, allocatedIdxCandidate);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/ignite/blob/0d6b7308/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java
index 6e6b7df..ed6eee2 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheOffheapManager.java
@@ -363,7 +363,7 @@ public class GridCacheOffheapManager extends IgniteCacheOffheapManagerImpl imple
                                 rmvId,
                                 size,
                                 cntrsPageId,
-                                (byte)state.ordinal(),
+                                state == null ? -1 : (byte)state.ordinal(),
                                 pageCnt
                             ));
                     }


[15/15] ignite git commit: Merge remote-tracking branch 'remotes/community/ignite-2.1.3'

Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/community/ignite-2.1.3'


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

Branch: refs/heads/master
Commit: e5f2d90c6db491ea03b2f76230a1467bc93e35df
Parents: b3bce81 0d6b730
Author: sboikov <sb...@gridgain.com>
Authored: Wed Jul 19 12:08:37 2017 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Wed Jul 19 12:08:37 2017 +0300

----------------------------------------------------------------------
 .../internal/managers/communication/GridIoMessageFactory.java    | 2 +-
 .../wal/record/delta/MetaPageUpdatePartitionDataRecord.java      | 2 ++
 .../processors/cache/persistence/GridCacheOffheapManager.java    | 2 +-
 .../java/org/apache/ignite/internal/GridVersionSelfTest.java     | 2 ++
 .../internal/IgniteUpdateNotifierPerClusterSettingSelfTest.java  | 2 ++
 .../cache/distributed/GridCacheAbstractNodeRestartSelfTest.java  | 2 +-
 .../GridCachePartitionEvictionDuringReadThroughSelfTest.java     | 1 +
 .../replicated/GridCacheReplicatedNodeRestartSelfTest.java       | 2 +-
 .../ignite/internal/processors/database/BPlusTreeSelfTest.java   | 4 +++-
 .../internal/processors/database/FreeListImplSelfTest.java       | 4 +++-
 .../apache/ignite/yardstick/cache/IgnitePutTxLoadBenchmark.java  | 3 +--
 11 files changed, 18 insertions(+), 8 deletions(-)
----------------------------------------------------------------------



[06/15] ignite git commit: IGNITE-4831: Add an option to disable MBeans. This closes #2265.

Posted by sb...@apache.org.
IGNITE-4831: Add an option to disable MBeans. This closes #2265.

(cherry picked from commit 7283edb)


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

Branch: refs/heads/master
Commit: 9fa78849c1ecc45fa56f518ad229e76725c27790
Parents: 1e7e692
Author: Andrey V. Mashenkov <an...@gmail.com>
Authored: Fri Jul 14 14:12:29 2017 +0300
Committer: Andrey V. Mashenkov <an...@gmail.com>
Committed: Fri Jul 14 14:29:25 2017 +0300

----------------------------------------------------------------------
 .../apache/ignite/IgniteSystemProperties.java   |   8 ++
 .../org/apache/ignite/cache/CacheManager.java   |  10 ++
 .../apache/ignite/internal/IgniteKernal.java    |  71 ++++++-----
 .../org/apache/ignite/internal/IgnitionEx.java  |  10 +-
 .../client/router/impl/GridTcpRouterImpl.java   |  57 ++++++---
 .../processors/cache/GridCacheProcessor.java    |  11 +-
 .../GridCacheDatabaseSharedManager.java         |  28 +++--
 .../IgniteCacheDatabaseSharedManager.java       |  44 ++++---
 .../ignite/internal/util/IgniteUtils.java       |  23 +++-
 .../org/apache/ignite/spi/IgniteSpiAdapter.java |  10 +-
 .../testsuites/IgniteUtilSelfTestSuite.java     |   2 +
 .../util/mbeans/GridMBeanDisableSelfTest.java   | 121 +++++++++++++++++++
 12 files changed, 312 insertions(+), 83 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/9fa78849/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
index 35b0577..1a2887a 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
@@ -404,6 +404,14 @@ public final class IgniteSystemProperties {
     public static final String IGNITE_MBEAN_APPEND_CLASS_LOADER_ID = "IGNITE_MBEAN_APPEND_CLASS_LOADER_ID";
 
     /**
+     * If property is set to {@code true}, then Ignite will disable MBeans registration.
+     * This may be helpful if MBeans are not allowed e.g. for security reasons.
+     *
+     * Default is {@code false}
+     */
+    public static final String IGNITE_MBEANS_DISABLED = "IGNITE_MBEANS_DISABLED";
+
+    /**
      * Property controlling size of buffer holding last exception. Default value of {@code 1000}.
      */
     public static final String IGNITE_EXCEPTION_REGISTRY_MAX_SIZE = "IGNITE_EXCEPTION_REGISTRY_MAX_SIZE";

http://git-wip-us.apache.org/repos/asf/ignite/blob/9fa78849/modules/core/src/main/java/org/apache/ignite/cache/CacheManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cache/CacheManager.java b/modules/core/src/main/java/org/apache/ignite/cache/CacheManager.java
index 97409fa..351cd0d 100644
--- a/modules/core/src/main/java/org/apache/ignite/cache/CacheManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/CacheManager.java
@@ -44,6 +44,7 @@ import org.apache.ignite.internal.IgniteKernal;
 import org.apache.ignite.internal.IgnitionEx;
 import org.apache.ignite.internal.mxbean.IgniteStandardMXBean;
 import org.apache.ignite.internal.processors.cache.IgniteCacheProxy;
+import org.apache.ignite.internal.util.IgniteUtils;
 import org.apache.ignite.internal.util.typedef.internal.CU;
 import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
@@ -314,6 +315,9 @@ public class CacheManager implements javax.cache.CacheManager {
 
     /** {@inheritDoc} */
     @Override public void enableManagement(String cacheName, boolean enabled) {
+        if(IgniteUtils.IGNITE_MBEANS_DISABLED)
+            return;
+
         kernalGateway.readLock();
 
         try {
@@ -336,6 +340,9 @@ public class CacheManager implements javax.cache.CacheManager {
 
     /** {@inheritDoc} */
     @Override public void enableStatistics(String cacheName, boolean enabled) {
+        if(IgniteUtils.IGNITE_MBEANS_DISABLED)
+            return;
+
         kernalGateway.readLock();
 
         try {
@@ -389,6 +396,9 @@ public class CacheManager implements javax.cache.CacheManager {
      * @param beanType Mxbean name.
      */
     private void unregisterCacheObject(String name, String beanType) {
+        if(IgniteUtils.IGNITE_MBEANS_DISABLED)
+            return;
+
         MBeanServer mBeanSrv = ignite.configuration().getMBeanServer();
 
         Set<ObjectName> registeredObjNames = mBeanSrv.queryNames(getObjectName(name, beanType), null);

http://git-wip-us.apache.org/repos/asf/ignite/blob/9fa78849/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 0c17b32..00c1d73 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
@@ -1605,6 +1605,9 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable {
 
     /** @throws IgniteCheckedException If registration failed. */
     private void registerKernalMBean() throws IgniteCheckedException {
+        if(U.IGNITE_MBEANS_DISABLED)
+            return;
+
         try {
             kernalMBean = U.registerMBean(
                 cfg.getMBeanServer(),
@@ -1626,6 +1629,9 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable {
 
     /** @throws IgniteCheckedException If registration failed. */
     private void registerLocalNodeMBean() throws IgniteCheckedException {
+        if(U.IGNITE_MBEANS_DISABLED)
+            return;
+
         ClusterLocalNodeMetricsMXBean mbean = new ClusterLocalNodeMetricsMXBeanImpl(ctx.discovery().localNode());
 
         try {
@@ -1662,7 +1668,9 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable {
         ExecutorService mgmtExecSvc,
         ExecutorService restExecSvc,
         ExecutorService qryExecSvc,
-        ExecutorService schemaExecSvc) throws IgniteCheckedException {
+        ExecutorService schemaExecSvc
+    ) throws IgniteCheckedException {if(U.IGNITE_MBEANS_DISABLED)
+            return;
         pubExecSvcMBean = registerExecutorMBean(execSvc, "GridExecutionExecutor");
         sysExecSvcMBean = registerExecutorMBean(sysExecSvc, "GridSystemExecutor");
         mgmtExecSvcMBean = registerExecutorMBean(mgmtExecSvc, "GridManagementExecutor");
@@ -1684,6 +1692,7 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable {
      */
     private ObjectName registerExecutorMBean(ExecutorService exec, String name) throws IgniteCheckedException {
         assert exec != null;
+        assert !U.IGNITE_MBEANS_DISABLED;
 
         try {
             ObjectName res = U.registerMBean(
@@ -1710,24 +1719,26 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable {
      * @throws IgniteCheckedException If registration failed.
      */
     private void registerStripedExecutorMBean(StripedExecutor stripedExecSvc) throws IgniteCheckedException {
-        if (stripedExecSvc != null) {
-            String name = "StripedExecutor";
+        if (stripedExecSvc == null || U.IGNITE_MBEANS_DISABLED)
+            return;
 
-            try {
-                stripedExecSvcMBean = U.registerMBean(
-                    cfg.getMBeanServer(),
-                    cfg.getIgniteInstanceName(),
-                    "Thread Pools",
-                    name,
-                    new StripedExecutorMXBeanAdapter(stripedExecSvc),
-                    StripedExecutorMXBean.class);
+        String name = "StripedExecutor";
 
-                if (log.isDebugEnabled())
-                    log.debug("Registered executor service MBean: " + stripedExecSvcMBean);
-            } catch (JMException e) {
-                throw new IgniteCheckedException("Failed to register executor service MBean [name="
-                    + name + ", exec=" + stripedExecSvc + ']', e);
-            }
+        try {
+            stripedExecSvcMBean = U.registerMBean(
+                cfg.getMBeanServer(),
+                cfg.getIgniteInstanceName(),
+                "Thread Pools",
+                name,
+                new StripedExecutorMXBeanAdapter(stripedExecSvc),
+                StripedExecutorMXBean.class);
+
+            if (log.isDebugEnabled())
+                log.debug("Registered executor service MBean: " + stripedExecSvcMBean);
+        }
+        catch (JMException e) {
+            throw new IgniteCheckedException("Failed to register executor service MBean [name="
+                + name + ", exec=" + stripedExecSvc + ']', e);
         }
     }
 
@@ -1738,22 +1749,24 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable {
      * @return {@code True} if successfully unregistered, {@code false} otherwise.
      */
     private boolean unregisterMBean(@Nullable ObjectName mbean) {
-        if (mbean != null)
-            try {
-                cfg.getMBeanServer().unregisterMBean(mbean);
+        if (mbean == null)
+            return true;
 
-                if (log.isDebugEnabled())
-                    log.debug("Unregistered MBean: " + mbean);
+        assert !U.IGNITE_MBEANS_DISABLED;
 
-                return true;
-            }
-            catch (JMException e) {
-                U.error(log, "Failed to unregister MBean.", e);
+        try {
+            cfg.getMBeanServer().unregisterMBean(mbean);
 
-                return false;
-            }
+            if (log.isDebugEnabled())
+                log.debug("Unregistered MBean: " + mbean);
 
-        return true;
+            return true;
+        }
+        catch (JMException e) {
+            U.error(log, "Failed to unregister MBean.", e);
+
+            return false;
+        }
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/ignite/blob/9fa78849/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
index 187d4af..d219333 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
@@ -2120,7 +2120,7 @@ public class IgnitionEx {
             if (myCfg.getUserAttributes() == null)
                 myCfg.setUserAttributes(Collections.<String, Object>emptyMap());
 
-            if (myCfg.getMBeanServer() == null)
+            if (myCfg.getMBeanServer() == null && !U.IGNITE_MBEANS_DISABLED)
                 myCfg.setMBeanServer(ManagementFactory.getPlatformMBeanServer());
 
             Marshaller marsh = myCfg.getMarshaller();
@@ -2570,6 +2570,11 @@ public class IgnitionEx {
          * @throws IgniteCheckedException If registration failed.
          */
         private void registerFactoryMbean(MBeanServer srv) throws IgniteCheckedException {
+            if(U.IGNITE_MBEANS_DISABLED)
+                return;
+
+            assert srv != null;
+
             synchronized (mbeans) {
                 GridMBeanServerData data = mbeans.get(srv);
 
@@ -2620,6 +2625,9 @@ public class IgnitionEx {
          * Unregister delegate Mbean instance for {@link Ignition}.
          */
         private void unregisterFactoryMBean() {
+            if(U.IGNITE_MBEANS_DISABLED)
+                return;
+
             synchronized (mbeans) {
                 Iterator<Entry<MBeanServer, GridMBeanServerData>> iter = mbeans.entrySet().iterator();
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/9fa78849/modules/core/src/main/java/org/apache/ignite/internal/client/router/impl/GridTcpRouterImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/client/router/impl/GridTcpRouterImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/client/router/impl/GridTcpRouterImpl.java
index cb8325b..da55ec7 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/client/router/impl/GridTcpRouterImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/client/router/impl/GridTcpRouterImpl.java
@@ -169,6 +169,32 @@ public class GridTcpRouterImpl implements GridTcpRouter, GridTcpRouterMBean, Lif
                 "are in use) [firstPort=" + cfg.getPort() + ", lastPort=" + (cfg.getPort() + cfg.getPortRange()) +
                 ", addr=" + hostAddr + ']');
 
+        registerMBean();
+    }
+
+    /**
+     * Stops this router.
+     */
+    @Override public void stop() {
+        if (srv != null)
+            srv.stop();
+
+        if (client != null)
+            client.stop(true);
+
+        unregisterMBean();
+
+        if (log.isInfoEnabled())
+            log.info("TCP router successfully stopped.");
+    }
+
+    /**
+     * Try to register MBean.
+     */
+    private void registerMBean() {
+        if (U.IGNITE_MBEANS_DISABLED)
+            return;
+
         try {
             ObjectName objName = U.registerMBean(
                 ManagementFactory.getPlatformMBeanServer(),
@@ -189,28 +215,23 @@ public class GridTcpRouterImpl implements GridTcpRouter, GridTcpRouterMBean, Lif
     }
 
     /**
-     * Stops this router.
+     * Unregister MBean.
      */
-    @Override public void stop() {
-        if (srv != null)
-            srv.stop();
-
-        if (client != null)
-            client.stop(true);
+    private void unregisterMBean() {
+        if (mbeanName == null)
+            return;
 
-        if (mbeanName != null)
-            try {
-                ManagementFactory.getPlatformMBeanServer().unregisterMBean(mbeanName);
+        assert !U.IGNITE_MBEANS_DISABLED;
 
-                if (log.isDebugEnabled())
-                    log.debug("Unregistered MBean: " + mbeanName);
-            }
-            catch (JMException e) {
-                U.error(log, "Failed to unregister MBean.", e);
-            }
+        try {
+            ManagementFactory.getPlatformMBeanServer().unregisterMBean(mbeanName);
 
-        if (log.isInfoEnabled())
-            log.info("TCP router successfully stopped.");
+            if (log.isDebugEnabled())
+                log.debug("Unregistered MBean: " + mbeanName);
+        }
+        catch (JMException e) {
+            U.error(log, "Failed to unregister MBean.", e);
+        }
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/ignite/blob/9fa78849/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 5149d4b..5b709b3 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
@@ -37,7 +37,6 @@ import java.util.concurrent.CountDownLatch;
 import javax.cache.configuration.Factory;
 import javax.cache.integration.CacheLoader;
 import javax.cache.integration.CacheWriter;
-import javax.management.JMException;
 import javax.management.MBeanServer;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.IgniteException;
@@ -3584,6 +3583,9 @@ public class GridCacheProcessor extends GridProcessorAdapter {
     @SuppressWarnings("unchecked")
     private void registerMbean(Object obj, @Nullable String cacheName, boolean near)
         throws IgniteCheckedException {
+        if(U.IGNITE_MBEANS_DISABLED)
+            return;
+
         assert obj != null;
 
         MBeanServer srvr = ctx.config().getMBeanServer();
@@ -3602,7 +3604,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
                     U.registerCacheMBean(srvr, ctx.igniteInstanceName(), cacheName, obj.getClass().getName(), mbeanImpl,
                         (Class<Object>)itf);
                 }
-                catch (JMException e) {
+                catch (Throwable e) {
                     throw new IgniteCheckedException("Failed to register MBean for component: " + obj, e);
                 }
 
@@ -3619,6 +3621,9 @@ public class GridCacheProcessor extends GridProcessorAdapter {
      * @param near Near flag.
      */
     private void unregisterMbean(Object o, @Nullable String cacheName, boolean near) {
+        if(U.IGNITE_MBEANS_DISABLED)
+            return;
+
         assert o != null;
 
         MBeanServer srvr = ctx.config().getMBeanServer();
@@ -3645,7 +3650,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
             try {
                 srvr.unregisterMBean(U.makeCacheMBeanName(ctx.igniteInstanceName(), cacheName, o.getClass().getName()));
             }
-            catch (JMException e) {
+            catch (Throwable e) {
                 U.error(log, "Failed to unregister MBean for component: " + o, e);
             }
         }

http://git-wip-us.apache.org/repos/asf/ignite/blob/9fa78849/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java
index d147f36..39038ba 100755
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java
@@ -477,9 +477,13 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan
     }
 
     /**
+     * Try to register Metrics MBean.
      * @throws IgniteCheckedException If failed.
      */
     private void registrateMetricsMBean() throws IgniteCheckedException {
+        if (U.IGNITE_MBEANS_DISABLED)
+            return;
+
         try {
             persistenceMetricsMbeanName = U.registerMBean(
                 cctx.kernalContext().config().getMBeanServer(),
@@ -489,25 +493,25 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan
                 persStoreMetrics,
                 PersistenceMetricsMXBean.class);
         }
-        catch (JMException e) {
+        catch (Throwable e) {
             throw new IgniteCheckedException("Failed to register " + MBEAN_NAME + " MBean.", e);
         }
     }
 
     /**
-     *
+     * Unregister metrics MBean.
      */
     private void unRegistrateMetricsMBean() {
-        if (persistenceMetricsMbeanName != null) {
-            try {
-                cctx.kernalContext().config().getMBeanServer().unregisterMBean(persistenceMetricsMbeanName);
-            }
-            catch (InstanceNotFoundException ignore) {
-                // No-op, nothing to unregister.
-            }
-            catch (MBeanRegistrationException e) {
-                U.error(log, "Failed to unregister " + MBEAN_NAME + " MBean.", e);
-            }
+        if (persistenceMetricsMbeanName == null)
+            return;
+
+        assert !U.IGNITE_MBEANS_DISABLED;
+
+        try {
+            cctx.kernalContext().config().getMBeanServer().unregisterMBean(persistenceMetricsMbeanName);
+        }
+        catch (Throwable e) {
+            U.error(log, "Failed to unregister " + MBEAN_NAME + " MBean.", e);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/9fa78849/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java
index c503fb4..eec3b85 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java
@@ -115,6 +115,9 @@ public class IgniteCacheDatabaseSharedManager extends GridCacheSharedManagerAdap
      * Registers MBeans for all MemoryMetrics configured in this instance.
      */
     private void registerMetricsMBeans() {
+        if(U.IGNITE_MBEANS_DISABLED)
+            return;
+
         IgniteConfiguration cfg = cctx.gridConfig();
 
         for (MemoryMetrics memMetrics : memMetricsMap.values()) {
@@ -134,6 +137,8 @@ public class IgniteCacheDatabaseSharedManager extends GridCacheSharedManagerAdap
         MemoryPolicyConfiguration memPlcCfg,
         IgniteConfiguration cfg
     ) {
+        assert !U.IGNITE_MBEANS_DISABLED;
+
         try {
             U.registerMBean(
                 cfg.getMBeanServer(),
@@ -143,7 +148,7 @@ public class IgniteCacheDatabaseSharedManager extends GridCacheSharedManagerAdap
                 new MemoryMetricsMXBeanImpl(memMetrics, memPlcCfg),
                 MemoryMetricsMXBean.class);
         }
-        catch (JMException e) {
+        catch (Throwable e) {
             U.error(log, "Failed to register MBean for MemoryMetrics with name: '" + memMetrics.getName() + "'", e);
         }
     }
@@ -647,19 +652,7 @@ public class IgniteCacheDatabaseSharedManager extends GridCacheSharedManagerAdap
 
                 memPlc.evictionTracker().stop();
 
-                IgniteConfiguration cfg = cctx.gridConfig();
-
-                try {
-                    cfg.getMBeanServer().unregisterMBean(
-                        U.makeMBeanName(
-                            cfg.getIgniteInstanceName(),
-                            "MemoryMetrics",
-                            memPlc.memoryMetrics().getName()));
-                }
-                catch (JMException e) {
-                    U.error(log, "Failed to unregister MBean for memory metrics: " +
-                        memPlc.memoryMetrics().getName(), e);
-                }
+                unregisterMBean(memPlc.memoryMetrics().getName());
             }
 
             memPlcMap.clear();
@@ -669,6 +662,29 @@ public class IgniteCacheDatabaseSharedManager extends GridCacheSharedManagerAdap
     }
 
     /**
+     * Unregister MBean.
+     * @param name Name of mbean.
+     */
+    private void unregisterMBean(String name) {
+        if(U.IGNITE_MBEANS_DISABLED)
+            return;
+
+        IgniteConfiguration cfg = cctx.gridConfig();
+
+        try {
+            cfg.getMBeanServer().unregisterMBean(
+                U.makeMBeanName(
+                    cfg.getIgniteInstanceName(),
+                    "MemoryMetrics", name
+                    ));
+        }
+        catch (Throwable e) {
+            U.error(log, "Failed to unregister MBean for memory metrics: " +
+                name, e);
+        }
+    }
+
+    /**
      *
      */
     public boolean persistenceEnabled() {

http://git-wip-us.apache.org/repos/asf/ignite/blob/9fa78849/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
index 6b94d09..6a3be55 100755
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
@@ -139,6 +139,7 @@ import java.util.zip.ZipInputStream;
 import java.util.zip.ZipOutputStream;
 import javax.management.DynamicMBean;
 import javax.management.JMException;
+import javax.management.MBeanRegistrationException;
 import javax.management.MBeanServer;
 import javax.management.MalformedObjectNameException;
 import javax.management.ObjectName;
@@ -155,6 +156,7 @@ import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.IgniteClientDisconnectedException;
 import org.apache.ignite.IgniteDeploymentException;
 import org.apache.ignite.IgniteException;
+import org.apache.ignite.IgniteIllegalStateException;
 import org.apache.ignite.IgniteInterruptedException;
 import org.apache.ignite.IgniteLogger;
 import org.apache.ignite.IgniteSystemProperties;
@@ -515,11 +517,14 @@ public abstract class IgniteUtils {
         }
     };
 
+    /** Ignite MBeans disabled flag. */
+    public static boolean IGNITE_MBEANS_DISABLED = IgniteSystemProperties.getBoolean(IgniteSystemProperties.IGNITE_MBEANS_DISABLED);
+
     /** */
     private static final boolean assertionsEnabled;
 
     /*
-     *
+     * Initializes enterprise check.
      */
     static {
         boolean assertionsEnabled0 = true;
@@ -4486,10 +4491,12 @@ public abstract class IgniteUtils {
      * @param impl MBean implementation.
      * @param itf MBean interface.
      * @return JMX object name.
+     * @throws MBeanRegistrationException if MBeans are disabled.
      * @throws JMException If MBean creation failed.
      */
-    public static <T> ObjectName registerMBean(MBeanServer mbeanSrv, @Nullable String igniteInstanceName,
-        @Nullable String grp, String name, T impl, @Nullable Class<T> itf) throws JMException {
+    public static <T> ObjectName registerMBean(MBeanServer mbeanSrv, @Nullable String igniteInstanceName, @Nullable String grp,
+        String name, T impl, @Nullable Class<T> itf) throws JMException {if(IGNITE_MBEANS_DISABLED)
+            throw new MBeanRegistrationException(new IgniteIllegalStateException("No MBeans are allowed."));
         assert mbeanSrv != null;
         assert name != null;
         assert itf != null;
@@ -4510,10 +4517,15 @@ public abstract class IgniteUtils {
      * @param impl MBean implementation.
      * @param itf MBean interface.
      * @return JMX object name.
+     * @throws MBeanRegistrationException if MBeans are disabled.
      * @throws JMException If MBean creation failed.
+     * @throws IgniteException If MBean creation are not allowed.
      */
     public static <T> ObjectName registerMBean(MBeanServer mbeanSrv, ObjectName name, T impl, Class<T> itf)
         throws JMException {
+        if(IGNITE_MBEANS_DISABLED)
+            throw new MBeanRegistrationException(new IgniteIllegalStateException("MBeans are disabled."));
+
         assert mbeanSrv != null;
         assert name != null;
         assert itf != null;
@@ -4536,10 +4548,15 @@ public abstract class IgniteUtils {
      * @param impl MBean implementation.
      * @param itf MBean interface.
      * @return JMX object name.
+     * @throws MBeanRegistrationException if MBeans are disabled.
      * @throws JMException If MBean creation failed.
+     * @throws IgniteException If MBean creation are not allowed.
      */
     public static <T> ObjectName registerCacheMBean(MBeanServer mbeanSrv, @Nullable String igniteInstanceName,
         @Nullable String cacheName, String name, T impl, Class<T> itf) throws JMException {
+        if(IGNITE_MBEANS_DISABLED)
+            throw new MBeanRegistrationException(new IgniteIllegalStateException("MBeans are disabled."));
+
         assert mbeanSrv != null;
         assert name != null;
         assert itf != null;

http://git-wip-us.apache.org/repos/asf/ignite/blob/9fa78849/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 59c2656..07ba214 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
@@ -401,9 +401,11 @@ public abstract class IgniteSpiAdapter implements IgniteSpi {
      * @param <T> Type of the MBean
      * @throws IgniteSpiException If registration failed.
      */
-    protected final <T extends IgniteSpiManagementMBean> void registerMBean(
-        String igniteInstanceName, T impl, Class<T> mbeanItf
-    ) throws IgniteSpiException {
+    protected final <T extends IgniteSpiManagementMBean> void registerMBean(String igniteInstanceName, T impl, Class<T> mbeanItf
+       ) throws IgniteSpiException {
+        if(ignite == null || U.IGNITE_MBEANS_DISABLED)
+            return;
+
         MBeanServer jmx = ignite.configuration().getMBeanServer();
 
         assert mbeanItf == null || mbeanItf.isInterface();
@@ -428,6 +430,8 @@ public abstract class IgniteSpiAdapter implements IgniteSpi {
     protected final void unregisterMBean() throws IgniteSpiException {
         // Unregister SPI MBean.
         if (spiMBean != null && ignite != null) {
+            assert !U.IGNITE_MBEANS_DISABLED;
+
             MBeanServer jmx = ignite.configuration().getMBeanServer();
 
             assert jmx != null;

http://git-wip-us.apache.org/repos/asf/ignite/blob/9fa78849/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteUtilSelfTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteUtilSelfTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteUtilSelfTestSuite.java
index 1298a75..20f37f7 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteUtilSelfTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteUtilSelfTestSuite.java
@@ -46,6 +46,7 @@ import org.apache.ignite.util.GridPartitionMapSelfTest;
 import org.apache.ignite.util.GridQueueSelfTest;
 import org.apache.ignite.util.GridSpinReadWriteLockSelfTest;
 import org.apache.ignite.util.GridStringBuilderFactorySelfTest;
+import org.apache.ignite.util.mbeans.GridMBeanDisableSelfTest;
 import org.apache.ignite.util.mbeans.GridMBeanSelfTest;
 
 /**
@@ -77,6 +78,7 @@ public class IgniteUtilSelfTestSuite extends TestSuite {
         suite.addTestSuite(GridToStringBuilderSelfTest.class);
         suite.addTestSuite(GridByteArrayListSelfTest.class);
         suite.addTestSuite(GridMBeanSelfTest.class);
+        suite.addTestSuite(GridMBeanDisableSelfTest.class);
         suite.addTestSuite(GridLongListSelfTest.class);
         suite.addTestSuite(GridIntListSelfTest.class);
         suite.addTestSuite(GridArraysSelfTest.class);

http://git-wip-us.apache.org/repos/asf/ignite/blob/9fa78849/modules/core/src/test/java/org/apache/ignite/util/mbeans/GridMBeanDisableSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/util/mbeans/GridMBeanDisableSelfTest.java b/modules/core/src/test/java/org/apache/ignite/util/mbeans/GridMBeanDisableSelfTest.java
new file mode 100644
index 0000000..f08f58b
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/util/mbeans/GridMBeanDisableSelfTest.java
@@ -0,0 +1,121 @@
+/*
+ * 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.util.mbeans;
+
+import java.util.concurrent.Callable;
+import javax.management.MBeanRegistrationException;
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+import org.apache.ignite.Ignite;
+import org.apache.ignite.IgniteCache;
+import org.apache.ignite.configuration.CacheConfiguration;
+import org.apache.ignite.internal.util.IgniteUtils;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.testframework.GridTestUtils;
+import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
+
+/**
+ * Disabling MBeans test.
+ */
+public class GridMBeanDisableSelfTest extends GridCommonAbstractTest {
+    /** {@inheritDoc} */
+    @Override protected void beforeTestsStarted() throws Exception {
+        IgniteUtils.IGNITE_MBEANS_DISABLED = true;
+
+        super.beforeTestsStarted();
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void afterTestsStopped() throws Exception {
+        super.afterTestsStopped();
+
+        IgniteUtils.IGNITE_MBEANS_DISABLED = false;
+    }
+
+    /**
+     * Test MBean registration.
+     *
+     * @throws Exception Thrown if test fails.
+     */
+    public void testCorrectMBeanInfo() throws Exception {
+        // Node should start and stopped with no errors.
+        try (final Ignite ignite = startGrid(0)) {
+
+            // Cache should be created and closed with no errors.
+            try (IgniteCache cache = ignite.getOrCreateCache(new CacheConfiguration("MyCache"))) {
+
+                final MBeanServer server = ignite.configuration().getMBeanServer();
+
+                GridTestUtils.assertThrowsWithCause(
+                    new Callable<Void>() {
+                        @Override public Void call() throws Exception {
+                            U.registerMBean(server, ignite.name(), "dummy", "DummyMbean1", new DummyMBeanImpl(), DummyMBean.class);
+
+                            return null;
+
+                        }
+                    }, MBeanRegistrationException.class);
+
+                GridTestUtils.assertThrowsWithCause(
+                    new Callable<Void>() {
+                        @Override public Void call() throws Exception {
+                            ObjectName objName = U.makeMBeanName(
+                                ignite.name(),
+                                "dummy",
+                                "DummyMbean2"
+                            );
+
+                            U.registerMBean(server, objName, new DummyMBeanImpl(), DummyMBean.class);
+
+                            return null;
+
+                        }
+                    }, MBeanRegistrationException.class);
+
+                GridTestUtils.assertThrowsWithCause(
+                    new Callable<Void>() {
+                        @Override public Void call() throws Exception {
+                            U.registerCacheMBean(server, ignite.name(), "MyCache", "DummyMbean3",
+                                new DummyMBeanImpl(), DummyMBean.class);
+
+                            return null;
+
+                        }
+                    }, MBeanRegistrationException.class);
+            }
+        }
+    }
+
+    /**
+     * MBean dummy interface.
+     */
+    interface DummyMBean {
+        /** */
+        void noop();
+    }
+
+    /**
+     * MBean stub.
+     */
+    static class DummyMBeanImpl implements DummyMBean {
+        /** {@inheritDoc} */
+        @Override public void noop() {
+            // No op.
+        }
+    }
+}
\ No newline at end of file


[08/15] ignite git commit: Merge branch 'ignite-2.1.3' of https://github.com/gridgain/apache-ignite into ignite-2.1.3

Posted by sb...@apache.org.
Merge branch 'ignite-2.1.3' of https://github.com/gridgain/apache-ignite into ignite-2.1.3


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

Branch: refs/heads/master
Commit: 8f1d732fc8065e59a29bb538456194d7f4edd3e9
Parents: d5cc82c 9fa7884
Author: Sergey Chugunov <se...@gmail.com>
Authored: Fri Jul 14 14:52:17 2017 +0300
Committer: Sergey Chugunov <se...@gmail.com>
Committed: Fri Jul 14 14:52:17 2017 +0300

----------------------------------------------------------------------
 .../apache/ignite/IgniteSystemProperties.java   |   8 ++
 .../org/apache/ignite/cache/CacheManager.java   |  10 ++
 .../apache/ignite/internal/IgniteKernal.java    |  71 ++++++-----
 .../org/apache/ignite/internal/IgnitionEx.java  |  10 +-
 .../client/router/impl/GridTcpRouterImpl.java   |  57 ++++++---
 .../processors/cache/GridCacheProcessor.java    |  11 +-
 .../GridCacheDatabaseSharedManager.java         |  28 +++--
 .../IgniteCacheDatabaseSharedManager.java       |  44 ++++---
 .../ignite/internal/util/IgniteUtils.java       |  23 +++-
 .../org/apache/ignite/spi/IgniteSpiAdapter.java |  10 +-
 .../testsuites/IgniteUtilSelfTestSuite.java     |   2 +
 .../util/mbeans/GridMBeanDisableSelfTest.java   | 121 +++++++++++++++++++
 12 files changed, 312 insertions(+), 83 deletions(-)
----------------------------------------------------------------------



[09/15] ignite git commit: Merge branch 'master' into ignite-2.1.3

Posted by sb...@apache.org.
Merge branch 'master' into ignite-2.1.3


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

Branch: refs/heads/master
Commit: 1d75560f9f418628da7d212207267482a1ea16aa
Parents: 8f1d732 abe8e67
Author: devozerov <vo...@gridgain.com>
Authored: Fri Jul 14 16:07:49 2017 +0300
Committer: devozerov <vo...@gridgain.com>
Committed: Fri Jul 14 16:07:49 2017 +0300

----------------------------------------------------------------------

----------------------------------------------------------------------



[11/15] ignite git commit: Corrected benchmark output

Posted by sb...@apache.org.
Corrected benchmark output


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

Branch: refs/heads/master
Commit: b32800a0ec573fb60b77bd00cb04578c5114233b
Parents: e7ed26b
Author: Alexey Goncharuk <al...@gmail.com>
Authored: Fri Jul 14 20:17:15 2017 +0300
Committer: Alexey Goncharuk <al...@gmail.com>
Committed: Fri Jul 14 20:17:44 2017 +0300

----------------------------------------------------------------------
 .../apache/ignite/yardstick/cache/IgnitePutTxLoadBenchmark.java   | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/b32800a0/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutTxLoadBenchmark.java
----------------------------------------------------------------------
diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutTxLoadBenchmark.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutTxLoadBenchmark.java
index 7ac7c3a..eb3abb2 100644
--- a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutTxLoadBenchmark.java
+++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutTxLoadBenchmark.java
@@ -84,13 +84,12 @@ public class IgnitePutTxLoadBenchmark extends IgniteCacheAbstractBenchmark<Integ
             tx.commit();
 
             endTime = System.currentTimeMillis();
-
         }
 
         TransactionMetrics tm = transactions.metrics();
 
         if (endTime - startTime > args.getWarningTime())
-            BenchmarkUtils.println("Transaction commit time = " + (tm.commitTime() - startTime));
+            BenchmarkUtils.println("Transaction commit time = " + (endTime - startTime));
 
         if (tm.txRollbacks() > 0 && args.printRollBacks())
             BenchmarkUtils.println("Transaction rollbacks = " + tm.txRollbacks());


[04/15] ignite git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/ignite into ignite-2.1.3

Posted by sb...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/ignite into ignite-2.1.3


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

Branch: refs/heads/master
Commit: 2788a740c9aec88d14808d5927a346d121ad42b1
Parents: 18bdfe9 7338445
Author: Alexey Goncharuk <al...@gmail.com>
Authored: Fri Jul 14 12:23:42 2017 +0300
Committer: Alexey Goncharuk <al...@gmail.com>
Committed: Fri Jul 14 12:23:42 2017 +0300

----------------------------------------------------------------------
 examples/config/example-memory-policies.xml     |    7 +-
 .../jmh/cache/JmhCacheLocksBenchmark.java       |  119 +
 .../apache/ignite/cache/affinity/Affinity.java  |   16 +-
 .../rendezvous/RendezvousAffinityFunction.java  |    4 +-
 .../org/apache/ignite/internal/IgnitionEx.java  |    5 +-
 .../ignite/internal/binary/BinaryUtils.java     |   19 +-
 .../internal/binary/BinaryWriterExImpl.java     |    4 +-
 .../binary/builder/BinaryBuilderSerializer.java |    6 +-
 .../eventstorage/GridEventStorageManager.java   |  309 +--
 .../eventstorage/HighPriorityListener.java      |   28 +
 .../cache/CacheAffinitySharedManager.java       |  211 +-
 .../processors/cache/GridCacheMvccManager.java  |    5 -
 .../GridCachePartitionExchangeManager.java      |  140 +-
 .../processors/cache/GridCachePreloader.java    |    8 +-
 .../cache/GridCachePreloaderAdapter.java        |    4 +-
 .../processors/cache/GridCacheProcessor.java    |    2 -
 .../cache/distributed/dht/GridDhtTxLocal.java   |   13 -
 .../preloader/ForceRebalanceExchangeTask.java   |   58 +
 .../dht/preloader/GridDhtPartitionDemander.java |   22 +-
 .../preloader/GridDhtPartitionExchangeId.java   |   61 +-
 .../GridDhtPartitionsExchangeFuture.java        |  136 +-
 .../dht/preloader/GridDhtPreloader.java         |   33 +-
 .../preloader/GridDhtPreloaderAssignments.java  |   21 +-
 .../RebalanceReassignExchangeTask.java          |   44 +
 .../continuous/GridContinuousProcessor.java     |   91 +-
 .../communication/tcp/TcpCommunicationSpi.java  |   30 +-
 .../tcp/internal/TcpDiscoveryStatistics.java    |    6 +-
 .../internal/binary/BinaryEnumsSelfTest.java    |   71 +
 .../binary/BinaryMarshallerSelfTest.java        |   61 +
 .../sink/flink/FlinkIgniteSinkSelfTest.java     |    2 +-
 .../Apache.Ignite.Core.Tests.csproj             |   17 +-
 .../Cache/Query/CacheLinqTest.cs                | 2084 ------------------
 .../Cache/Query/CacheLinqTestSimpleName.cs      |   35 -
 .../Cache/Query/CacheLinqTestSqlEscapeAll.cs    |   34 -
 .../Query/Linq/CacheLinqTest.Aggregates.cs      |   91 +
 .../Cache/Query/Linq/CacheLinqTest.Base.cs      |  506 +++++
 .../Query/Linq/CacheLinqTest.CompiledQuery.cs   |  215 ++
 .../Cache/Query/Linq/CacheLinqTest.Contains.cs  |  128 ++
 .../Cache/Query/Linq/CacheLinqTest.Custom.cs    |  107 +
 .../Cache/Query/Linq/CacheLinqTest.DateTime.cs  |   89 +
 .../Cache/Query/Linq/CacheLinqTest.Functions.cs |  211 ++
 .../Query/Linq/CacheLinqTest.Introspection.cs   |  145 ++
 .../Linq/CacheLinqTest.Join.LocalCollection.cs  |  182 ++
 .../Cache/Query/Linq/CacheLinqTest.Join.cs      |  310 +++
 .../Cache/Query/Linq/CacheLinqTest.Misc.cs      |  350 +++
 .../Cache/Query/Linq/CacheLinqTest.Numerics.cs  |  131 ++
 .../Cache/Query/Linq/CacheLinqTest.Strings.cs   |   91 +
 .../Cache/Query/Linq/CacheLinqTestSimpleName.cs |   35 +
 .../Query/Linq/CacheLinqTestSqlEscapeAll.cs     |   34 +
 .../cache/IgniteCacheLockBenchmark.java         |   57 +
 .../yardstick/cache/IgniteLockBenchmark.java    |   47 +
 51 files changed, 3664 insertions(+), 2771 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/2788a740/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/2788a740/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
----------------------------------------------------------------------


[05/15] ignite git commit: Merge branch 'ignite-2.1.3' of https://github.com/gridgain/apache-ignite into ignite-2.1.3

Posted by sb...@apache.org.
Merge branch 'ignite-2.1.3' of https://github.com/gridgain/apache-ignite into ignite-2.1.3


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

Branch: refs/heads/master
Commit: 1e7e692bd4ce0fe2e092117190b59382840317a7
Parents: 2788a74 871d926
Author: Alexey Goncharuk <al...@gmail.com>
Authored: Fri Jul 14 12:25:08 2017 +0300
Committer: Alexey Goncharuk <al...@gmail.com>
Committed: Fri Jul 14 12:25:08 2017 +0300

----------------------------------------------------------------------
 .../test/java/org/apache/ignite/internal/GridVersionSelfTest.java  | 2 ++
 .../internal/IgniteUpdateNotifierPerClusterSettingSelfTest.java    | 2 ++
 2 files changed, 4 insertions(+)
----------------------------------------------------------------------



[12/15] ignite git commit: IGNITE-5515: Tests were enabled to get hangup on TC

Posted by sb...@apache.org.
IGNITE-5515: Tests were enabled to get hangup on TC


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

Branch: refs/heads/master
Commit: 2b50486983fcda8d4b599d9af33e08673e87668e
Parents: b32800a
Author: dpavlov <dp...@gridgain.com>
Authored: Fri Jul 14 21:10:06 2017 +0300
Committer: dpavlov <dp...@gridgain.com>
Committed: Fri Jul 14 21:10:06 2017 +0300

----------------------------------------------------------------------
 .../replicated/GridCacheReplicatedNodeRestartSelfTest.java         | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/2b504869/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedNodeRestartSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedNodeRestartSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedNodeRestartSelfTest.java
index 22f7adf..bff8755 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedNodeRestartSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedNodeRestartSelfTest.java
@@ -51,7 +51,7 @@ public class GridCacheReplicatedNodeRestartSelfTest extends GridCacheAbstractNod
 
     /** {@inheritDoc} */
     @Override protected void beforeTest() throws Exception {
-        fail("https://issues.apache.org/jira/browse/IGNITE-5515");
+        //outcommented to get failure on TC: fail("https://issues.apache.org/jira/browse/IGNITE-5515");
     }
 
     /** {@inheritDoc} */


[03/15] ignite git commit: Functionality of GridVersionSelfTest is debated now

Posted by sb...@apache.org.
Functionality of GridVersionSelfTest is debated now


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

Branch: refs/heads/master
Commit: 871d9260f3b32bed5273852dbdb74c758f73d383
Parents: d9ed07c
Author: Sergey Chugunov <se...@gmail.com>
Authored: Thu Jul 13 18:34:01 2017 +0300
Committer: Sergey Chugunov <se...@gmail.com>
Committed: Thu Jul 13 18:34:01 2017 +0300

----------------------------------------------------------------------
 .../test/java/org/apache/ignite/internal/GridVersionSelfTest.java  | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/871d9260/modules/core/src/test/java/org/apache/ignite/internal/GridVersionSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/GridVersionSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/GridVersionSelfTest.java
index 4751a0c..13af907 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/GridVersionSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/GridVersionSelfTest.java
@@ -32,6 +32,8 @@ public class GridVersionSelfTest extends GridCommonAbstractTest {
      * @throws Exception If failed.
      */
     public void testVersions() throws Exception {
+        fail("https://issues.apache.org/jira/browse/IGNITE-5413");
+
         String propVal = System.getProperty(IGNITE_UPDATE_NOTIFIER);
 
         System.setProperty(IGNITE_UPDATE_NOTIFIER, "true");