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/05/22 15:13:08 UTC
[40/50] [abbrv] ignite git commit: Merge master into ignite-gg-12163
Merge master into ignite-gg-12163
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/e809458e
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/e809458e
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/e809458e
Branch: refs/heads/ignite-5075-pds
Commit: e809458e70cac3e7e79d9baf03d91f57a4fac04f
Parents: b0a5366 3b7e166
Author: Alexey Goncharuk <al...@gmail.com>
Authored: Fri May 19 18:56:47 2017 +0300
Committer: Alexey Goncharuk <al...@gmail.com>
Committed: Fri May 19 18:56:47 2017 +0300
----------------------------------------------------------------------
assembly/LICENSE_FABRIC | 2 +-
assembly/LICENSE_HADOOP | 2 +-
examples/pom.xml | 5 +-
.../DistributedRegressionExample.java | 149 ++
modules/aop/pom.xml | 2 +-
modules/apache-license-gen/pom.xml | 2 +-
modules/aws/pom.xml | 2 +-
modules/benchmarks/pom.xml | 2 +-
modules/camel/pom.xml | 2 +-
modules/cassandra/pom.xml | 2 +-
modules/cassandra/serializers/pom.xml | 4 +-
modules/cassandra/store/pom.xml | 4 +-
.../store/cassandra/CassandraCacheStore.java | 16 +-
.../session/LoadCacheCustomQueryWorker.java | 26 +-
.../ignite/tests/IgnitePersistentStoreTest.java | 30 +-
.../tests/persistence/blob/ignite-config.xml | 4 +-
.../tests/persistence/pojo/ignite-config.xml | 4 +-
.../persistence/primitive/ignite-config.xml | 4 +-
.../primitive/ignite-remote-server-config.xml | 4 +-
modules/clients/pom.xml | 2 +-
.../ClientAbstractMultiNodeSelfTest.java | 3 +-
.../processors/rest/TestMemcacheClient.java | 2 +-
modules/cloud/pom.xml | 2 +-
modules/codegen/pom.xml | 2 +-
modules/core/pom.xml | 2 +-
.../org/apache/ignite/IgniteJdbcDriver.java | 69 +-
.../apache/ignite/IgniteSystemProperties.java | 8 +
.../rendezvous/RendezvousAffinityFunction.java | 20 +-
.../store/jdbc/CacheAbstractJdbcStore.java | 71 +-
.../ignite/configuration/TopologyValidator.java | 10 +-
.../internal/ComputeTaskInternalFuture.java | 3 -
.../apache/ignite/internal/IgniteKernal.java | 14 +
.../internal/IgniteNeedReconnectException.java | 2 +-
.../client/impl/GridClientDataImpl.java | 3 +-
.../stream/v2/DirectByteBufferStreamImplV2.java | 27 +-
.../internal/executor/GridExecutorService.java | 3 +-
.../internal/jdbc/JdbcDriverPropertyInfo.java | 37 +
.../managers/communication/GridIoManager.java | 242 ++-
.../deployment/GridDeploymentClassLoader.java | 3 +-
.../discovery/GridDiscoveryManager.java | 19 +-
.../affinity/AffinityTopologyVersion.java | 9 +
.../affinity/GridAffinityAssignmentCache.java | 3 -
.../affinity/GridAffinityProcessor.java | 3 +-
.../cache/CacheAffinitySharedManager.java | 286 ++--
.../CacheClientReconnectDiscoveryData.java | 133 ++
.../internal/processors/cache/CacheData.java | 157 ++
.../cache/CacheJoinNodeDiscoveryData.java | 147 ++
.../cache/CacheNodeCommonDiscoveryData.java | 82 +
.../cache/CacheStoreBalancingWrapper.java | 3 -
.../processors/cache/ClusterCachesInfo.java | 913 +++++++++++
.../cache/DynamicCacheChangeBatch.java | 83 +-
.../cache/DynamicCacheChangeRequest.java | 102 +-
.../cache/DynamicCacheDescriptor.java | 171 +--
.../processors/cache/ExchangeActions.java | 338 +++++
.../processors/cache/GridCacheAdapter.java | 224 ++-
.../cache/GridCacheAffinityManager.java | 2 +-
.../cache/GridCacheConcurrentMap.java | 9 +-
.../cache/GridCacheConcurrentMapImpl.java | 35 +-
.../processors/cache/GridCacheContext.java | 67 +-
.../cache/GridCacheDeploymentManager.java | 2 +-
.../processors/cache/GridCacheEntryInfo.java | 68 +-
.../processors/cache/GridCacheEventManager.java | 32 +
.../cache/GridCacheFutureAdapter.java | 1 +
.../processors/cache/GridCacheLogger.java | 2 +-
.../processors/cache/GridCacheMapEntry.java | 14 +-
.../cache/GridCacheMapEntryFactory.java | 6 +-
.../cache/GridCacheMultiTxFuture.java | 3 -
.../processors/cache/GridCacheMvccManager.java | 3 -
.../GridCachePartitionExchangeManager.java | 57 +-
.../processors/cache/GridCacheProcessor.java | 1436 +++++-------------
.../processors/cache/GridCacheProxyImpl.java | 60 -
.../cache/GridCacheSharedContext.java | 17 +-
.../processors/cache/GridCacheUtils.java | 146 +-
.../processors/cache/GridNoStorageCacheMap.java | 15 +-
.../cache/IgniteCacheOffheapManager.java | 7 +
.../cache/IgniteCacheOffheapManagerImpl.java | 17 +
.../processors/cache/IgniteCacheProxy.java | 41 +-
.../processors/cache/IgniteInternalCache.java | 61 -
.../IgniteCacheDatabaseSharedManager.java | 14 +-
.../cache/database/MemoryMetricsImpl.java | 8 +-
.../cache/database/freelist/FreeListImpl.java | 3 +-
.../cache/database/freelist/PagesList.java | 3 +-
.../cache/database/tree/BPlusTree.java | 6 +-
.../cache/database/tree/util/PageHandler.java | 3 +-
.../distributed/GridDistributedCacheEntry.java | 8 +-
.../dht/GridCachePartitionedConcurrentMap.java | 23 +-
.../dht/GridClientPartitionTopology.java | 2 +-
.../dht/GridDhtAffinityAssignmentRequest.java | 36 +-
.../dht/GridDhtAffinityAssignmentResponse.java | 36 +-
.../dht/GridDhtAssignmentFetchFuture.java | 62 +-
.../distributed/dht/GridDhtCacheAdapter.java | 173 +--
.../distributed/dht/GridDhtCacheEntry.java | 8 +-
.../distributed/dht/GridDhtEmbeddedFuture.java | 3 -
.../distributed/dht/GridDhtGetSingleFuture.java | 3 -
.../distributed/dht/GridDhtLocalPartition.java | 8 +-
.../dht/GridDhtPartitionTopologyImpl.java | 12 +-
.../distributed/dht/GridDhtTxFinishFuture.java | 3 -
.../dht/GridPartitionedGetFuture.java | 158 +-
.../dht/GridPartitionedSingleGetFuture.java | 141 +-
.../GridDhtAtomicAbstractUpdateRequest.java | 17 +
.../dht/atomic/GridDhtAtomicCache.java | 226 +--
.../dht/atomic/GridDhtAtomicCacheEntry.java | 11 +-
.../dht/atomic/GridDhtAtomicUpdateRequest.java | 7 +-
.../dht/colocated/GridDhtColocatedCache.java | 222 +--
.../colocated/GridDhtColocatedCacheEntry.java | 11 +-
.../colocated/GridDhtDetachedCacheEntry.java | 10 +-
.../dht/preloader/GridDhtForceKeysFuture.java | 7 +-
.../dht/preloader/GridDhtPartitionDemander.java | 13 +-
.../GridDhtPartitionSupplyMessage.java | 30 +-
.../GridDhtPartitionsExchangeFuture.java | 153 +-
.../dht/preloader/GridDhtPreloader.java | 4 +-
.../distributed/near/GridNearCacheAdapter.java | 23 +-
.../distributed/near/GridNearCacheEntry.java | 8 +-
.../distributed/near/GridNearGetFuture.java | 3 -
.../distributed/near/GridNearLockFuture.java | 3 -
.../cache/distributed/near/GridNearTxLocal.java | 7 +-
.../processors/cache/local/GridLocalCache.java | 37 +-
.../cache/local/GridLocalCacheEntry.java | 8 +-
.../cache/local/GridLocalLockFuture.java | 41 +-
.../local/atomic/GridLocalAtomicCache.java | 188 ++-
.../cache/query/GridCacheQueryManager.java | 21 +-
.../continuous/CacheContinuousQueryHandler.java | 42 +-
.../continuous/CacheContinuousQueryManager.java | 11 +-
.../store/GridCacheStoreManagerAdapter.java | 4 +-
.../cluster/GridClusterStateProcessor.java | 26 +-
.../continuous/GridContinuousProcessor.java | 3 -
.../datastreamer/DataStreamerFuture.java | 3 -
.../GridAtomicCacheQueueImpl.java | 7 +-
.../GridCacheAtomicSequenceImpl.java | 101 +-
.../processors/hadoop/HadoopClasspathUtils.java | 3 +-
.../processors/igfs/IgfsDataManager.java | 3 -
.../jobmetrics/GridJobMetricsProcessor.java | 4 +-
.../marshaller/MarshallerMappingTransport.java | 3 -
.../internal/processors/odbc/IgniteTypes.java | 69 -
.../processors/odbc/OdbcBufferedParser.java | 81 -
.../processors/odbc/OdbcColumnMeta.java | 110 --
.../processors/odbc/OdbcHandshakeRequest.java | 83 -
.../processors/odbc/OdbcHandshakeResult.java | 73 -
.../processors/odbc/OdbcMessageParser.java | 320 ----
.../processors/odbc/OdbcNioListener.java | 153 +-
.../processors/odbc/OdbcNioServerBuffer.java | 114 --
.../internal/processors/odbc/OdbcProcessor.java | 2 +-
.../processors/odbc/OdbcProtocolVersion.java | 125 --
.../processors/odbc/OdbcQueryCloseRequest.java | 49 -
.../processors/odbc/OdbcQueryCloseResult.java | 40 -
.../odbc/OdbcQueryExecuteRequest.java | 78 -
.../processors/odbc/OdbcQueryExecuteResult.java | 54 -
.../processors/odbc/OdbcQueryFetchRequest.java | 61 -
.../processors/odbc/OdbcQueryFetchResult.java | 66 -
.../odbc/OdbcQueryGetColumnsMetaRequest.java | 4 +-
.../odbc/OdbcQueryGetColumnsMetaResult.java | 6 +-
.../odbc/OdbcQueryGetParamsMetaRequest.java | 4 +-
.../odbc/OdbcQueryGetTablesMetaRequest.java | 4 +-
.../internal/processors/odbc/OdbcRequest.java | 61 -
.../processors/odbc/OdbcRequestHandler.java | 532 -------
.../internal/processors/odbc/OdbcResponse.java | 96 --
.../internal/processors/odbc/OdbcUtils.java | 30 +-
.../odbc/SqlListenerBufferedParser.java | 81 +
.../processors/odbc/SqlListenerColumnMeta.java | 110 ++
.../odbc/SqlListenerConnectionContext.java | 56 +
.../processors/odbc/SqlListenerDataTypes.java | 69 +
.../odbc/SqlListenerMessageParser.java | 39 +
.../odbc/SqlListenerNioServerBuffer.java | 114 ++
.../odbc/SqlListenerProtocolVersion.java | 116 ++
.../odbc/SqlListenerQueryCloseRequest.java | 49 +
.../odbc/SqlListenerQueryCloseResult.java | 40 +
.../odbc/SqlListenerQueryExecuteRequest.java | 78 +
.../odbc/SqlListenerQueryExecuteResult.java | 54 +
.../odbc/SqlListenerQueryFetchRequest.java | 61 +
.../odbc/SqlListenerQueryFetchResult.java | 66 +
.../processors/odbc/SqlListenerRequest.java | 78 +
.../odbc/SqlListenerRequestHandler.java | 31 +
.../processors/odbc/SqlListenerResponse.java | 96 ++
.../odbc/escape/OdbcEscapeParseResult.java | 73 -
.../processors/odbc/escape/OdbcEscapeToken.java | 61 -
.../processors/odbc/escape/OdbcEscapeType.java | 112 --
.../processors/odbc/escape/OdbcEscapeUtils.java | 440 ------
.../processors/odbc/odbc/OdbcMessageParser.java | 279 ++++
.../odbc/odbc/OdbcRequestHandler.java | 513 +++++++
.../odbc/odbc/escape/OdbcEscapeParseResult.java | 73 +
.../odbc/odbc/escape/OdbcEscapeToken.java | 61 +
.../odbc/odbc/escape/OdbcEscapeType.java | 112 ++
.../odbc/odbc/escape/OdbcEscapeUtils.java | 441 ++++++
.../platform/cluster/PlatformClusterGroup.java | 20 +
.../utils/PlatformConfigurationUtils.java | 4 +-
.../processors/query/GridQueryIndexing.java | 36 +-
.../processors/query/GridQueryProcessor.java | 132 +-
.../processors/security/SecurityContext.java | 9 +
.../service/GridServiceDeploymentFuture.java | 3 -
.../service/GridServiceProcessor.java | 11 +
.../ignite/internal/util/IgniteUtils.java | 49 +-
.../util/future/GridEmbeddedFuture.java | 3 -
.../internal/util/gridify/GridifyUtils.java | 6 +-
.../util/nio/GridNioEmbeddedFuture.java | 3 -
.../internal/util/nio/GridNioFutureImpl.java | 3 -
.../ignite/internal/util/nio/GridNioServer.java | 3 -
.../offheap/unsafe/GridOffHeapSnapTreeMap.java | 3 +-
.../internal/util/worker/GridWorkerFuture.java | 3 -
.../node/VisorAffinityTopologyVersion.java | 87 ++
.../visor/node/VisorNodeDataCollectorJob.java | 6 +
.../node/VisorNodeDataCollectorJobResult.java | 38 +
.../visor/node/VisorNodeDataCollectorTask.java | 4 +
.../node/VisorNodeDataCollectorTaskResult.java | 28 +-
.../org/apache/ignite/mxbean/IgniteMXBean.java | 44 +
.../security/SecurityBasicPermissionSet.java | 96 +-
.../plugin/security/SecurityPermission.java | 13 +-
.../plugin/security/SecurityPermissionSet.java | 8 +
.../security/SecurityPermissionSetBuilder.java | 36 +-
.../org/apache/ignite/spi/IgniteSpiAdapter.java | 2 +-
.../communication/tcp/TcpCommunicationSpi.java | 20 +-
.../ignite/spi/discovery/DiscoveryDataBag.java | 18 +-
.../ignite/spi/discovery/tcp/ClientImpl.java | 41 +-
.../ignite/spi/discovery/tcp/ServerImpl.java | 61 +-
.../spi/discovery/tcp/TcpDiscoveryImpl.java | 7 +-
.../spi/discovery/tcp/TcpDiscoverySpi.java | 15 +-
.../spi/discovery/tcp/TcpDiscoverySpiMBean.java | 22 +
.../TcpDiscoveryRingLatencyCheckMessage.java | 77 +
.../resources/META-INF/classnames.properties | 2 +-
.../core/src/main/resources/ignite.properties | 2 +-
.../core/src/test/config/examples.properties | 1 +
...ityFunctionBackupFilterAbstractSelfTest.java | 13 +-
.../local/LocalAffinityFunctionTest.java | 6 +-
.../store/GridCacheBalancingStoreSelfTest.java | 32 +-
.../CacheJdbcPojoStoreAbstractSelfTest.java | 49 +
.../internal/ClusterNodeMetricsSelfTest.java | 3 +-
.../ComputeJobCancelWithServiceSelfTest.java | 3 +-
.../internal/GridNodeMetricsLogSelfTest.java | 13 +-
.../IgniteComputeEmptyClusterGroupTest.java | 6 +-
.../MarshallerContextLockingSelfTest.java | 3 +-
.../pagemem/impl/PageMemoryNoLoadSelfTest.java | 3 +-
.../processors/cache/CacheGetFromJobTest.java | 5 +
.../GridCacheAbstractLocalStoreSelfTest.java | 41 +-
.../processors/cache/GridCacheLeakTest.java | 4 +-
.../cache/GridCacheP2PUndeploySelfTest.java | 12 -
.../cache/IgniteCacheContainsKeyAtomicTest.java | 103 ++
.../cache/IgniteCacheNoSyncForGetTest.java | 395 +++++
...gniteCacheP2pUnmarshallingNearErrorTest.java | 6 +-
.../processors/cache/IgniteCacheStartTest.java | 191 +++
.../cache/IgniteDynamicCacheStartSelfTest.java | 2 +-
...niteTopologyValidatorGridSplitCacheTest.java | 8 +-
.../GridCacheBinaryObjectsAbstractSelfTest.java | 3 +-
.../IgniteCountDownLatchAbstractSelfTest.java | 3 +-
.../IgniteDataStructureUniqueNameTest.java | 3 +-
.../CacheDiscoveryDataConcurrentJoinTest.java | 198 +++
.../CacheLateAffinityAssignmentTest.java | 4 +-
.../cache/distributed/CacheStartOnJoinTest.java | 260 ++++
.../IgniteCacheTxIteratorSelfTest.java | 21 +-
.../IgniteCrossCacheTxStoreSelfTest.java | 12 +-
...ePartitionedBasicStoreMultiNodeSelfTest.java | 22 +-
.../GridCachePartitionedFullApiSelfTest.java | 18 -
.../cache/eviction/EvictionAbstractTest.java | 13 +-
.../IgniteCacheClientNearCacheExpiryTest.java | 2 +-
.../IgniteCacheExpiryPolicyAbstractTest.java | 15 +-
...eContinuousQueryReplicatedTxOneNodeTest.java | 3 +-
...heWriteBehindStoreMultithreadedSelfTest.java | 3 +-
...gniteComputeConfigVariationsFullApiTest.java | 84 +-
.../processors/database/BPlusTreeSelfTest.java | 75 +
.../database/IgniteDbDynamicCacheSelfTest.java | 2 +
.../database/MetadataStorageSelfTest.java | 3 +-
...gfsSecondaryFileSystemInjectionSelfTest.java | 6 +-
.../processors/igfs/IgfsSizeSelfTest.java | 2 +-
.../odbc/OdbcEscapeSequenceSelfTest.java | 2 +-
.../GridServiceProcessorAbstractSelfTest.java | 3 +-
...GridUnsafeDataOutputArraySizingSelfTest.java | 4 +-
.../IpcSharedMemoryBenchmarkReader.java | 3 +-
.../offheap/GridOffHeapMapAbstractSelfTest.java | 3 +-
.../unsafe/GridUnsafeMemorySelfTest.java | 3 +-
.../loadtests/hashmap/GridCacheTestContext.java | 4 +
.../loadtests/hashmap/GridHashMapLoadTest.java | 4 +-
.../marshaller/GridMarshallerAbstractTest.java | 6 +-
.../ignite/messaging/GridMessagingSelfTest.java | 4 +-
.../SecurityPermissionSetBuilderTest.java | 83 +-
.../TcpCommunicationSpiFaultyClientTest.java | 3 +-
.../testframework/junits/GridAbstractTest.java | 12 +
.../junits/spi/GridSpiAbstractTest.java | 5 +
.../testsuites/IgniteCacheTestSuite2.java | 3 +
.../testsuites/IgniteCacheTestSuite3.java | 2 +-
.../testsuites/IgniteCacheTestSuite4.java | 9 +
.../IgniteTopologyValidatorTestSuit.java | 44 -
.../IgniteTopologyValidatorTestSuite.java | 50 +
modules/docker/2.0.0/Dockerfile | 46 +
modules/docker/2.0.0/run.sh | 51 +
modules/docker/Dockerfile | 2 +-
modules/extdata/p2p/pom.xml | 2 +-
.../tests/p2p/P2PTestTaskExternalPath2.java | 4 +-
.../extdata/uri/modules/uri-dependency/pom.xml | 2 +-
modules/extdata/uri/pom.xml | 2 +-
modules/flink/pom.xml | 2 +-
.../sink/flink/FlinkIgniteSinkSelfTest.java | 9 +-
modules/flume/pom.xml | 2 +-
modules/gce/pom.xml | 2 +-
modules/geospatial/pom.xml | 2 +-
modules/hadoop/pom.xml | 4 +-
.../hadoop/impl/igfs/HadoopIgfsFuture.java | 3 -
.../hadoop/jobtracker/HadoopJobTracker.java | 20 +-
.../external/HadoopExternalTaskExecutor.java | 3 -
.../HadoopIgfs20FileSystemAbstractSelfTest.java | 3 +-
.../IgniteHadoopFileSystemAbstractSelfTest.java | 6 +-
.../taskexecutor/HadoopExecutorServiceTest.java | 3 +-
modules/hibernate-4.2/pom.xml | 2 +-
.../cache/hibernate/HibernateKeyWrapper.java | 7 +
.../HibernateL2CacheStrategySelfTest.java | 597 ++++++++
.../testsuites/IgniteHibernateTestSuite.java | 2 +
modules/hibernate-5.1/pom.xml | 2 +-
.../hibernate/HibernateL2CacheSelfTest.java | 2 +-
.../HibernateL2CacheStrategySelfTest.java | 569 +++++++
.../testsuites/IgniteHibernate5TestSuite.java | 2 +
modules/hibernate-core/pom.xml | 10 +-
.../cache/hibernate/HibernateCacheProxy.java | 25 -
modules/indexing/pom.xml | 2 +-
.../query/h2/DmlStatementsProcessor.java | 13 +-
.../processors/query/h2/IgniteH2Indexing.java | 20 +-
.../query/h2/sql/GridSqlQuerySplitter.java | 7 +-
.../query/h2/twostep/GridMapQueryExecutor.java | 4 +-
.../query/h2/twostep/GridMergeIndexSorted.java | 3 +
.../cache/GridCacheCrossCacheQuerySelfTest.java | 12 +-
.../GridCacheQueryIndexDisabledSelfTest.java | 4 +-
...niteCacheAbstractInsertSqlQuerySelfTest.java | 3 +-
.../IgniteCacheInsertSqlQuerySelfTest.java | 22 +
...butedPartitionQueryNodeRestartsSelfTest.java | 6 +-
.../query/IgniteSqlSplitterSelfTest.java | 98 ++
modules/jcl/pom.xml | 2 +-
modules/jms11/pom.xml | 2 +-
modules/jta/pom.xml | 2 +-
modules/kafka/pom.xml | 2 +-
.../kafka/connect/IgniteSinkConnectorTest.java | 3 +-
.../connect/IgniteSourceConnectorTest.java | 3 +-
modules/kubernetes/pom.xml | 2 +-
modules/log4j/pom.xml | 2 +-
modules/log4j2/pom.xml | 2 +-
.../log4j2/GridLog4j2InitializedTest.java | 3 +-
.../log4j2/GridLog4j2LoggingFileTest.java | 3 +-
modules/mesos/pom.xml | 2 +-
.../apache/ignite/mesos/IgniteFramework.java | 111 +-
.../org/apache/ignite/mesos/IgniteTask.java | 3 +-
.../ignite/mesos/IgniteSchedulerSelfTest.java | 39 +-
modules/ml/pom.xml | 6 +-
.../org/apache/ignite/ml/math/Precision.java | 588 +++++++
.../java/org/apache/ignite/ml/math/Tracer.java | 22 +-
.../decompositions/CholeskyDecomposition.java | 6 +-
.../math/decompositions/EigenDecomposition.java | 6 +-
.../ml/math/decompositions/LUDecomposition.java | 9 +-
.../ml/math/decompositions/QRDecomposition.java | 70 +-
.../SingularValueDecomposition.java | 5 +-
.../math/exceptions/CardinalityException.java | 6 +-
.../exceptions/InsufficientDataException.java | 44 +
.../exceptions/MathArithmeticException.java | 47 +
.../MathIllegalArgumentException.java | 37 +
.../math/exceptions/MathRuntimeException.java | 47 +
.../ml/math/exceptions/NoDataException.java | 45 +
.../NonPositiveDefiniteMatrixException.java | 8 +-
.../exceptions/NonSquareMatrixException.java | 33 +
.../math/exceptions/NullArgumentException.java | 27 +
.../exceptions/SingularMatrixException.java | 9 +-
.../ignite/ml/math/functions/Functions.java | 5 +
.../apache/ignite/ml/math/impls/CacheUtils.java | 111 +-
.../ml/math/impls/matrix/AbstractMatrix.java | 5 +
.../impls/matrix/DenseLocalOffHeapMatrix.java | 5 -
.../impls/matrix/SparseDistributedMatrix.java | 16 +-
.../matrix/SparseDistributedMatrixStorage.java | 89 +-
.../math/impls/vector/SingleElementVector.java | 103 +-
.../apache/ignite/ml/math/util/MatrixUtil.java | 122 ++
.../AbstractMultipleLinearRegression.java | 358 +++++
.../regressions/MultipleLinearRegression.java | 71 +
.../OLSMultipleLinearRegression.java | 272 ++++
.../regressions/RegressionsErrorMessages.java | 28 +
.../ignite/ml/regressions/package-info.java | 22 +
.../ignite/ml/math/d3-matrix-template.html | 17 +-
.../ignite/ml/math/d3-vector-template.html | 15 +-
.../org/apache/ignite/ml/IgniteMLTestSuite.java | 35 +
.../java/org/apache/ignite/ml/TestUtils.java | 248 +++
.../apache/ignite/ml/math/ExternalizeTest.java | 1 +
.../ml/math/MathImplDistributedTestSuite.java | 2 +-
.../ignite/ml/math/MathImplLocalTestSuite.java | 4 +-
.../ignite/ml/math/MathImplMainTestSuite.java | 5 +-
.../CholeskyDecompositionTest.java | 6 +-
.../decompositions/LUDecompositionTest.java | 6 +-
.../decompositions/QRDecompositionTest.java | 6 +-
.../SingularValueDecompositionTest.java | 6 +-
.../matrix/SparseDistributedMatrixTest.java | 67 +-
.../AbstractMultipleLinearRegressionTest.java | 164 ++
.../OLSMultipleLinearRegressionTest.java | 819 ++++++++++
.../ml/regressions/RegressionsTestSuite.java | 32 +
modules/mqtt/pom.xml | 2 +-
modules/osgi-karaf/pom.xml | 2 +-
modules/osgi-paxlogging/pom.xml | 2 +-
modules/osgi/pom.xml | 2 +-
.../pagemem/PageMemoryImplReloadSelfTest.java | 371 -----
.../ignite/impl/binary/binary_type_manager.h | 6 +-
.../src/impl/binary/binary_type_manager.cpp | 83 +-
modules/platforms/cpp/common/configure.ac | 2 +-
.../platforms/cpp/common/include/Makefile.am | 5 +-
.../cpp/common/include/ignite/common/promise.h | 201 +++
.../common/include/ignite/common/shared_state.h | 331 ++++
.../cpp/common/include/ignite/future.h | 236 +++
.../cpp/common/include/ignite/ignite_error.h | 3 +
.../linux/include/ignite/common/concurrent_os.h | 234 ++-
.../win/include/ignite/common/concurrent_os.h | 169 ++-
.../common/os/win/src/common/concurrent_os.cpp | 26 +-
.../cpp/common/project/vs/common.vcxproj | 3 +
.../common/project/vs/common.vcxproj.filters | 9 +
modules/platforms/cpp/configure.ac | 2 +-
modules/platforms/cpp/configure.acrel | 2 +-
modules/platforms/cpp/core-test/Makefile.am | 1 +
modules/platforms/cpp/core-test/configure.ac | 2 +-
.../cpp/core-test/project/vs/core-test.vcxproj | 1 +
.../project/vs/core-test.vcxproj.filters | 4 +
.../cpp/core-test/src/cache_query_test.cpp | 22 +
.../cpp/core-test/src/concurrent_test.cpp | 47 +
.../platforms/cpp/core-test/src/future_test.cpp | 474 ++++++
modules/platforms/cpp/core/configure.ac | 2 +-
.../core/include/ignite/cache/query/query_sql.h | 8 +
.../ignite/cache/query/query_sql_fields.h | 10 +-
modules/platforms/cpp/examples/configure.ac | 2 +-
.../putget-example/config/example-cache.xml | 10 +-
.../project/vs/putget-example.vcxproj | 3 +
.../project/vs/putget-example.vcxproj.filters | 8 +
.../putget-example/src/putget_example.cpp | 2 +-
.../project/vs/query-example.vcxproj | 3 +
.../project/vs/query-example.vcxproj.filters | 8 +
.../query-example/src/query_example.cpp | 6 +-
modules/platforms/cpp/ignite/configure.ac | 2 +-
.../cpp/odbc-test/project/vs/odbc-test.vcxproj | 1 +
.../project/vs/odbc-test.vcxproj.filters | 4 +
.../cpp/odbc-test/src/configuration_test.cpp | 40 +-
.../cpp/odbc-test/src/queries_test.cpp | 62 +-
.../cpp/odbc/include/ignite/odbc/message.h | 45 +-
.../odbc/include/ignite/odbc/protocol_version.h | 103 +-
.../cpp/odbc/install/ignite-odbc-amd64.wxs | 2 +-
.../cpp/odbc/install/ignite-odbc-x86.wxs | 2 +-
.../src/system/ui/dsn_configuration_window.cpp | 42 +-
modules/platforms/cpp/odbc/src/connection.cpp | 35 +-
.../platforms/cpp/odbc/src/protocol_version.cpp | 138 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Apache.Ignite.Core.Tests.csproj | 4 +
.../Binary/BinaryBuilderSelfTest.cs | 21 +-
.../Binary/BinaryDateTimeTest.cs | 204 +++
.../Binary/BinaryDynamicRegistrationTest.cs | 40 +
.../Binary/BinaryNameMapperTest.cs | 7 +
.../Binary/BinarySelfTest.cs | 35 +-
.../Binary/EnumsTest.cs | 276 ++++
.../Binary/TypeNameParserTest.cs | 93 +-
.../Binary/TypeResolverTest.cs | 104 ++
.../Cache/MemoryMetricsTest.cs | 134 ++
.../Cache/Query/CacheLinqTest.cs | 2 +-
.../Cache/Query/CacheQueriesTest.cs | 5 +-
.../Compute/BinarizableClosureTaskTest.cs | 10 +-
.../Compute/ComputeApiTest.cs | 28 +-
.../Compute/FailoverTaskSelfTest.cs | 46 +-
.../Compute/IgniteExceptionTaskSelfTest.cs | 105 +-
.../Compute/SerializableClosureTaskTest.cs | 30 +-
.../Apache.Ignite.Core.Tests/DeploymentTest.cs | 1 +
.../Examples/ExamplesTest.cs | 5 +-
.../IgniteConfigurationSerializerTest.cs | 6 +-
.../IgniteConfigurationTest.cs | 4 +-
.../IgniteStartStopTest.cs | 2 +
.../Log/CustomLoggerTest.cs | 3 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Apache.Ignite.Core.csproj | 3 +
.../Binary/BinaryBasicNameMapper.cs | 6 +-
.../Binary/BinaryReflectiveSerializer.cs | 44 +-
.../Binary/TimestampAttribute.cs | 40 +
.../Configuration/MemoryPolicyConfiguration.cs | 9 +
.../Apache.Ignite.Core/Cache/IMemoryMetrics.cs | 55 +
.../Compute/ComputeTaskAdapter.cs | 4 +-
.../dotnet/Apache.Ignite.Core/IIgnite.cs | 7 +
.../IgniteConfigurationSection.xsd | 5 +
.../dotnet/Apache.Ignite.Core/Ignition.cs | 16 +-
.../Impl/Binary/BinaryEnum.cs | 22 +-
.../Impl/Binary/BinaryObject.cs | 2 +-
.../Impl/Binary/BinaryProcessor.cs | 16 +-
.../Impl/Binary/BinaryReader.cs | 6 +-
.../Impl/Binary/BinaryReflectiveActions.cs | 97 +-
.../BinaryReflectiveSerializerInternal.cs | 19 +-
.../Impl/Binary/BinarySystemHandlers.cs | 271 ++--
.../Impl/Binary/BinaryUtils.cs | 43 +-
.../Impl/Binary/BinaryWriter.cs | 48 +-
.../Binary/DeserializationCallbackProcessor.cs | 11 +
.../Impl/Binary/Marshaller.cs | 18 +-
.../Impl/Binary/SerializableSerializer.cs | 10 +-
.../Impl/Binary/TypeNameParser.cs | 31 +-
.../Impl/Binary/TypeResolver.cs | 115 +-
.../Impl/Cache/MemoryMetrics.cs | 62 +
.../Impl/Cluster/ClusterGroupImpl.cs | 27 +-
.../Closure/ComputeAbstractClosureTask.cs | 3 +-
.../Apache.Ignite.Core/Impl/Compute/Compute.cs | 17 +
.../Impl/Compute/ComputeJobHolder.cs | 3 +-
.../Impl/Compute/ComputeTaskHolder.cs | 8 +-
.../dotnet/Apache.Ignite.Core/Impl/Ignite.cs | 6 +
.../Impl/Memory/PlatformMemoryStream.cs | 2 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Apache.Ignite/Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
.../Properties/AssemblyInfo.cs | 6 +-
modules/rest-http/pom.xml | 2 +-
modules/rocketmq/pom.xml | 2 +-
modules/scalar-2.10/pom.xml | 2 +-
modules/scalar/pom.xml | 2 +-
modules/schedule/pom.xml | 2 +-
.../processors/schedule/ScheduleFutureImpl.java | 2 +-
modules/slf4j/pom.xml | 2 +-
modules/spark-2.10/pom.xml | 2 +-
modules/spark/pom.xml | 2 +-
modules/spring-data/pom.xml | 5 +-
modules/spring/pom.xml | 2 +-
.../spring/SpringTransactionManager.java | 32 +-
.../jdbc/CacheJdbcPojoStoreFactorySelfTest.java | 2 +-
.../internal/IgniteDynamicCacheConfigTest.java | 4 +-
.../GridSpringTransactionManagerSelfTest.java | 42 +-
modules/ssh/pom.xml | 2 +-
modules/storm/pom.xml | 2 +-
modules/tools/pom.xml | 2 +-
modules/twitter/pom.xml | 2 +-
modules/urideploy/pom.xml | 2 +-
.../spi/deployment/uri/UriDeploymentSpi.java | 6 +-
.../scanners/http/UriDeploymentHttpScanner.java | 3 +-
.../uri/GridUriDeploymentMd5CheckSelfTest.java | 9 +-
modules/visor-console-2.10/pom.xml | 2 +-
modules/visor-console/pom.xml | 2 +-
modules/visor-plugins/pom.xml | 2 +-
.../web-console/backend/app/agentsHandler.js | 28 +-
.../web-console/backend/app/browsersHandler.js | 28 +-
modules/web-console/backend/app/mongo.js | 1 +
modules/web-console/frontend/app/app.config.js | 4 +-
modules/web-console/frontend/app/app.js | 17 +-
.../activities-user-dialog.tpl.pug | 34 +-
.../cluster-select/cluster-select.pug | 5 +-
.../cluster-select/cluster-select.scss | 30 +
.../app/components/cluster-select/index.js | 1 +
.../app/components/ignite-icon/directive.js | 67 +
.../app/components/ignite-icon/index.js | 25 +
.../app/components/ignite-icon/style.scss | 21 +
.../list-of-registered-users.tpl.pug | 6 +-
.../components/web-console-footer/component.js | 23 +
.../app/components/web-console-footer/index.js | 23 +
.../components/web-console-footer/style.scss | 55 +
.../components/web-console-footer/template.pug | 19 +
.../components/web-console-header/component.js | 47 +
.../app/components/web-console-header/index.js | 23 +
.../components/web-console-header/style.scss | 158 ++
.../components/web-console-header/template.pug | 34 +
.../frontend/app/filters/byName.filter.js | 4 +-
.../app/filters/domainsValidation.filter.js | 4 +-
.../frontend/app/filters/duration.filter.js | 4 +-
.../frontend/app/filters/hasPojo.filter.js | 4 +-
.../app/helpers/jade/form/form-field-text.pug | 55 +-
.../frontend/app/helpers/jade/mixins.pug | 30 +-
.../app/modules/agent/AgentManager.service.js | 201 ++-
.../app/modules/branding/branding.provider.js | 2 +-
.../modules/branding/header-title.directive.js | 6 +-
.../branding/powered-by-apache.directive.js | 3 +-
.../generator/ConfigurationGenerator.js | 3 +-
.../generator/Properties.service.js | 63 +-
.../frontend/app/modules/demo/Demo.module.js | 2 +-
.../frontend/app/modules/sql/sql.controller.js | 12 +-
.../states/configuration/domains/general.pug | 4 +-
.../states/configuration/domains/query.pug | 2 +
.../states/configuration/igfs/secondary.pug | 2 +-
.../configuration/summary/summary.controller.js | 2 +-
.../frontend/app/modules/states/signin.state.js | 2 +
.../frontend/app/primitives/btn/index.scss | 245 ++-
.../app/primitives/datepicker/index.pug | 2 +-
.../frontend/app/primitives/dropdown/index.pug | 7 +-
.../frontend/app/primitives/dropdown/index.scss | 88 +-
.../frontend/app/primitives/index.js | 2 +
.../frontend/app/primitives/modal/index.scss | 182 +++
.../frontend/app/primitives/table/index.scss | 91 ++
.../app/primitives/ui-grid-settings/index.scss | 30 +-
.../frontend/app/primitives/ui-grid/index.scss | 6 +-
.../frontend/controllers/domains-controller.js | 28 +-
.../frontend/gulpfile.babel.js/paths.js | 2 +
.../frontend/gulpfile.babel.js/tasks/bundle.js | 2 +-
.../gulpfile.babel.js/webpack/common.js | 10 +-
.../webpack/environments/development.js | 5 +-
modules/web-console/frontend/package.json | 2 +
.../frontend/public/images/icons/clock.svg | 1 +
.../frontend/public/images/icons/cross.svg | 2 +-
.../frontend/public/images/icons/csv.svg | 1 +
.../frontend/public/images/icons/download.svg | 2 +
.../frontend/public/images/icons/export.svg | 1 -
.../frontend/public/images/icons/gear.svg | 2 +-
.../frontend/public/images/icons/index.js | 23 +
.../frontend/public/images/icons/manual.svg | 1 +
.../frontend/public/images/ignite-logo.png | Bin 1982 -> 0 bytes
.../frontend/public/images/ignite-logo.svg | 17 +
.../frontend/public/images/ignite-logo@2x.png | Bin 3325 -> 0 bytes
.../stylesheets/_bootstrap-variables.scss | 4 +-
.../frontend/public/stylesheets/style.scss | 173 +--
.../frontend/public/stylesheets/variables.scss | 7 +
.../frontend/test/karma.conf.babel.js | 6 +
modules/web-console/frontend/views/403.tpl.pug | 8 +-
modules/web-console/frontend/views/404.tpl.pug | 8 +-
modules/web-console/frontend/views/base.pug | 8 +-
modules/web-console/frontend/views/base2.pug | 8 +-
.../views/configuration/domains-import.tpl.pug | 11 +-
.../frontend/views/includes/footer.pug | 23 -
.../frontend/views/includes/header-left.pug | 64 +
.../frontend/views/includes/header-right.pug | 40 +
.../frontend/views/includes/header.pug | 57 -
modules/web-console/frontend/views/index.pug | 3 +-
.../web-console/frontend/views/reset.tpl.pug | 12 +-
.../web-console/frontend/views/signin.tpl.pug | 14 +-
modules/web-console/pom.xml | 2 +-
modules/web-console/web-agent/pom.xml | 2 +-
.../console/agent/handlers/ClusterListener.java | 92 +-
.../console/agent/handlers/DemoListener.java | 2 +-
.../console/agent/handlers/RestListener.java | 7 +
.../ignite/console/agent/rest/RestExecutor.java | 21 +-
modules/web/ignite-appserver-test/pom.xml | 2 +-
modules/web/ignite-websphere-test/pom.xml | 2 +-
modules/web/pom.xml | 2 +-
modules/yardstick/pom.xml | 2 +-
.../cache/IgniteGetFromComputeBenchmark.java | 167 ++
modules/yarn/pom.xml | 2 +-
modules/zeromq/pom.xml | 2 +-
modules/zookeeper/pom.xml | 2 +-
parent/pom.xml | 3 +-
pom.xml | 11 +-
627 files changed, 20287 insertions(+), 8771 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
index 3746c3f,d48b1c7..3842d9b
--- a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
@@@ -591,22 -591,9 +596,25 @@@ public final class IgniteSystemProperti
/** Cache start size for on-heap maps. Defaults to 4096. */
public static final String IGNITE_CACHE_START_SIZE = "IGNITE_CACHE_START_SIZE";
+ /** */
+ public static final String IGNITE_START_CACHES_ON_JOIN = "IGNITE_START_CACHES_ON_JOIN";
+
+ /**
+ * Skip CRC calculation flag.
+ */
+ public static final String IGNITE_PDS_SKIP_CRC = "IGNITE_PDS_SKIP_CRC";
+
+ /**
+ * WAL rebalance threshold.
+ */
+ public static final String IGNITE_PDS_PARTITION_DESTROY_CHECKPOINT_DELAY =
+ "IGNITE_PDS_PARTITION_DESTROY_CHECKPOINT_DELAY";
+
+ /**
+ * WAL rebalance threshold.
+ */
+ public static final String IGNITE_WAL_REBALANCE_THRESHOLD = "IGNITE_WAL_REBALANCE_THRESHOLD";
+
/** Returns true for system properties only avoiding sending sensitive information. */
private static final IgnitePredicate<Map.Entry<String, String>> PROPS_FILTER = new IgnitePredicate<Map.Entry<String, String>>() {
@Override public boolean apply(final Map.Entry<String, String> entry) {
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/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 581cd3b,cec42a8..6601591
--- 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
@@@ -691,9 -715,7 +720,8 @@@ public class CacheAffinitySharedManager
* @param nodeId Node ID.
* @param res Response.
*/
- private void processAffinityAssignmentResponse(Integer cacheId, UUID nodeId,
- private void processAffinityAssignmentResponse(UUID nodeId, GridDhtAffinityAssignmentResponse res) {
++ private void processAffinityAssignmentResponse(UUID nodeId,
+ GridDhtAffinityAssignmentResponse res) {
if (log.isDebugEnabled())
log.debug("Processing affinity assignment response [node=" + nodeId + ", res=" + res + ']');
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeRequest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/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 047d683,06ad62d..3f26871
--- 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
@@@ -958,38 -899,20 +901,20 @@@ public class GridCacheProcessor extend
}
/**
- *
+ * @throws IgniteCheckedException if check failed.
*/
private void checkConsistency() throws IgniteCheckedException {
- if (!ctx.config().isDaemon() && !getBoolean(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK)) {
- for (ClusterNode n : ctx.discovery().remoteNodes()) {
- if (Boolean.TRUE.equals(n.attribute(ATTR_CONSISTENCY_CHECK_SKIPPED)))
- continue;
-
- checkTransactionConfiguration(n);
-
- DeploymentMode locDepMode = ctx.config().getDeploymentMode();
- DeploymentMode rmtDepMode = n.attribute(IgniteNodeAttributes.ATTR_DEPLOYMENT_MODE);
-
- CU.checkAttributeMismatch(
- log, null, n.id(), "deploymentMode", "Deployment mode",
- locDepMode, rmtDepMode, true);
-
- for (DynamicCacheDescriptor desc : cacheDescriptors()) {
- CacheConfiguration rmtCfg = desc.remoteConfiguration(n.id());
-
- if (rmtCfg != null) {
- CacheConfiguration locCfg = desc.cacheConfiguration();
+ for (ClusterNode n : ctx.discovery().remoteNodes()) {
- if (n.attribute(ATTR_CONSISTENCY_CHECK_SKIPPED))
++ if (Boolean.TRUE.equals(n.attribute(ATTR_CONSISTENCY_CHECK_SKIPPED)))
+ continue;
- checkCache(locCfg, rmtCfg, n);
+ checkTransactionConfiguration(n);
- // Check plugin cache configurations.
- CachePluginManager pluginMgr = desc.pluginManager();
+ DeploymentMode locDepMode = ctx.config().getDeploymentMode();
+ DeploymentMode rmtDepMode = n.attribute(IgniteNodeAttributes.ATTR_DEPLOYMENT_MODE);
- pluginMgr.validateRemotes(rmtCfg, n);
- }
- }
- }
+ CU.checkAttributeMismatch(log, null, n.id(), "deploymentMode", "Deployment mode",
+ locDepMode, rmtDepMode, true);
}
}
@@@ -1909,59 -1794,52 +1806,59 @@@
* @throws IgniteCheckedException If failed.
*/
private void prepareCacheStart(
- CacheConfiguration cfg,
- NearCacheConfiguration nearCfg,
- CacheType cacheType,
- boolean clientStartOnly,
- UUID initiatingNodeId,
- IgniteUuid deploymentId,
- AffinityTopologyVersion topVer,
+ CacheConfiguration startCfg,
+ @Nullable NearCacheConfiguration reqNearCfg,
+ DynamicCacheDescriptor desc,
+ AffinityTopologyVersion exchTopVer,
@Nullable QuerySchema schema
) throws IgniteCheckedException {
- CacheConfiguration ccfg = new CacheConfiguration(cfg);
+ assert !caches.containsKey(startCfg.getName()) : startCfg.getName();
- IgnitePredicate nodeFilter = ccfg.getNodeFilter();
+ CacheConfiguration ccfg = new CacheConfiguration(startCfg);
- ClusterNode locNode = ctx.discovery().localNode();
++ IgniteCacheProxy<?, ?> proxy = jCacheProxies.get(ccfg.getName());
+
- IgniteCacheProxy<?, ?> proxy = jCacheProxies.get(cfg.getName());
++ boolean proxyRestart = proxy != null && proxy.isRestarting() && !caches.containsKey(ccfg.getName());
+
- boolean affNodeStart = !clientStartOnly && CU.affinityNode(locNode, nodeFilter);
- boolean clientNodeStart = locNode.id().equals(initiatingNodeId);
- boolean proxyRestart = proxy != null && proxy.isRestarting() && !caches.containsKey(cfg.getName());
+ CacheObjectContext cacheObjCtx = ctx.cacheObjects().contextForCache(ccfg);
- if (sharedCtx.cacheContext(CU.cacheId(cfg.getName())) != null)
- return;
+ boolean affNode;
- if (affNodeStart || clientNodeStart || proxyRestart || CU.isSystemCache(cfg.getName())) {
- if (clientNodeStart && !affNodeStart) {
- if (nearCfg != null)
- ccfg.setNearConfiguration(nearCfg);
- else
- ccfg.setNearConfiguration(null);
- }
+ if (ccfg.getCacheMode() == LOCAL) {
+ affNode = true;
- CacheObjectContext cacheObjCtx = ctx.cacheObjects().contextForCache(ccfg);
+ ccfg.setNearConfiguration(null);
+ }
+ else if (CU.affinityNode(ctx.discovery().localNode(), ccfg.getNodeFilter()))
+ affNode = true;
+ else {
+ affNode = false;
- GridCacheContext cacheCtx = createCache(ccfg, null, cacheType, cacheObjCtx, true);
+ ccfg.setNearConfiguration(reqNearCfg);
+ }
- cacheCtx.startTopologyVersion(topVer);
+ GridCacheContext cacheCtx = createCache(ccfg,
+ null,
+ desc,
+ exchTopVer,
+ cacheObjCtx,
+ affNode,
+ true);
- cacheCtx.dynamicDeploymentId(deploymentId);
+ cacheCtx.dynamicDeploymentId(desc.deploymentId());
- GridCacheAdapter cache = cacheCtx.cache();
+ GridCacheAdapter cache = cacheCtx.cache();
- sharedCtx.addCacheContext(cacheCtx);
+ sharedCtx.addCacheContext(cacheCtx);
- caches.put(cacheCtx.name(), cache);
+ caches.put(cacheCtx.name(), cache);
- startCache(cache, schema != null ? schema : new QuerySchema());
+ startCache(cache, schema != null ? schema : new QuerySchema());
- onKernalStart(cache);
+ onKernalStart(cache);
+
- if (proxyRestart)
- proxy.onRestarted(cacheCtx, cache);
- }
++ if (proxyRestart)
++ proxy.onRestarted(cacheCtx, cache);
}
/**
@@@ -2052,70 -1909,43 +1946,82 @@@
for (GridCacheAdapter<?, ?> cache : caches.values()) {
GridCacheContext<?, ?> cacheCtx = cache.context();
- if (F.eq(cacheCtx.startTopologyVersion(), topVer)) {
+ if (cacheCtx.startTopologyVersion().equals(topVer)) {
- jCacheProxies.put(cacheCtx.name(), new IgniteCacheProxy(cache.context(), cache, null, false));
++ jCacheProxies.putIfAbsent(cacheCtx.name(), new IgniteCacheProxy(cache.context(), cache, null, false));
+
if (cacheCtx.preloader() != null)
cacheCtx.preloader().onInitialExchangeComplete(err);
-
- String masked = cacheCtx.name();
-
- jCacheProxies.putIfAbsent(masked, new IgniteCacheProxy(cache.context(), cache, null, false));
}
}
- if (!F.isEmpty(reqs) && err == null) {
+ if (exchActions != null && err == null) {
+ Collection<IgniteBiTuple<GridCacheContext, Boolean>> stopped = null;
+
- for (DynamicCacheChangeRequest req : reqs) {
- String masked = req.cacheName();
++ GridCacheContext<?, ?> stopCtx = null;
++ boolean destroy = false;
+
- GridCacheContext<?, ?> stopCtx = null;
- boolean destroy = false;
+ for (ExchangeActions.ActionData action : exchActions.cacheStopRequests()) {
+ stopGateway(action.request());
- if (req.stop()) {
- stopGateway(req);
- prepareCacheStop(action.request());
++ sharedCtx.database().checkpointReadLock();
+
- sharedCtx.database().checkpointReadLock();
++ try {
++ stopCtx = prepareCacheStop(action.request());
++ destroy = action.request().destroy();
++ }
++ finally {
++ sharedCtx.database().checkpointReadUnlock();
++ }
+
- try {
- stopCtx = prepareCacheStop(req);
- destroy = req.destroy();
- }
- finally {
- sharedCtx.database().checkpointReadUnlock();
- }
++ if (stopCtx != null) {
++ if (stopped == null)
++ stopped = new ArrayList<>();
++
++ stopped.add(F.<GridCacheContext, Boolean>t(stopCtx, destroy));
+ }
- else if (req.close() && req.initiatingNodeId().equals(ctx.localNodeId())) {
- IgniteCacheProxy<?, ?> proxy = jCacheProxies.remove(masked);
+ }
- if (proxy != null) {
- if (proxy.context().affinityNode()) {
- GridCacheAdapter<?, ?> cache = caches.get(masked);
+ for (DynamicCacheChangeRequest req : exchActions.closeRequests(ctx.localNodeId())) {
+ String cacheName = req.cacheName();
- if (cache != null)
- jCacheProxies.putIfAbsent(masked, new IgniteCacheProxy(cache.context(), cache, null, false));
- }
- else {
- if (req.restart())
- proxy.restart();
- IgniteCacheProxy<?, ?> proxy = jCacheProxies.get(cacheName);
++ IgniteCacheProxy<?, ?> proxy = jCacheProxies.remove(cacheName);
+
+ if (proxy != null) {
+ if (proxy.context().affinityNode()) {
+ GridCacheAdapter<?, ?> cache = caches.get(cacheName);
+
+ assert cache != null : cacheName;
+
- jCacheProxies.put(cacheName, new IgniteCacheProxy(cache.context(), cache, null, false));
++ jCacheProxies.putIfAbsent(cacheName, new IgniteCacheProxy(cache.context(), cache, null, false));
+ }
+ else {
- jCacheProxies.remove(cacheName);
++ if (req.restart())
++ proxy.restart();
- proxy.context().gate().onStopped();
+ proxy.context().gate().onStopped();
- prepareCacheStop(req);
++ sharedCtx.database().checkpointReadLock();
++
++ try {
+ stopCtx = prepareCacheStop(req);
+ destroy = req.destroy();
+ }
++ finally {
++ sharedCtx.database().checkpointReadUnlock();
++ }
}
}
+
+ if (stopCtx != null) {
+ if (stopped == null)
+ stopped = new ArrayList<>();
+
+ stopped.add(F.<GridCacheContext, Boolean>t(stopCtx, destroy));
+ }
}
+
+ if (stopped != null && !sharedCtx.kernalContext().clientNode())
+ sharedCtx.database().onCachesStopped(stopped);
}
}
@@@ -2757,14 -2319,9 +2407,13 @@@
if (checkThreadTx)
checkEmptyTransactions();
- DynamicCacheChangeRequest t = new DynamicCacheChangeRequest(UUID.randomUUID(), cacheName, ctx.localNodeId());
+ DynamicCacheChangeRequest req = DynamicCacheChangeRequest.stopRequest(ctx, cacheName, true);
- t.stop(true);
- t.destroy(true);
++ req.stop(true);
++ req.destroy(true);
++ req.restart(restart);
+
- t.restart(restart);
-
- return F.first(initiateCacheChanges(F.asList(t), false));
+ return F.first(initiateCacheChanges(F.asList(req), false));
}
/**
@@@ -2780,14 -2336,9 +2429,13 @@@
List<DynamicCacheChangeRequest> reqs = new ArrayList<>(cacheNames.size());
for (String cacheName : cacheNames) {
- DynamicCacheChangeRequest t = new DynamicCacheChangeRequest(UUID.randomUUID(), cacheName, ctx.localNodeId());
+ DynamicCacheChangeRequest req = DynamicCacheChangeRequest.stopRequest(ctx, cacheName, true);
- t.stop(true);
- t.destroy(true);
-
- t.restart(restart);
++ req.stop(true);
++ req.destroy(true);
++ req.restart(restart);
+
- reqs.add(t);
+ reqs.add(req);
}
GridCompoundFuture<?, ?> compoundFut = new GridCompoundFuture<>();
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java
index 0a6e499,1df74ef..04f5b85
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java
@@@ -41,7 -41,9 +41,10 @@@ import org.apache.ignite.internal.pagem
import org.apache.ignite.internal.pagemem.wal.IgniteWriteAheadLogManager;
import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
import org.apache.ignite.internal.processors.cache.database.IgniteCacheDatabaseSharedManager;
+import org.apache.ignite.internal.processors.cache.database.IgniteCacheSnapshotManager;
+ import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionTopology;
+ import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionExchangeId;
+ import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture;
import org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal;
import org.apache.ignite.internal.processors.cache.jta.CacheJtaManagerAdapter;
import org.apache.ignite.internal.processors.cache.store.CacheStoreManager;
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/IgniteCacheDatabaseSharedManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/BPlusTree.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAssignmentFetchFuture.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAssignmentFetchFuture.java
index eae27a2,741ca5e..20d1722
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAssignmentFetchFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAssignmentFetchFuture.java
@@@ -83,12 -88,13 +88,13 @@@ public class GridDhtAssignmentFetchFutu
AffinityTopologyVersion topVer,
DiscoCache discoCache
) {
- this.topVer = topVer;
- this.cacheId = cacheDesc.cacheId();
this.ctx = ctx;
- int cacheId = CU.cacheId(cacheName);
++ cacheId = cacheDesc.cacheId();
++ this.topVer = topVer;
- key = new T2<>(cacheId, topVer);
+ id = idGen.getAndIncrement();
- Collection<ClusterNode> availableNodes = discoCache.cacheAffinityNodes(cacheId);
+ Collection<ClusterNode> availableNodes = discoCache.cacheAffinityNodes(cacheDesc.cacheId());
LinkedList<ClusterNode> tmp = new LinkedList<>();
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheEntry.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtGetSingleFuture.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLocalPartition.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLocalPartition.java
index 3ee6952,6fb557a..1d910a3
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLocalPartition.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLocalPartition.java
@@@ -896,33 -900,28 +896,35 @@@ public class GridDhtLocalPartition exte
CacheDataRow row = it0.next();
GridCacheMapEntry cached = putEntryIfObsoleteOrAbsent(cctx.affinity().affinityTopologyVersion(),
- row.key(), null, true, false);
+ row.key(),
+ true,
+ false);
- if (cached instanceof GridDhtCacheEntry && ((GridDhtCacheEntry)cached).clearInternal(clearVer, extras)) {
- if (rec) {
- cctx.events().addEvent(cached.partition(),
- cached.key(),
- cctx.localNodeId(),
- (IgniteUuid)null,
- null,
- EVT_CACHE_REBALANCE_OBJECT_UNLOADED,
- null,
- false,
- cached.rawGet(),
- cached.hasValue(),
- null,
- null,
- null,
- false);
+ cctx.shared().database().checkpointReadLock();
+
+ try {
+ if (cached instanceof GridDhtCacheEntry && ((GridDhtCacheEntry)cached).clearInternal(clearVer, extras)) {
+ if (rec) {
+ cctx.events().addEvent(cached.partition(),
+ cached.key(),
+ cctx.localNodeId(),
+ (IgniteUuid)null,
+ null,
+ EVT_CACHE_REBALANCE_OBJECT_UNLOADED,
+ null,
+ false,
+ cached.rawGet(),
+ cached.hasValue(),
+ null,
+ null,
+ null,
+ false);
+ }
}
}
+ finally {
+ cctx.shared().database().checkpointReadUnlock();
+ }
}
catch (GridDhtInvalidPartitionException e) {
assert isEmpty() && state() == EVICTED : "Invalid error [e=" + e + ", part=" + this + ']';
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
index e00f0ee,8e79eda..938c1be
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
@@@ -414,81 -506,88 +414,81 @@@ import static org.apache.ignite.interna
cctx.shared().database().checkpointReadLock();
- synchronized (cctx.shared().exchange().interruptLock()) {
- if (Thread.currentThread().isInterrupted())
- throw new IgniteInterruptedCheckedException("Thread is interrupted: " + Thread.currentThread());
+ try {
+ synchronized (cctx.shared().exchange().interruptLock()) {
+ if (Thread.currentThread().isInterrupted())
+ throw new IgniteInterruptedCheckedException("Thread is interrupted: " + Thread.currentThread());
- try {
U.writeLock(lock);
- }
- catch (IgniteInterruptedCheckedException e) {
- cctx.shared().database().checkpointReadUnlock();
- throw e;
- }
+ try {
+ GridDhtPartitionExchangeId exchId = exchFut.exchangeId();
- try {
- GridDhtPartitionExchangeId exchId = exchFut.exchangeId();
+ if (stopping)
+ return;
- if (stopping)
- return;
+ assert topVer.equals(exchId.topologyVersion()) : "Invalid topology version [topVer=" +
+ topVer + ", exchId=" + exchId + ']';
- assert topVer.equals(exchId.topologyVersion()) : "Invalid topology version [topVer=" +
- topVer + ", exchId=" + exchId + ']';
+ if (exchId.isLeft())
+ removeNode(exchId.nodeId());
- if (exchId.isLeft())
- removeNode(exchId.nodeId());
+ ClusterNode oldest = discoCache.oldestAliveServerNodeWithCache();
- ClusterNode oldest = discoCache.oldestAliveServerNodeWithCache();
+ if (log.isDebugEnabled())
+ log.debug("Partition map beforeExchange [exchId=" + exchId + ", fullMap=" + fullMapString() + ']');
- if (log.isDebugEnabled())
- log.debug("Partition map beforeExchange [exchId=" + exchId + ", fullMap=" + fullMapString() + ']');
+ long updateSeq = this.updateSeq.incrementAndGet();
- long updateSeq = this.updateSeq.incrementAndGet();
+ cntrMap.clear();
- cntrMap.clear();
+ // If this is the oldest node.
- if (oldest != null && (loc.equals(oldest) || exchFut.isCacheAdded(cctx.cacheId(), exchId.topologyVersion()))) {
++ if (oldest != null && (loc.equals(oldest) || exchFut.cacheAddedOnExchange(cctx.cacheId(), cctx.receivedFrom()))) {
+ if (node2part == null) {
+ node2part = new GridDhtPartitionFullMap(oldest.id(), oldest.order(), updateSeq);
- // If this is the oldest node.
- if (oldest != null && (loc.equals(oldest) || exchFut.cacheAddedOnExchange(cctx.cacheId(), cctx.receivedFrom()))) {
- if (node2part == null) {
- node2part = new GridDhtPartitionFullMap(oldest.id(), oldest.order(), updateSeq);
+ if (log.isDebugEnabled())
+ log.debug("Created brand new full topology map on oldest node [exchId=" +
+ exchId + ", fullMap=" + fullMapString() + ']');
+ }
+ else if (!node2part.valid()) {
+ node2part = new GridDhtPartitionFullMap(oldest.id(), oldest.order(), updateSeq, node2part, false);
- if (log.isDebugEnabled())
- log.debug("Created brand new full topology map on oldest node [exchId=" +
- exchId + ", fullMap=" + fullMapString() + ']');
- }
- else if (!node2part.valid()) {
- node2part = new GridDhtPartitionFullMap(oldest.id(), oldest.order(), updateSeq, node2part, false);
+ if (log.isDebugEnabled())
+ log.debug("Created new full topology map on oldest node [exchId=" + exchId + ", fullMap=" +
+ node2part + ']');
+ }
+ else if (!node2part.nodeId().equals(loc.id())) {
+ node2part = new GridDhtPartitionFullMap(oldest.id(), oldest.order(), updateSeq, node2part, false);
- if (log.isDebugEnabled())
- log.debug("Created new full topology map on oldest node [exchId=" + exchId + ", fullMap=" +
- node2part + ']');
+ if (log.isDebugEnabled())
+ log.debug("Copied old map into new map on oldest node (previous oldest node left) [exchId=" +
+ exchId + ", fullMap=" + fullMapString() + ']');
+ }
}
- else if (!node2part.nodeId().equals(loc.id())) {
- node2part = new GridDhtPartitionFullMap(oldest.id(), oldest.order(), updateSeq, node2part, false);
- if (log.isDebugEnabled())
- log.debug("Copied old map into new map on oldest node (previous oldest node left) [exchId=" +
- exchId + ", fullMap=" + fullMapString() + ']');
+ if (affReady)
+ initPartitions0(exchFut, updateSeq);
+ else {
+ List<List<ClusterNode>> aff = cctx.affinity().idealAssignment();
+
+ createPartitions(aff, updateSeq);
}
- }
- if (affReady)
- initPartitions0(exchFut, updateSeq);
- else {
- List<List<ClusterNode>> aff = cctx.affinity().idealAssignment();
+ consistencyCheck();
- createPartitions(aff, updateSeq);
+ if (log.isDebugEnabled())
+ log.debug("Partition map after beforeExchange [exchId=" + exchId + ", fullMap=" +
+ fullMapString() + ']');
+ }
+ finally {
+ lock.writeLock().unlock();
}
-
- consistencyCheck();
-
- if (log.isDebugEnabled())
- log.debug("Partition map after beforeExchange [exchId=" + exchId + ", fullMap=" +
- fullMapString() + ']');
- }
- finally {
- lock.writeLock().unlock();
-
- cctx.shared().database().checkpointReadUnlock();
}
}
-
- // Wait for evictions.
- waitForRent();
+ finally {
+ cctx.shared().database().checkpointReadUnlock();
+ }
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridPartitionedGetFuture.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridPartitionedSingleGetFuture.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtForceKeysFuture.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtForceKeysFuture.java
index 1996a98,562a165..d72d8db
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtForceKeysFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtForceKeysFuture.java
@@@ -567,11 -562,9 +564,11 @@@ public final class GridDhtForceKeysFutu
catch (GridCacheEntryRemovedException ignore) {
if (log.isDebugEnabled())
log.debug("Trying to rebalance removed entry (will ignore) [cacheName=" +
- cctx.namex() + ", entry=" + entry + ']');
+ cctx.name() + ", entry=" + entry + ']');
}
finally {
+ cctx.shared().database().checkpointReadUnlock();
+
locPart.release();
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplyMessage.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/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 af614ee,544f847..e64f0dd
--- 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
@@@ -62,11 -59,10 +62,11 @@@ import org.apache.ignite.internal.proce
import org.apache.ignite.internal.processors.cache.ClusterState;
import org.apache.ignite.internal.processors.cache.DynamicCacheChangeBatch;
import org.apache.ignite.internal.processors.cache.CachePartitionExchangeWorkerTask;
- import org.apache.ignite.internal.processors.cache.DynamicCacheChangeRequest;
import org.apache.ignite.internal.processors.cache.DynamicCacheDescriptor;
+ import org.apache.ignite.internal.processors.cache.ExchangeActions;
import org.apache.ignite.internal.processors.cache.GridCacheContext;
import org.apache.ignite.internal.processors.cache.GridCacheMvccCandidate;
+import org.apache.ignite.internal.processors.cache.GridCacheProcessor;
import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
import org.apache.ignite.internal.processors.cache.distributed.dht.GridClientPartitionTopology;
import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLocalPartition;
@@@ -550,8 -503,8 +530,8 @@@ public class GridDhtPartitionsExchangeF
if (discoEvt.type() == EVT_DISCOVERY_CUSTOM_EVT) {
DiscoveryCustomMessage msg = ((DiscoveryCustomEvent)discoEvt).customMessage();
- if (msg instanceof DynamicCacheChangeBatch){
+ if (msg instanceof DynamicCacheChangeBatch) {
- assert !F.isEmpty(reqs);
+ assert exchActions != null && !exchActions.empty();
exchange = onCacheChangeRequest(crdNode);
}
@@@ -730,11 -627,10 +718,10 @@@
GridDhtPartitionTopology top = cacheCtx.topology();
if (crd) {
- boolean updateTop = !cacheCtx.isLocal() &&
- exchId.topologyVersion().equals(cacheCtx.startTopologyVersion());
+ boolean updateTop = exchId.topologyVersion().equals(cacheCtx.startTopologyVersion());
if (updateTop && clientTop != null)
- top.update(exchId, clientTop.partitionMap(true), clientTop.updateCounters(false));
+ top.update(this, clientTop.partitionMap(true), clientTop.updateCounters(false), Collections.<Integer>emptySet());
}
top.updateTopologyVersion(exchId, this, updSeq, stopping(cacheCtx.cacheId()));
@@@ -948,21 -837,12 +923,27 @@@
}
/**
+ * @param snapOpMsg Snapshot operation message.
+ */
+ private void startLocalSnasphotOperation(
+ StartSnapshotOperationAckDiscoveryMessage snapOpMsg
+ ) throws IgniteCheckedException {
+ IgniteInternalFuture fut = cctx.snapshot().startLocalSnapshotOperation(
+ snapOpMsg.initiatorNodeId(),
+ snapOpMsg.snapshotOperation()
+ );
+
+ if (fut != null)
+ fut.get();
+ }
+
+ /**
+ * The main purpose of this method is to wait for all ongoing updates (transactional and atomic), initiated on
+ * the previous topology version, to finish to prevent inconsistencies during rebalancing and to prevent two
+ * different simultaneous owners of the same lock.
+ * For the exact list of the objects being awaited for see
+ * {@link GridCacheSharedContext#partitionReleaseFuture(AffinityTopologyVersion)} javadoc.
+ *
* @throws IgniteCheckedException If failed.
*/
private void waitPartitionRelease() throws IgniteCheckedException {
@@@ -1303,25 -1156,9 +1267,23 @@@
cctx.exchange().onExchangeDone(this, err);
- if (!F.isEmpty(reqs) && err == null) {
- for (DynamicCacheChangeRequest req : reqs)
- cctx.cache().completeStartFuture(req);
- }
+ if (exchActions != null && err == null)
+ exchActions.completeRequestFutures(cctx);
+ StartSnapshotOperationAckDiscoveryMessage snapshotOperationMsg = getSnapshotOperationMessage();
+
+ if (snapshotOperationMsg != null) {
+ SnapshotOperation op = snapshotOperationMsg.snapshotOperation();
+
+ if (op.type() == SnapshotOperationType.RESTORE)
+ try {
+ startLocalSnasphotOperation(snapshotOperationMsg);
+ }
+ catch (IgniteCheckedException e) {
+ log.error("Error while starting snapshot operation", e);
+ }
+ }
+
if (exchangeOnChangeGlobalState && err == null)
cctx.kernalContext().state().onExchangeDone();
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetFuture.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryIndexing.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
index 828ca07,0668708..c3de1f7
mode 100755,100644..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
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/main/resources/META-INF/classnames.properties
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteDynamicCacheStartSelfTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/test/java/org/apache/ignite/loadtests/hashmap/GridCacheTestContext.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiFaultyClientTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
index e31ca45,599baa1..5f16fdd
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
@@@ -165,8 -163,8 +164,7 @@@ import org.h2.command.ddl.CreateTableDa
import org.h2.command.dml.Insert;
import org.h2.engine.Session;
import org.h2.engine.SysProperties;
-import org.h2.index.Cursor;
import org.h2.index.Index;
- import org.h2.index.SpatialIndex;
import org.h2.jdbc.JdbcConnection;
import org.h2.jdbc.JdbcPreparedStatement;
import org.h2.jdbc.JdbcStatement;
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/modules/web-console/frontend/app/modules/agent/AgentManager.service.js
----------------------------------------------------------------------
diff --cc modules/web-console/frontend/app/modules/agent/AgentManager.service.js
index 59133a2,c511242..a7196f1
--- a/modules/web-console/frontend/app/modules/agent/AgentManager.service.js
+++ b/modules/web-console/frontend/app/modules/agent/AgentManager.service.js
@@@ -16,8 -16,11 +16,10 @@@
*/
import io from 'socket.io-client'; // eslint-disable-line no-unused-vars
+import maskNull from 'app/core/utils/maskNull';
+ import { BehaviorSubject } from 'rxjs/BehaviorSubject';
+
-const maskNull = (val) => _.isNil(val) ? 'null' : val;
-
const State = {
INIT: 'INIT',
AGENT_DISCONNECTED: 'AGENT_DISCONNECTED',
http://git-wip-us.apache.org/repos/asf/ignite/blob/e809458e/pom.xml
----------------------------------------------------------------------