ignite-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sboi...@apache.org
Subject [11/12] ignite git commit: Merge remote-tracking branch 'remotes/origin/master' into ignite-5075
Date Thu, 01 Jun 2017 08:53:08 GMT
Merge remote-tracking branch 'remotes/origin/master' into ignite-5075

# Conflicts:
#	modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
#	modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java


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

Branch: refs/heads/ignite-5075
Commit: 5ef69009894cc2a6d33e31d923daed2f00bc45a1
Parents: 056b28f c488311
Author: sboikov <sboikov@gridgain.com>
Authored: Thu Jun 1 11:52:35 2017 +0300
Committer: sboikov <sboikov@gridgain.com>
Committed: Thu Jun 1 11:52:35 2017 +0300

----------------------------------------------------------------------
 DEVNOTES.txt                                    |  74 ++--
 assembly/dependencies-fabric-lgpl.xml           |   2 +
 assembly/dependencies-fabric.xml                |   2 +
 assembly/release-fabric-lgpl.xml                |   1 +
 assembly/release-fabric.xml                     |   1 +
 assembly/release-yardstick.xml                  |  98 +++++
 .../affinity/GridAffinityProcessor.java         |   2 +-
 .../cache/CacheAffinitySharedManager.java       |  35 +-
 .../processors/cache/GridCacheAdapter.java      |   3 +-
 .../processors/cache/GridCacheProcessor.java    |  39 +-
 .../CacheDataStructuresManager.java             |   4 +-
 .../GridDhtPartitionsExchangeFuture.java        |   2 +-
 .../closure/GridClosureProcessor.java           |  11 +-
 .../service/GridServiceProcessor.java           |   4 +-
 .../processors/service/GridServiceProxy.java    |   4 +-
 .../processors/task/GridTaskProcessor.java      |   7 +-
 .../task/GridTaskThreadContextKey.java          |   5 +-
 .../ignite/spi/discovery/tcp/ClientImpl.java    |  14 +-
 .../IgniteComputeTopologyExceptionTest.java     |   2 +-
 ...IgniteClientCacheInitializationFailTest.java | 367 +++++++++++++++++++
 .../discovery/AuthenticationRestartTest.java    |  88 +++++
 .../testsuites/IgniteCacheTestSuite4.java       |   2 +
 .../IgniteSpiDiscoverySelfTestSuite.java        |   2 +
 .../query/h2/sql/GridSqlQuerySplitter.java      |  22 +-
 ...ClientReconnectCacheQueriesFailoverTest.java |   2 +-
 .../query/IgniteSqlSplitterSelfTest.java        | 256 ++++++++++---
 modules/ml/pom.xml                              |  13 +
 .../main/java/org/apache/ignite/ml/Model.java   |  39 ++
 .../ml/clustering/BaseKMeansClusterer.java      |  98 +++++
 .../apache/ignite/ml/clustering/Clusterer.java  |  32 ++
 .../ml/clustering/ClusterizationModel.java      |  29 ++
 .../clustering/KMeansDistributedClusterer.java  | 298 +++++++++++++++
 .../ml/clustering/KMeansLocalClusterer.java     | 174 +++++++++
 .../ignite/ml/clustering/KMeansModel.java       |  79 ++++
 .../ignite/ml/clustering/WeightedClusterer.java |  38 ++
 .../ignite/ml/clustering/package-info.java      |  22 ++
 .../apache/ignite/ml/math/DistanceMeasure.java  |  39 ++
 .../ignite/ml/math/EuclideanDistance.java       |  48 +++
 .../org/apache/ignite/ml/math/MathUtils.java    |  31 ++
 .../java/org/apache/ignite/ml/math/Matrix.java  |   2 +
 .../apache/ignite/ml/math/StorageConstants.java |   3 +
 .../org/apache/ignite/ml/math/VectorUtils.java  |  41 +++
 .../math/exceptions/ConvergenceException.java   |  48 +++
 .../exceptions/MathArithmeticException.java     |   6 +-
 .../exceptions/MathIllegalNumberException.java  |  51 +++
 .../exceptions/MathIllegalStateException.java   |  49 +++
 .../exceptions/NumberIsTooSmallException.java   |  79 ++++
 .../ignite/ml/math/functions/Functions.java     |  39 ++
 .../apache/ignite/ml/math/impls/CacheUtils.java |  47 +++
 .../ml/math/impls/matrix/AbstractMatrix.java    |   2 +
 .../impls/matrix/SparseDistributedMatrix.java   |   2 +-
 .../impls/storage/matrix/MapWrapperStorage.java |  93 +++++
 .../vector/SparseLocalOnHeapVectorStorage.java  |  32 ++
 .../ml/math/impls/vector/DelegatingVector.java  |   5 +
 .../ml/math/impls/vector/MapWrapperVector.java  |  32 ++
 .../ml/math/impls/vector/SparseLocalVector.java |   9 +
 .../ignite/ml/math/impls/vector/VectorView.java |   1 +
 .../ignite/ml/math/statistics/Variance.java     |  53 +++
 .../org/apache/ignite/ml/math/util/MapUtil.java |  38 ++
 .../apache/ignite/ml/math/util/MatrixUtil.java  |  38 +-
 .../org/apache/ignite/ml/IgniteMLTestSuite.java |   4 +-
 .../ml/clustering/ClusteringTesetSuite.java     |  15 +
 .../KMeansDistributedClustererTest.java         | 184 ++++++++++
 .../ml/clustering/KMeansLocalClustererTest.java |  46 +++
 .../apache/ignite/ml/clustering/KMeansUtil.java |  33 ++
 .../ignite/ml/math/MathImplLocalTestSuite.java  |   1 +
 modules/platforms/cpp/examples/Makefile.am      |   1 +
 .../cpp/examples/compute-example/Makefile.am    |  59 +++
 .../compute-example/config/compute-example.xml  |  52 +++
 .../project/vs/compute-example.vcxproj          | 102 ++++++
 .../project/vs/compute-example.vcxproj.filters  |  27 ++
 .../compute-example/src/compute_example.cpp     | 177 +++++++++
 modules/platforms/cpp/examples/configure.ac     |   1 +
 .../project/vs/continuous-query-example.vcxproj |   4 -
 .../src/continuous_query_example.cpp            | 130 ++++++-
 .../examples/include/ignite/examples/address.h  |   2 +-
 .../include/ignite/examples/organization.h      |   4 +-
 .../cpp/examples/project/vs/ignite-examples.sln |   6 +
 .../Apache.Ignite.Core.nuspec                   |   5 +-
 modules/platforms/dotnet/build.ps1              |   5 +-
 modules/web-console/web-agent/pom.xml           |   8 +
 parent/pom.xml                                  |   8 +-
 pom.xml                                         | 254 ++++---------
 83 files changed, 3452 insertions(+), 335 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/5ef69009/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
index 1c71dab,9063a12..c563b81
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
@@@ -378,37 -392,51 +378,44 @@@ public class CacheAffinitySharedManager
                  nearCfg = req.nearCacheConfiguration();
              }
              else {
 -                startCache = cctx.cacheContext(action.descriptor().cacheId()) == null &&
 -                    CU.affinityNode(cctx.localNode(), req.startCacheConfiguration().getNodeFilter());
 +                startCache = cctx.cacheContext(cacheDesc.cacheId()) == null &&
 +                    CU.affinityNode(cctx.localNode(), cacheDesc.groupDescriptor().config().getNodeFilter());
              }
  
-             if (startCache) {
-                 cctx.cache().prepareCacheStart(cacheDesc, nearCfg, fut.topologyVersion());
+             try {
+                 if (startCache) {
+                     cctx.cache().prepareCacheStart(cacheDesc, nearCfg, fut.topologyVersion());
  
-                 if (fut.cacheAddedOnExchange(cacheDesc.cacheId(), cacheDesc.receivedFrom()))
{
-                     if (fut.discoCache().cacheGroupAffinityNodes(cacheDesc.groupId()).isEmpty())
-                         U.quietAndWarn(log, "No server nodes found for cache client: " +
req.cacheName());
+                     if (fut.cacheAddedOnExchange(cacheDesc.cacheId(), cacheDesc.receivedFrom()))
{
 -                        if (fut.discoCache().cacheAffinityNodes(req.cacheName()).isEmpty())
++                        if (fut.discoCache().cacheGroupAffinityNodes(cacheDesc.groupId()).isEmpty())
+                             U.quietAndWarn(log, "No server nodes found for cache client:
" + req.cacheName());
+                     }
                  }
 +            }
++            catch (IgniteCheckedException e) {
++                U.error(log, "Failed to initialize cache. Will try to rollback cache start
routine. " +
++                    "[cacheName=" + req.cacheName() + ']', e);
+ 
 -                if (!crd || !lateAffAssign) {
 -                    GridCacheContext cacheCtx = cctx.cacheContext(cacheDesc.cacheId());
 -
 -                    if (cacheCtx != null && !cacheCtx.isLocal()) {
 -                        boolean clientCacheStarted =
 -                            req.clientStartOnly() && req.initiatingNodeId().equals(cctx.localNodeId());
++                cctx.cache().forceCloseCache(fut.topologyVersion(), action, e);
++            }
 +        }
  
-         Set<Integer> gprs = new HashSet<>();
 -                        if (clientCacheStarted)
 -                            initAffinity(cacheDesc, cacheCtx.affinity().affinityCache(),
fut, lateAffAssign);
 -                        else if (!req.clientStartOnly()) {
 -                            assert fut.topologyVersion().equals(cacheCtx.startTopologyVersion());
++            Set<Integer> gprs = new HashSet<>();
  
-         for (ExchangeActions.ActionData action : exchActions.newAndClientCachesStartRequests())
{
-             Integer grpId = action.descriptor().groupId();
 -                            GridAffinityAssignmentCache aff = cacheCtx.affinity().affinityCache();
++                for (ExchangeActions.ActionData action : exchActions.newAndClientCachesStartRequests())
{
++                    Integer grpId = action.descriptor().groupId();
  
-             if (gprs.add(grpId)) {
-                 if (crd && lateAffAssign)
-                     initStartedGroupOnCoordinator(fut, action.descriptor().groupDescriptor());
-                 else {
-                     CacheGroupInfrastructure grp = cctx.cache().cacheGroup(grpId);
 -                            assert aff.lastVersion().equals(AffinityTopologyVersion.NONE)
: aff.lastVersion();
++                    if (gprs.add(grpId)) {
++                        if (crd && lateAffAssign)
++                    initStartedGroupOnCoordinator(fut, action.descriptor().groupDescriptor());else
 {
++                        CacheGroupInfrastructure grp = cctx.cache().cacheGroup(grpId);
  
-                     if (grp != null && !grp.isLocal() && grp.localStartVersion().equals(fut.topologyVersion()))
{
 -                            List<List<ClusterNode>> assignment = aff.calculate(fut.topologyVersion(),
 -                                fut.discoveryEvent(), fut.discoCache());
++                        if (grp != null && !grp.isLocal() && grp.localStartVersion().equals(fut.topologyVersion()))
{
 +                        assert grp.affinity().lastVersion().equals(AffinityTopologyVersion.NONE)
: grp.affinity().lastVersion();
  
 -                            aff.initialize(fut.topologyVersion(), assignment);
 -                        }
 +                        initAffinity(registeredGrps.get(grp.groupId()), grp.affinity(),
fut);
                      }
                  }
 -                else
 -                    initStartedCacheOnCoordinator(fut, cacheDesc.cacheId());
 -            }
 -            catch (IgniteCheckedException e) {
 -                U.error(log, "Failed to initialize cache. Will try to rollback cache start
routine. " +
 -                    "[cacheName=" + req.cacheName() + ']', e);
 -
 -                cctx.cache().forceCloseCache(fut.topologyVersion(), action, e);
              }
          }
  

http://git-wip-us.apache.org/repos/asf/ignite/blob/5ef69009/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/5ef69009/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
index cac8420,c7e8670..afb578b
--- 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
@@@ -2031,10 -1889,9 +2031,10 @@@ public class GridCacheProcessor extend
  
      /**
       * @param req Stop request.
 +     * @return Cache group for stopped cache.
       */
-     private CacheGroupInfrastructure prepareCacheStop(DynamicCacheChangeRequest req) {
-         assert req.stop() || req.close() : req;
 -    private void prepareCacheStop(DynamicCacheChangeRequest req, boolean forceClose) {
++    private CacheGroupInfrastructure prepareCacheStop(DynamicCacheChangeRequest req, boolean
forceClose) {
+         assert req.stop() || req.close() || forceClose : req;
  
          GridCacheAdapter<?, ?> cache = caches.remove(req.cacheName());
  
@@@ -2081,14 -1956,11 +2103,14 @@@
              for (ExchangeActions.ActionData action : exchActions.cacheStopRequests()) {
                  stopGateway(action.request());
  
-                 prepareCacheStop(action.request());
+                 prepareCacheStop(action.request(), forceClose);
              }
  
 -            for (DynamicCacheChangeRequest req : exchActions.closeRequests(ctx.localNodeId()))
{
 -                String cacheName = req.cacheName();
 +            for (CacheGroupDescriptor grpDesc : exchActions.cacheGroupsToStop())
 +                stopCacheGroup(grpDesc.groupId());
 +
 +            for (ExchangeActions.ActionData req : exchActions.closeRequests(ctx.localNodeId()))
{
 +                String cacheName = req.request().cacheName();
  
                  IgniteCacheProxy<?, ?> proxy = jCacheProxies.get(cacheName);
  
@@@ -2105,12 -1977,12 +2127,15 @@@
  
                          proxy.context().gate().onStopped();
  
-                         CacheGroupInfrastructure grp = prepareCacheStop(req.request());
 -                        prepareCacheStop(req, forceClose);
++                        CacheGroupInfrastructure grp = prepareCacheStop(req.request(), forceClose);
 +
 +                        if (grp != null && !grp.hasCaches())
 +                            stopCacheGroup(grp.groupId());
                      }
                  }
+ 
+                 if (forceClose)
+                     completeCacheStartFuture(req, false, err);
              }
          }
      }

http://git-wip-us.apache.org/repos/asf/ignite/blob/5ef69009/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
index 65a20eb,2cd5629..d000e26
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
@@@ -1197,16 -1161,16 +1197,16 @@@ public class GridDhtPartitionsExchangeF
  
                  boolean valid = true;
  
 -                if (cacheCtx.config().getTopologyValidator() != null && !CU.isSystemCache(cacheCtx.name()))
 -                    valid = cacheCtx.config().getTopologyValidator().validate(discoEvt.topologyNodes());
 +                if (grp.topologyValidator() != null && !grp.systemCache())
 +                    valid = grp.topologyValidator().validate(discoEvt.topologyNodes());
  
 -                m.put(cacheCtx.cacheId(), new CacheValidation(valid, lostParts));
 +                m.put(grp.groupId(), new CacheValidation(valid, lostParts));
              }
  
 -            cacheValidRes = m;
 +            grpValidRes = m;
          }
  
-         cctx.cache().onExchangeDone(exchId.topologyVersion(), exchActions, err);
+         cctx.cache().onExchangeDone(exchId.topologyVersion(), exchActions, err, false);
  
          cctx.exchange().onExchangeDone(this, err);
  


Mime
View raw message