Merge with master - WIP
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/9dc652db Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/9dc652db Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/9dc652db Branch: refs/heads/ignite-3477 Commit: 9dc652db5b0891e08aedc4ed40c333d4f5a7c044 Parents: 7b03a2b f7d89fd Author: Ilya Lantukh <[email protected]> Authored: Thu Dec 22 17:12:31 2016 +0300 Committer: Ilya Lantukh <[email protected]> Committed: Thu Dec 22 17:12:31 2016 +0300 ---------------------------------------------------------------------- .gitignore | 35 +- README.md | 8 + RELEASE_NOTES.txt | 22 + assembly/dependencies-fabric-lgpl.xml | 1 + assembly/dependencies-fabric.xml | 1 + assembly/release-base.xml | 5 + assembly/release-fabric-base.xml | 1 + bin/ignite.sh | 9 + config/dotnet/default-dotnet.xml | 45 + examples/pom-standalone.xml | 6 + examples/pom.xml | 2 +- examples/redis/redis-example.php | 82 ++ examples/redis/redis-example.py | 62 + examples/schema-import/pom.xml | 2 +- .../ignite/examples/ExampleNodeStartup.java | 2 +- .../examples/datagrid/CachePutGetExample.java | 2 +- .../examples/datagrid/CacheQueryDmlExample.java | 163 +++ .../scalar/examples/ScalarJvmCloudExample.scala | 2 +- .../CacheExamplesMultiNodeSelfTest.java | 7 + .../ignite/examples/CacheExamplesSelfTest.java | 8 + modules/aop/pom.xml | 2 +- modules/apache-license-gen/pom.xml | 2 +- modules/aws/pom.xml | 2 +- modules/benchmarks/pom.xml | 2 +- .../jmh/misc/JmhIncrementBenchmark.java | 95 ++ modules/camel/pom.xml | 2 +- modules/cassandra/pom.xml | 16 +- modules/cassandra/serializers/README.txt | 7 +- modules/cassandra/serializers/pom.xml | 4 +- modules/cassandra/store/pom.xml | 4 +- modules/clients/pom.xml | 12 +- .../clients/src/test/config/jdbc-bin-config.xml | 54 + .../jdbc2/JdbcAbstractDmlStatementSelfTest.java | 263 ++++ .../JdbcAbstractUpdateStatementSelfTest.java | 37 + ...BinaryMarshallerInsertStatementSelfTest.java | 37 + ...cBinaryMarshallerMergeStatementSelfTest.java | 37 + .../jdbc2/JdbcDeleteStatementSelfTest.java | 49 + .../jdbc2/JdbcInsertStatementSelfTest.java | 122 ++ .../jdbc2/JdbcMergeStatementSelfTest.java | 91 ++ .../internal/jdbc2/JdbcNoDefaultCacheTest.java | 40 +- .../internal/jdbc2/JdbcResultSetSelfTest.java | 18 + .../rest/ClientMemcachedProtocolSelfTest.java | 4 +- .../rest/RestProcessorMultiStartSelfTest.java | 48 +- .../rest/protocols/tcp/MockNioSession.java | 11 + .../tcp/redis/RedisProtocolSelfTest.java | 101 +- .../jdbc/suite/IgniteJdbcDriverTestSuite.java | 5 + modules/cloud/pom.xml | 2 +- modules/codegen/pom.xml | 2 +- modules/core/pom.xml | 2 +- .../java/org/apache/ignite/IgniteCache.java | 2 + .../apache/ignite/IgniteSystemProperties.java | 17 + .../binary/BinaryAbstractIdentityResolver.java | 53 + .../binary/BinaryArrayIdentityResolver.java | 224 +++ .../binary/BinaryFieldIdentityResolver.java | 307 ++++ .../ignite/binary/BinaryIdentityResolver.java | 42 + .../ignite/binary/BinaryTypeConfiguration.java | 27 +- .../org/apache/ignite/cache/QueryEntity.java | 27 + .../rendezvous/RendezvousAffinityFunction.java | 80 +- .../ignite/cache/query/SqlFieldsQuery.java | 2 +- .../cache/store/CacheLoadOnlyStoreAdapter.java | 6 +- .../configuration/CacheConfiguration.java | 19 +- .../configuration/IgniteConfiguration.java | 48 + .../internal/GridEventConsumeHandler.java | 2 +- .../ignite/internal/GridJobContextImpl.java | 4 +- .../ignite/internal/GridKernalContext.java | 9 + .../ignite/internal/GridKernalContextImpl.java | 16 +- .../internal/GridPerformanceSuggestions.java | 2 +- .../org/apache/ignite/internal/GridTopic.java | 4 +- .../ignite/internal/IgniteInternalFuture.java | 11 + .../apache/ignite/internal/IgniteKernal.java | 71 +- .../org/apache/ignite/internal/IgnitionEx.java | 32 +- .../internal/binary/BinaryClassDescriptor.java | 15 + .../ignite/internal/binary/BinaryContext.java | 76 +- .../ignite/internal/binary/BinaryFieldImpl.java | 10 +- .../internal/binary/BinaryObjectExImpl.java | 90 +- .../internal/binary/BinaryObjectImpl.java | 48 +- .../binary/BinaryObjectOffheapImpl.java | 42 +- .../internal/binary/BinaryPrimitives.java | 30 +- .../binary/BinarySerializedFieldComparator.java | 343 +++++ .../ignite/internal/binary/BinaryUtils.java | 2 +- .../internal/binary/BinaryWriterExImpl.java | 47 +- .../internal/binary/GridBinaryMarshaller.java | 2 +- .../binary/builder/BinaryBuilderReader.java | 11 + .../binary/builder/BinaryBuilderSerializer.java | 4 + .../binary/builder/BinaryObjectBuilderImpl.java | 16 + .../streams/BinaryAbstractInputStream.java | 5 + .../streams/BinaryAbstractOutputStream.java | 5 + .../streams/BinaryByteBufferInputStream.java | 10 + .../binary/streams/BinaryHeapInputStream.java | 9 +- .../binary/streams/BinaryHeapOutputStream.java | 7 +- .../streams/BinaryMemoryAllocatorChunk.java | 3 +- .../streams/BinaryOffheapInputStream.java | 14 +- .../streams/BinaryOffheapOutputStream.java | 8 +- .../internal/binary/streams/BinaryStream.java | 12 +- .../internal/client/GridClientClusterState.java | 33 - .../GridClientConnectionManagerAdapter.java | 1 + .../ignite/internal/jdbc2/JdbcConnection.java | 17 + .../internal/jdbc2/JdbcPreparedStatement.java | 71 +- .../ignite/internal/jdbc2/JdbcQueryTask.java | 5 +- .../ignite/internal/jdbc2/JdbcQueryTaskV2.java | 406 ++++++ .../ignite/internal/jdbc2/JdbcResultSet.java | 72 +- .../internal/jdbc2/JdbcSqlFieldsQuery.java | 49 + .../ignite/internal/jdbc2/JdbcStatement.java | 213 ++- .../apache/ignite/internal/jdbc2/JdbcUtils.java | 25 +- .../managers/communication/GridIoManager.java | 33 +- .../managers/communication/GridIoMessage.java | 13 + .../communication/GridIoMessageFactory.java | 59 +- .../communication/IgniteIoTestMessage.java | 13 +- .../discovery/GridDiscoveryManager.java | 118 +- .../snapshot/SnapshotFinishedMessage.java | 2 +- .../processors/cache/GridCacheAdapter.java | 741 ++++------ .../processors/cache/GridCacheEntryEx.java | 4 +- .../processors/cache/GridCacheMapEntry.java | 41 +- .../processors/cache/GridCacheMessage.java | 7 + .../GridCachePartitionExchangeManager.java | 151 +- .../processors/cache/GridCachePreloader.java | 8 +- .../cache/GridCachePreloaderAdapter.java | 9 +- .../processors/cache/GridCacheProcessor.java | 2 +- .../processors/cache/GridCacheProxyImpl.java | 24 +- .../cache/GridCacheSharedTtlCleanupManager.java | 5 +- .../processors/cache/GridCacheTtlManager.java | 4 + .../processors/cache/GridCacheUtils.java | 62 +- .../GridChangeGlobalStateMessageResponse.java | 2 +- .../processors/cache/IgniteInternalCache.java | 8 + .../processors/cache/QueryCursorImpl.java | 31 +- .../binary/CacheObjectBinaryProcessorImpl.java | 3 +- .../distributed/GridCacheTxRecoveryFuture.java | 4 +- .../distributed/GridDistributedLockRequest.java | 5 + .../GridDistributedUnlockRequest.java | 5 + .../dht/GridClientPartitionTopology.java | 108 +- .../distributed/dht/GridDhtCacheAdapter.java | 3 +- .../cache/distributed/dht/GridDhtGetFuture.java | 2 +- .../distributed/dht/GridDhtLockFuture.java | 27 +- .../distributed/dht/GridDhtLockResponse.java | 9 +- .../dht/GridDhtPartitionTopology.java | 28 +- .../dht/GridDhtPartitionTopologyImpl.java | 142 +- .../distributed/dht/GridDhtTxFinishFuture.java | 74 +- .../cache/distributed/dht/GridDhtTxLocal.java | 125 +- .../distributed/dht/GridDhtTxLocalAdapter.java | 7 +- .../distributed/dht/GridDhtTxPrepareFuture.java | 4 +- .../dht/atomic/GridDhtAtomicCache.java | 453 +++--- .../GridDhtAtomicSingleUpdateRequest.java | 5 + .../dht/atomic/GridDhtAtomicUpdateRequest.java | 5 + ...idNearAtomicAbstractSingleUpdateRequest.java | 28 +- .../GridNearAtomicAbstractUpdateRequest.java | 2 + .../atomic/GridNearAtomicFullUpdateRequest.java | 69 +- ...GridNearAtomicSingleUpdateInvokeRequest.java | 6 +- .../GridNearAtomicSingleUpdateRequest.java | 5 + .../dht/colocated/GridDhtColocatedCache.java | 13 - .../colocated/GridDhtColocatedLockFuture.java | 4 +- .../dht/preloader/GridDhtPartitionDemander.java | 233 +-- .../dht/preloader/GridDhtPartitionFullMap.java | 18 +- .../dht/preloader/GridDhtPartitionMap2.java | 4 + .../dht/preloader/GridDhtPreloader.java | 13 +- .../distributed/near/GridNearAtomicCache.java | 65 +- .../distributed/near/GridNearGetRequest.java | 5 + .../distributed/near/GridNearLockFuture.java | 4 +- ...arOptimisticSerializableTxPrepareFuture.java | 4 +- .../near/GridNearOptimisticTxPrepareFuture.java | 15 +- .../GridNearPessimisticTxPrepareFuture.java | 4 +- .../near/GridNearTxFinishFuture.java | 46 +- .../cache/distributed/near/GridNearTxLocal.java | 48 +- .../local/atomic/GridLocalAtomicCache.java | 174 +-- .../query/GridCacheDistributedQueryManager.java | 2 +- .../cache/query/GridCacheQueryManager.java | 18 +- .../cache/query/GridCacheQueryRequest.java | 6 +- .../cache/query/GridCacheTwoStepQuery.java | 253 ---- .../cache/query/IgniteQueryErrorCode.java | 91 ++ .../cache/store/CacheStoreManager.java | 4 +- .../store/GridCacheStoreManagerAdapter.java | 34 +- .../cache/store/GridCacheWriteBehindStore.java | 6 +- .../cache/transactions/IgniteTxHandler.java | 17 +- .../transactions/IgniteTxLocalAdapter.java | 38 +- .../cache/transactions/IgniteTxManager.java | 15 +- .../datastreamer/DataStreamProcessor.java | 22 +- .../GridCacheAtomicSequenceImpl.java | 12 +- .../processors/hadoop/HadoopClassLoader.java | 11 + .../internal/processors/hadoop/HadoopJobId.java | 79 +- .../processors/hadoop/HadoopJobProperty.java | 64 +- .../hadoop/HadoopMapperAwareTaskOutput.java | 32 + .../processors/hadoop/HadoopTaskContext.java | 8 + .../processors/hadoop/HadoopTaskInfo.java | 43 + .../io/PartiallyOffheapRawComparatorEx.java | 33 + .../hadoop/message/HadoopMessage.java | 27 + .../shuffle/HadoopDirectShuffleMessage.java | 243 ++++ .../hadoop/shuffle/HadoopShuffleAck.java | 170 +++ .../shuffle/HadoopShuffleFinishRequest.java | 172 +++ .../shuffle/HadoopShuffleFinishResponse.java | 142 ++ .../hadoop/shuffle/HadoopShuffleMessage.java | 361 +++++ .../internal/processors/igfs/IgfsContext.java | 4 +- .../processors/igfs/IgfsDataManager.java | 6 +- .../internal/processors/igfs/IgfsImpl.java | 2 +- .../processors/odbc/OdbcMessageParser.java | 16 + .../processors/odbc/OdbcNioListener.java | 2 +- .../odbc/OdbcQueryGetParamsMetaRequest.java | 60 + .../odbc/OdbcQueryGetParamsMetaResult.java | 40 + .../internal/processors/odbc/OdbcRequest.java | 3 + .../processors/odbc/OdbcRequestHandler.java | 175 ++- .../internal/processors/odbc/OdbcUtils.java | 4 +- .../platform/PlatformAbstractTarget.java | 268 +--- .../platform/PlatformAsyncTarget.java | 44 + .../platform/PlatformNoopProcessor.java | 41 +- .../processors/platform/PlatformProcessor.java | 42 +- .../platform/PlatformProcessorImpl.java | 87 +- .../processors/platform/PlatformTarget.java | 103 +- .../platform/PlatformTargetProxy.java | 126 ++ .../platform/PlatformTargetProxyImpl.java | 222 +++ .../binary/PlatformBinaryProcessor.java | 6 +- .../platform/cache/PlatformCache.java | 15 +- .../cache/PlatformCacheEntryFilterImpl.java | 4 +- .../cache/PlatformCacheEntryProcessorImpl.java | 43 +- .../platform/cache/PlatformCacheIterator.java | 2 +- .../cache/affinity/PlatformAffinity.java | 4 +- .../affinity/PlatformAffinityFunction.java | 59 +- .../PlatformAffinityFunctionTarget.java | 4 +- .../query/PlatformAbstractQueryCursor.java | 4 +- .../query/PlatformContinuousQueryProxy.java | 3 +- .../callback/PlatformCallbackGateway.java | 272 ++-- .../platform/callback/PlatformCallbackOp.java | 206 +++ .../callback/PlatformCallbackUtils.java | 544 +------ .../platform/cluster/PlatformClusterGroup.java | 18 +- .../platform/compute/PlatformAbstractJob.java | 2 +- .../platform/compute/PlatformAbstractTask.java | 15 +- .../platform/compute/PlatformClosureJob.java | 12 +- .../platform/compute/PlatformCompute.java | 21 +- .../platform/compute/PlatformFullJob.java | 15 +- .../platform/compute/PlatformFullTask.java | 18 +- .../datastreamer/PlatformDataStreamer.java | 4 +- .../PlatformStreamReceiverImpl.java | 11 +- .../datastructures/PlatformAtomicLong.java | 4 +- .../datastructures/PlatformAtomicReference.java | 8 +- .../datastructures/PlatformAtomicSequence.java | 2 +- .../dotnet/PlatformDotNetCacheStore.java | 6 +- .../platform/events/PlatformEvents.java | 15 +- .../memory/PlatformInputStreamImpl.java | 14 +- .../memory/PlatformOutputStreamImpl.java | 14 +- .../platform/messaging/PlatformMessaging.java | 9 +- .../services/PlatformAbstractService.java | 25 +- .../platform/services/PlatformServices.java | 27 +- .../transactions/PlatformTransactions.java | 8 +- .../platform/utils/PlatformFutureUtils.java | 18 +- .../utils/PlatformListenableTarget.java | 62 + .../platform/utils/PlatformUtils.java | 8 +- .../processors/query/GridQueryIndexing.java | 23 +- .../processors/query/GridQueryProcessor.java | 591 ++++++-- .../processors/query/GridQueryProperty.java | 20 + .../query/GridQueryTypeDescriptor.java | 25 + .../processors/query/IgniteSQLException.java | 89 ++ .../processors/rest/GridRestProcessor.java | 15 + .../redis/GridRedisRestCommandHandler.java | 1 + .../redis/key/GridRedisDelCommandHandler.java | 7 +- .../key/GridRedisExistsCommandHandler.java | 7 +- .../server/GridRedisDbSizeCommandHandler.java | 7 +- .../string/GridRedisAppendCommandHandler.java | 7 +- .../string/GridRedisGetCommandHandler.java | 34 +- .../string/GridRedisGetRangeCommandHandler.java | 7 +- .../string/GridRedisGetSetCommandHandler.java | 7 +- .../string/GridRedisIncrDecrCommandHandler.java | 70 +- .../string/GridRedisMGetCommandHandler.java | 7 +- .../string/GridRedisMSetCommandHandler.java | 7 +- .../string/GridRedisSetCommandHandler.java | 31 +- .../string/GridRedisSetRangeCommandHandler.java | 7 +- .../string/GridRedisStrlenCommandHandler.java | 7 +- .../tcp/GridTcpMemcachedNioListener.java | 15 +- .../protocols/tcp/GridTcpRestNioListener.java | 2 +- .../tcp/redis/GridRedisNioListener.java | 4 +- .../service/GridServiceProcessor.java | 10 +- .../ignite/internal/util/GridHandleTable.java | 10 +- .../apache/ignite/internal/util/GridUnsafe.java | 61 +- .../ignite/internal/util/IgniteUtils.java | 105 +- .../ignite/internal/util/StripedExecutor.java | 667 +++++++++ .../util/future/GridCompoundFuture.java | 56 +- .../util/future/GridFinishedFuture.java | 24 + .../internal/util/future/GridFutureAdapter.java | 15 +- .../util/future/GridFutureChainListener.java | 30 +- .../internal/util/io/GridUnsafeDataInput.java | 12 +- .../internal/util/io/GridUnsafeDataOutput.java | 12 +- .../internal/util/ipc/IpcToNioAdapter.java | 2 +- .../util/lang/IgniteSingletonIterator.java | 56 + .../util/nio/GridCommunicationClient.java | 4 +- .../nio/GridConnectionBytesVerifyFilter.java | 15 +- .../util/nio/GridNioAsyncNotifyFilter.java | 10 +- .../internal/util/nio/GridNioCodecFilter.java | 17 +- .../ignite/internal/util/nio/GridNioFilter.java | 16 +- .../internal/util/nio/GridNioFilterAdapter.java | 10 +- .../internal/util/nio/GridNioFilterChain.java | 14 +- .../ignite/internal/util/nio/GridNioFuture.java | 4 +- .../util/nio/GridNioRecoveryDescriptor.java | 95 +- .../ignite/internal/util/nio/GridNioServer.java | 1343 ++++++++++++++---- .../internal/util/nio/GridNioSession.java | 11 + .../internal/util/nio/GridNioSessionImpl.java | 49 +- .../ignite/internal/util/nio/GridNioWorker.java | 48 + .../util/nio/GridSelectorNioSessionImpl.java | 157 +- .../util/nio/GridTcpNioCommunicationClient.java | 49 +- .../internal/util/nio/SessionWriteRequest.java | 85 ++ .../internal/util/nio/ssl/GridNioSslFilter.java | 10 +- .../util/nio/ssl/GridNioSslHandler.java | 4 +- .../util/offheap/unsafe/GridUnsafeMemory.java | 10 +- .../util/tostring/GridToStringBuilder.java | 2 +- .../internal/visor/query/VisorQueryJob.java | 2 +- .../ignite/marshaller/jdk/JdkMarshaller.java | 4 +- .../optimized/OptimizedMarshaller.java | 8 +- .../optimized/OptimizedObjectOutputStream.java | 25 +- .../communication/tcp/TcpCommunicationSpi.java | 324 +++-- .../tcp/TcpCommunicationSpiMBean.java | 40 + .../ignite/spi/discovery/tcp/ServerImpl.java | 57 +- .../spi/discovery/tcp/TcpDiscoverySpi.java | 14 +- .../tcp/internal/TcpDiscoveryStatistics.java | 4 + .../org/apache/ignite/stream/StreamAdapter.java | 4 +- .../ignite/thread/IgniteThreadFactory.java | 8 +- .../resources/META-INF/classnames.properties | 69 +- .../core/src/main/resources/ignite.properties | 2 +- .../AbstractAffinityFunctionSelfTest.java | 2 +- .../BinaryArrayIdentityResolverSelfTest.java | 300 ++++ .../BinaryFieldIdentityResolverSelfTest.java | 333 +++++ .../binary/BinaryFieldsOffheapSelfTest.java | 2 +- .../BinaryFooterOffsetsOffheapSelfTest.java | 2 +- ...ryIdentityResolverConfigurationSelfTest.java | 138 ++ .../binary/BinaryMarshallerSelfTest.java | 2 +- .../BinaryObjectBuilderAdditionalSelfTest.java | 157 +- ...naryObjectBuilderDefaultMappersSelfTest.java | 2 +- .../BinarySerialiedFieldComparatorSelfTest.java | 568 ++++++++ ...unicationBalanceMultipleConnectionsTest.java | 28 + .../IgniteCommunicationBalanceTest.java | 339 +++++ .../communication/IgniteIoTestMessagesTest.java | 95 ++ .../IgniteVariousConnectionNumberTest.java | 166 +++ .../GridDiscoveryManagerAliveCacheSelfTest.java | 2 +- .../cache/CrossCacheTxRandomOperationsTest.java | 30 +- ...idAbstractCacheInterceptorRebalanceTest.java | 4 +- .../cache/GridCacheAbstractFullApiSelfTest.java | 4 +- .../GridCacheMissingCommitVersionSelfTest.java | 6 +- ...CacheOffHeapMultiThreadedUpdateSelfTest.java | 6 +- .../GridCachePartitionedAffinitySpreadTest.java | 7 +- .../processors/cache/GridCacheTestEntryEx.java | 3 +- .../GridCacheTtlManagerEvictionSelfTest.java | 1 + .../IgniteTxStoreExceptionAbstractSelfTest.java | 1 + .../GridCacheBinaryObjectsAbstractSelfTest.java | 260 +++- ...achePartitionedAtomicSequenceTxSelfTest.java | 169 +++ .../CacheLockReleaseNodeLeaveTest.java | 135 ++ ...eAtomicMessageRecovery10ConnectionsTest.java | 28 + ...cMessageRecoveryNoPairedConnectionsTest.java | 47 + ...acheConnectionRecovery10ConnectionsTest.java | 35 + .../distributed/IgniteCacheCreatePutTest.java | 2 +- .../distributed/dht/GridCacheDhtTestUtils.java | 232 --- .../dht/IgniteCacheMultiTxLockSelfTest.java | 6 +- ...nabledMultiNodeLongTxTimeoutFullApiTest.java | 2 +- ...achePartitionedMultiNodeFullApiSelfTest.java | 37 +- ...edNoStripedPoolMultiNodeFullApiSelfTest.java | 35 + .../GridCacheRebalancingSyncSelfTest.java | 2 + ...eCacheExpiryPolicyWithStoreAbstractTest.java | 40 + .../TxDeadlockDetectionNoHangsTest.java | 2 +- .../TxOptimisticDeadlockDetectionTest.java | 29 +- ...lockMessageSystemPoolStarvationSelfTest.java | 14 +- .../GridServiceProcessorProxySelfTest.java | 2 +- .../util/future/GridFutureAdapterSelfTest.java | 122 +- .../nio/impl/GridNioFilterChainSelfTest.java | 18 +- .../loadtests/nio/GridNioBenchmarkClient.java | 4 +- .../p2p/GridP2PRecursionTaskSelfTest.java | 2 +- ...mmunicationSpiConcurrentConnectSelfTest.java | 37 +- ...cpCommunicationSpiMultithreadedSelfTest.java | 9 +- ...dTcpCommunicationSpiRecoveryAckSelfTest.java | 6 +- ...ationSpiRecoveryNoPairedConnectionsTest.java | 28 + ...GridTcpCommunicationSpiRecoverySelfTest.java | 8 + ...CommunicationRecoveryAckClosureSelfTest.java | 6 +- .../junits/GridTestKernalContext.java | 4 +- .../IgniteBinaryObjectsTestSuite.java | 10 + .../IgniteCacheDataStructuresSelfTestSuite.java | 5 +- .../IgniteCacheFullApiSelfTestSuite.java | 6 + .../ignite/testsuites/IgniteCacheTestSuite.java | 15 + .../testsuites/IgniteCacheTestSuite4.java | 3 + .../testsuites/IgniteCacheTestSuite5.java | 1 + .../IgniteSpiCommunicationSelfTestSuite.java | 2 + modules/docker/1.8.0/Dockerfile | 46 + modules/docker/1.8.0/run.sh | 51 + modules/docker/Dockerfile | 6 +- modules/extdata/p2p/pom.xml | 2 +- .../extdata/uri/modules/uri-dependency/pom.xml | 2 +- modules/extdata/uri/pom.xml | 2 +- modules/flink/pom.xml | 2 +- modules/flume/pom.xml | 2 +- modules/gce/pom.xml | 2 +- modules/geospatial/pom.xml | 2 +- modules/hadoop/pom.xml | 9 +- .../hadoop/io/PartiallyRawComparator.java | 33 + .../org/apache/ignite/hadoop/io/RawMemory.java | 86 ++ .../hadoop/io/TextPartiallyRawComparator.java | 115 ++ .../apache/ignite/hadoop/io/package-info.java | 22 + .../IgniteHadoopClientProtocolProvider.java | 70 +- .../processors/hadoop/HadoopMapperUtils.java | 56 + .../hadoop/impl/fs/HadoopFileSystemsUtils.java | 11 + .../hadoop/impl/proto/HadoopClientProtocol.java | 55 +- .../hadoop/impl/v2/HadoopV2Context.java | 11 + ...DelegatingPartiallyOffheapRawComparator.java | 54 + .../processors/hadoop/impl/v2/HadoopV2Job.java | 22 +- .../impl/v2/HadoopV2JobResourceManager.java | 25 +- .../hadoop/impl/v2/HadoopV2MapTask.java | 10 + .../hadoop/impl/v2/HadoopV2TaskContext.java | 21 + .../processors/hadoop/io/OffheapRawMemory.java | 131 ++ .../hadoop/jobtracker/HadoopJobTracker.java | 8 +- .../hadoop/mapreduce/MapReduceClient.java | 147 ++ .../hadoop/message/HadoopMessage.java | 27 - .../hadoop/shuffle/HadoopShuffle.java | 112 +- .../hadoop/shuffle/HadoopShuffleAck.java | 92 -- .../hadoop/shuffle/HadoopShuffleJob.java | 748 ++++++++-- .../hadoop/shuffle/HadoopShuffleLocalState.java | 67 + .../hadoop/shuffle/HadoopShuffleMessage.java | 242 ---- .../shuffle/HadoopShuffleRemoteState.java | 61 + .../shuffle/collections/HadoopMultimapBase.java | 5 +- .../shuffle/collections/HadoopSkipList.java | 14 +- .../shuffle/direct/HadoopDirectDataInput.java | 166 +++ .../shuffle/direct/HadoopDirectDataOutput.java | 221 +++ .../direct/HadoopDirectDataOutputContext.java | 100 ++ .../direct/HadoopDirectDataOutputState.java | 54 + .../shuffle/streams/HadoopDataOutStream.java | 2 +- .../child/HadoopChildProcessRunner.java | 12 +- .../HadoopExternalCommunication.java | 4 +- .../communication/HadoopIpcToNioAdapter.java | 2 +- .../communication/HadoopMarshallerFilter.java | 6 +- .../resources/META-INF/classnames.properties | 114 ++ .../hadoop/impl/HadoopAbstractSelfTest.java | 13 +- .../impl/HadoopAbstractWordCountTest.java | 6 +- .../hadoop/impl/HadoopFileSystemsTest.java | 9 + .../hadoop/impl/HadoopJobTrackerSelfTest.java | 4 +- .../impl/HadoopMapReduceEmbeddedSelfTest.java | 22 +- .../impl/HadoopTaskExecutionSelfTest.java | 4 +- .../hadoop/impl/HadoopTeraSortTest.java | 383 +++++ ...opClientProtocolMultipleServersSelfTest.java | 93 +- .../client/HadoopClientProtocolSelfTest.java | 232 +-- .../collections/HadoopAbstractMapTest.java | 6 + .../HadoopConcurrentHashMultimapSelftest.java | 2 +- .../collections/HadoopSkipListSelfTest.java | 16 +- .../HadoopExternalTaskExecutionSelfTest.java | 2 + .../testsuites/IgniteHadoopTestSuite.java | 3 + modules/hibernate/pom.xml | 2 +- modules/indexing/pom.xml | 2 +- .../cache/query/GridCacheTwoStepQuery.java | 253 ++++ .../query/h2/DmlStatementsProcessor.java | 1083 ++++++++++++++ .../query/h2/GridH2ResultSetIterator.java | 3 +- .../processors/query/h2/IgniteH2Indexing.java | 130 +- .../query/h2/dml/FastUpdateArgument.java | 27 + .../query/h2/dml/FastUpdateArguments.java | 53 + .../query/h2/dml/KeyValueSupplier.java | 30 + .../processors/query/h2/dml/UpdateMode.java | 36 + .../processors/query/h2/dml/UpdatePlan.java | 128 ++ .../query/h2/dml/UpdatePlanBuilder.java | 486 +++++++ .../processors/query/h2/dml/package-info.java | 22 + .../query/h2/opt/GridH2RowDescriptor.java | 23 + .../query/h2/opt/GridH2TreeIndex.java | 2 +- .../processors/query/h2/sql/DmlAstUtils.java | 616 ++++++++ .../processors/query/h2/sql/GridSqlArray.java | 8 + .../processors/query/h2/sql/GridSqlConst.java | 6 + .../processors/query/h2/sql/GridSqlDelete.java | 68 + .../query/h2/sql/GridSqlFunction.java | 5 +- .../processors/query/h2/sql/GridSqlInsert.java | 149 ++ .../processors/query/h2/sql/GridSqlKeyword.java | 46 + .../processors/query/h2/sql/GridSqlMerge.java | 143 ++ .../processors/query/h2/sql/GridSqlQuery.java | 44 +- .../query/h2/sql/GridSqlQueryParser.java | 323 ++++- .../query/h2/sql/GridSqlQuerySplitter.java | 6 +- .../processors/query/h2/sql/GridSqlSelect.java | 3 +- .../query/h2/sql/GridSqlStatement.java | 64 + .../processors/query/h2/sql/GridSqlUpdate.java | 105 ++ .../h2/twostep/GridReduceQueryExecutor.java | 61 +- ...niteCacheAbstractInsertSqlQuerySelfTest.java | 559 ++++++++ .../IgniteCacheAbstractSqlDmlQuerySelfTest.java | 243 ++++ .../IgniteCacheDeleteSqlQuerySelfTest.java | 106 ++ .../IgniteCacheInsertSqlQuerySelfTest.java | 203 +++ .../cache/IgniteCacheLargeResultSelfTest.java | 15 +- .../cache/IgniteCacheMergeSqlQuerySelfTest.java | 153 ++ .../IgniteCacheUpdateSqlQuerySelfTest.java | 472 ++++++ .../IgniteCacheAtomicFieldsQuerySelfTest.java | 21 - .../h2/GridIndexingSpiAbstractSelfTest.java | 37 +- .../query/h2/sql/GridQueryParsingTest.java | 109 +- .../IgniteCacheQuerySelfTestSuite.java | 143 +- .../IgniteCacheQuerySelfTestSuite2.java | 111 +- .../IgniteH2IndexingSpiTestSuite.java | 16 +- modules/jcl/pom.xml | 2 +- modules/jms11/pom.xml | 2 +- modules/jta/pom.xml | 2 +- modules/kafka/pom.xml | 2 +- .../ignite/stream/kafka/KafkaStreamer.java | 50 +- .../kafka/KafkaIgniteStreamerSelfTest.java | 36 +- modules/log4j/pom.xml | 2 +- modules/log4j2/pom.xml | 2 +- modules/mesos/pom.xml | 2 +- modules/mqtt/pom.xml | 2 +- modules/osgi-karaf/pom.xml | 2 +- modules/osgi-paxlogging/pom.xml | 2 +- modules/osgi/pom.xml | 3 +- .../include/ignite/binary/binary_raw_reader.h | 21 + .../ignite/impl/binary/binary_reader_impl.h | 9 +- .../src/impl/binary/binary_reader_impl.cpp | 20 +- .../platforms/cpp/common/include/Makefile.am | 5 +- .../common/include/ignite/common/concurrent.h | 90 +- .../include/ignite/common/reference_impl.h | 286 ++++ .../cpp/common/include/ignite/reference.h | 564 ++++++++ .../cpp/common/project/vs/common.vcxproj | 2 + .../common/project/vs/common.vcxproj.filters | 6 + modules/platforms/cpp/configure.ac | 2 +- modules/platforms/cpp/configure.acrel | 2 +- modules/platforms/cpp/core-test/Makefile.am | 7 +- .../core-test/config/cache-query-continuous.xml | 87 ++ .../cpp/core-test/config/cache-query.xml | 10 + .../cpp/core-test/config/cache-test.xml | 1 + .../platforms/cpp/core-test/config/invalid.xml | 39 + .../cpp/core-test/project/vs/core-test.vcxproj | 13 +- .../project/vs/core-test.vcxproj.filters | 11 +- .../cpp/core-test/src/cache_query_test.cpp | 76 +- .../cpp/core-test/src/continuous_query_test.cpp | 611 ++++++++ .../cpp/core-test/src/handle_registry_test.cpp | 18 +- .../cpp/core-test/src/interop_test.cpp | 17 +- .../cpp/core-test/src/reference_test.cpp | 412 ++++++ modules/platforms/cpp/core/Makefile.am | 1 + .../cpp/core/include/ignite/cache/cache.h | 104 +- .../cpp/core/include/ignite/cache/cache_entry.h | 40 +- .../ignite/cache/event/cache_entry_event.h | 139 ++ .../cache/event/cache_entry_event_listener.h | 71 + .../cache/query/continuous/continuous_query.h | 239 ++++ .../query/continuous/continuous_query_handle.h | 133 ++ .../core/include/ignite/impl/cache/cache_impl.h | 116 +- .../continuous/continuous_query_handle_impl.h | 101 ++ .../query/continuous/continuous_query_impl.h | 351 +++++ .../core/include/ignite/impl/handle_registry.h | 62 +- .../include/ignite/impl/ignite_environment.h | 34 +- modules/platforms/cpp/core/namespaces.dox | 74 +- .../platforms/cpp/core/project/vs/core.vcxproj | 7 + .../cpp/core/project/vs/core.vcxproj.filters | 30 + modules/platforms/cpp/core/src/ignition.cpp | 15 +- .../cpp/core/src/impl/cache/cache_impl.cpp | 31 + .../continuous/continuous_query_handle_impl.cpp | 96 ++ .../cpp/core/src/impl/handle_registry.cpp | 102 +- .../cpp/core/src/impl/ignite_environment.cpp | 146 +- modules/platforms/cpp/examples/Makefile.am | 1 + modules/platforms/cpp/examples/configure.ac | 3 +- .../continuous-query-example/Makefile.am | 58 + .../config/continuous-query-example.xml | 52 + .../project/vs/continuous-query-example.vcxproj | 110 ++ .../vs/continuous-query-example.vcxproj.filters | 35 + .../src/continuous_query_example.cpp | 142 ++ .../examples/include/ignite/examples/person.h | 2 +- .../odbc-example/config/example-odbc.xml | 38 +- .../project/vs/odbc-example.vcxproj | 7 +- .../project/vs/odbc-example.vcxproj.filters | 8 + .../examples/odbc-example/src/odbc_example.cpp | 514 ++++++- .../cpp/examples/project/vs/ignite-examples.sln | 6 + .../putget-example/src/putget_example.cpp | 2 +- .../query-example/src/query_example.cpp | 4 +- .../cpp/jni/include/ignite/jni/exports.h | 3 - .../platforms/cpp/jni/include/ignite/jni/java.h | 94 +- modules/platforms/cpp/jni/project/vs/module.def | 6 +- modules/platforms/cpp/jni/src/exports.cpp | 8 - modules/platforms/cpp/jni/src/java.cpp | 419 +----- .../odbc-test/config/queries-test-noodbc.xml | 4 + .../cpp/odbc-test/config/queries-test.xml | 41 + .../platforms/cpp/odbc-test/include/Makefile.am | 1 + .../cpp/odbc-test/include/complex_type.h | 122 ++ .../cpp/odbc-test/project/vs/odbc-test.vcxproj | 5 +- .../project/vs/odbc-test.vcxproj.filters | 3 + .../src/application_data_buffer_test.cpp | 2 +- .../cpp/odbc-test/src/queries_test.cpp | 437 +++++- .../platforms/cpp/odbc/include/ignite/odbc.h | 14 +- .../ignite/odbc/app/application_data_buffer.h | 4 +- .../odbc/include/ignite/odbc/app/parameter.h | 2 +- .../cpp/odbc/include/ignite/odbc/common_types.h | 3 + .../cpp/odbc/include/ignite/odbc/message.h | 138 +- .../odbc/include/ignite/odbc/query/data_query.h | 12 +- .../cpp/odbc/include/ignite/odbc/query/query.h | 44 +- .../cpp/odbc/include/ignite/odbc/statement.h | 83 +- .../cpp/odbc/include/ignite/odbc/type_traits.h | 2 +- .../cpp/odbc/include/ignite/odbc/utility.h | 11 +- .../cpp/odbc/install/ignite-odbc-amd64.wxs | 2 +- .../cpp/odbc/install/ignite-odbc-x86.wxs | 2 +- .../odbc/src/app/application_data_buffer.cpp | 57 +- .../platforms/cpp/odbc/src/app/parameter.cpp | 3 +- modules/platforms/cpp/odbc/src/column.cpp | 41 +- modules/platforms/cpp/odbc/src/connection.cpp | 23 +- modules/platforms/cpp/odbc/src/entry_points.cpp | 32 +- modules/platforms/cpp/odbc/src/odbc.cpp | 25 +- .../odbc/src/query/column_metadata_query.cpp | 2 +- .../platforms/cpp/odbc/src/query/data_query.cpp | 6 +- .../cpp/odbc/src/query/foreign_keys_query.cpp | 2 +- .../cpp/odbc/src/query/primary_keys_query.cpp | 2 +- .../odbc/src/query/special_columns_query.cpp | 2 +- .../cpp/odbc/src/query/table_metadata_query.cpp | 2 +- .../cpp/odbc/src/query/type_info_query.cpp | 2 +- modules/platforms/cpp/odbc/src/statement.cpp | 230 ++- modules/platforms/cpp/odbc/src/type_traits.cpp | 3 + modules/platforms/cpp/odbc/src/utility.cpp | 22 +- modules/platforms/cpp/project/vs/ignite.slnrel | 3 + .../platforms/cpp/project/vs/ignite_x86.slnrel | 3 + .../Properties/AssemblyInfo.cs | 6 +- .../Apache.Ignite.AspNet.nuspec | 4 +- .../Properties/AssemblyInfo.cs | 6 +- .../Properties/AssemblyInfo.cs | 6 +- .../Properties/AssemblyInfo.cs | 6 +- .../Properties/AssemblyInfo.cs | 6 +- .../Binary/BinaryCompactFooterInteropTest.cs | 31 +- .../Cache/Query/CacheLinqTest.cs | 21 +- .../Query/CacheQueriesCodeConfigurationTest.cs | 17 +- .../Cache/Query/CacheQueriesTest.cs | 8 + .../Examples/Example.cs | 6 +- .../Examples/ExamplesTest.cs | 7 +- .../Apache.Ignite.Core.Tests/ExecutableTest.cs | 64 +- .../Process/IgniteProcess.cs | 21 +- .../Properties/AssemblyInfo.cs | 6 +- .../Apache.Ignite.Core.Tests/ReconnectTest.cs | 4 +- .../Services/ServicesTest.cs | 46 +- .../Apache.Ignite.Core.Tests/TestUtils.cs | 3 +- .../Apache.Ignite.Core.csproj | 2 + .../dotnet/Apache.Ignite.Core/Binary/IBinary.cs | 3 +- .../Apache.Ignite.Core/Cache/Query/QueryBase.cs | 15 +- .../Apache.Ignite.Core/IgniteConfiguration.cs | 1 + .../Impl/Binary/BinaryUtils.cs | 16 + .../Impl/Binary/Io/BinaryStreamBase.cs | 4 +- .../Apache.Ignite.Core/Impl/Cache/CacheImpl.cs | 29 +- .../Apache.Ignite.Core/Impl/Common/Future.cs | 13 +- .../Impl/Common/Listenable.cs | 49 + .../Impl/Compute/ComputeImpl.cs | 4 +- .../Impl/Compute/ComputeTaskHolder.cs | 14 +- .../Apache.Ignite.Core/Impl/PlatformTarget.cs | 2 +- .../Impl/Unmanaged/IgniteJniNativeMethods.cs | 8 - .../Impl/Unmanaged/UnmanagedCallbackHandlers.cs | 79 +- .../Impl/Unmanaged/UnmanagedCallbackOp.cs | 86 ++ .../Impl/Unmanaged/UnmanagedCallbacks.cs | 1229 ++++++++-------- .../Impl/Unmanaged/UnmanagedUtils.cs | 5 - .../Properties/AssemblyInfo.cs | 6 +- .../EntityFrameworkCacheTest.cs | 6 +- .../Properties/AssemblyInfo.cs | 6 +- .../Properties/AssemblyInfo.cs | 6 +- .../Impl/CacheQueryExpressionVisitor.cs | 12 +- .../Apache.Ignite.Linq/Impl/MethodVisitor.cs | 34 +- .../Properties/AssemblyInfo.cs | 6 +- .../Properties/AssemblyInfo.cs | 6 +- .../Properties/AssemblyInfo.cs | 6 +- modules/platforms/dotnet/Apache.Ignite.sln | 7 + .../Apache.Ignite/Config/ArgsConfigurator.cs | 7 +- .../dotnet/Apache.Ignite/Config/Configurator.cs | 10 + .../Apache.Ignite/Properties/AssemblyInfo.cs | 6 +- modules/platforms/dotnet/DEVNOTES.txt | 12 +- modules/platforms/dotnet/README.md | 150 ++ modules/platforms/dotnet/build.bat | 14 + modules/platforms/dotnet/build.ps1 | 211 +++ .../Datagrid/MultiTieredCacheExample.cs | 8 +- .../Misc/ClientReconnectExample.cs | 18 +- .../Properties/AssemblyInfo.cs | 6 +- .../Properties/AssemblyInfo.cs | 6 +- modules/rest-http/pom.xml | 2 +- modules/scalar-2.10/pom.xml | 2 +- modules/scalar/pom.xml | 2 +- modules/schedule/pom.xml | 2 +- modules/schema-import-db/pom.xml | 2 +- modules/schema-import/pom.xml | 2 +- modules/slf4j/pom.xml | 2 +- modules/spark-2.10/pom.xml | 2 +- modules/spark/pom.xml | 2 +- modules/spring/pom.xml | 2 +- modules/ssh/pom.xml | 2 +- modules/storm/pom.xml | 2 +- modules/tools/pom.xml | 2 +- .../ignite/tools/classgen/ClassesGenerator.java | 8 +- modules/twitter/pom.xml | 2 +- modules/urideploy/pom.xml | 2 +- modules/visor-console-2.10/pom.xml | 2 +- modules/visor-console/pom.xml | 2 +- modules/visor-plugins/pom.xml | 2 +- modules/web-console/backend/app/agent.js | 32 +- modules/web-console/backend/app/browser.js | 13 + modules/web-console/backend/app/mongo.js | 6 + .../backend/config/settings.json.sample | 7 - modules/web-console/backend/index.js | 6 +- modules/web-console/backend/middlewares/host.js | 7 +- modules/web-console/backend/routes/agent.js | 4 +- modules/web-console/backend/services/agents.js | 2 +- modules/web-console/backend/services/caches.js | 2 + .../docker/compose/backend/.dockerignore | 2 + .../docker/compose/backend/Dockerfile | 6 +- .../web-console/docker/compose/backend/build.sh | 4 +- .../docker/compose/docker-compose.yml | 5 - .../docker/compose/frontend/DockerfileBuild | 4 +- .../docker/compose/frontend/build.sh | 6 +- .../compose/frontend/nginx/web-console.conf | 9 + .../web-console/docker/standalone/.dockerignore | 5 + .../web-console/docker/standalone/Dockerfile | 10 +- modules/web-console/docker/standalone/build.sh | 4 +- .../docker/standalone/docker-compose.yml | 7 +- .../docker/standalone/nginx/web-console.conf | 9 + .../frontend/app/data/pom-dependencies.json | 2 +- .../directives/ui-ace-pojos/ui-ace-pojos.jade | 2 +- .../frontend/app/filters/duration.filter.js | 3 + .../helpers/jade/form/form-field-checkbox.jade | 2 +- .../helpers/jade/form/form-field-datalist.jade | 2 +- .../helpers/jade/form/form-field-dropdown.jade | 2 +- .../helpers/jade/form/form-field-number.jade | 2 +- .../helpers/jade/form/form-field-password.jade | 2 +- .../app/helpers/jade/form/form-field-text.jade | 2 +- .../frontend/app/helpers/jade/mixins.jade | 24 +- .../modules/configuration/generator/Beans.js | 6 + .../generator/ConfigurationGenerator.js | 165 ++- .../generator/JavaTransformer.service.js | 15 +- .../generator/Properties.service.js | 19 + .../generator/SpringTransformer.service.js | 22 +- .../generator/defaults/cache.provider.js | 8 + .../generator/defaults/cluster.provider.js | 2 +- .../app/modules/form/field/tooltip.directive.js | 2 +- .../app/modules/form/group/tooltip.directive.js | 2 +- .../app/modules/form/panel/field.directive.js | 4 +- .../app/modules/sql/scan-filter-input.jade | 2 +- .../frontend/app/modules/sql/sql.controller.js | 6 +- .../configuration/caches/client-near-cache.jade | 2 +- .../configuration/caches/concurrency.jade | 2 +- .../states/configuration/caches/general.jade | 2 +- .../states/configuration/caches/memory.jade | 2 +- .../configuration/caches/near-cache-client.jade | 2 +- .../configuration/caches/near-cache-server.jade | 2 +- .../configuration/caches/node-filter.jade | 2 +- .../states/configuration/caches/query.jade | 2 +- .../states/configuration/caches/rebalance.jade | 2 +- .../states/configuration/caches/statistics.jade | 2 +- .../states/configuration/caches/store.jade | 20 +- .../states/configuration/clusters/atomic.jade | 2 +- .../configuration/clusters/attributes.jade | 2 +- .../states/configuration/clusters/binary.jade | 2 +- .../configuration/clusters/cache-key-cfg.jade | 2 +- .../configuration/clusters/checkpoint.jade | 8 +- .../configuration/clusters/checkpoint/fs.jade | 2 +- .../configuration/clusters/checkpoint/jdbc.jade | 41 +- .../configuration/clusters/checkpoint/s3.jade | 229 +-- .../configuration/clusters/collision.jade | 12 +- .../clusters/collision/custom.jade | 2 +- .../clusters/collision/fifo-queue.jade | 2 +- .../clusters/collision/job-stealing.jade | 2 +- .../clusters/collision/priority-queue.jade | 2 +- .../configuration/clusters/communication.jade | 2 +- .../configuration/clusters/connector.jade | 2 +- .../configuration/clusters/deployment.jade | 2 +- .../configuration/clusters/discovery.jade | 2 +- .../states/configuration/clusters/events.jade | 2 +- .../states/configuration/clusters/failover.jade | 2 +- .../states/configuration/clusters/general.jade | 2 +- .../clusters/general/discovery/cloud.jade | 2 +- .../clusters/general/discovery/google.jade | 2 +- .../clusters/general/discovery/jdbc.jade | 3 +- .../clusters/general/discovery/multicast.jade | 2 +- .../clusters/general/discovery/s3.jade | 2 +- .../clusters/general/discovery/shared.jade | 2 +- .../clusters/general/discovery/vm.jade | 2 +- .../clusters/general/discovery/zookeeper.jade | 2 +- .../bounded-exponential-backoff.jade | 2 +- .../discovery/zookeeper/retrypolicy/custom.jade | 2 +- .../retrypolicy/exponential-backoff.jade | 2 +- .../zookeeper/retrypolicy/forever.jade | 2 +- .../zookeeper/retrypolicy/n-times.jade | 2 +- .../zookeeper/retrypolicy/one-time.jade | 2 +- .../zookeeper/retrypolicy/until-elapsed.jade | 2 +- .../states/configuration/clusters/igfs.jade | 2 +- .../configuration/clusters/load-balancing.jade | 2 +- .../states/configuration/clusters/logger.jade | 2 +- .../configuration/clusters/logger/custom.jade | 2 +- .../configuration/clusters/logger/log4j.jade | 2 +- .../configuration/clusters/logger/log4j2.jade | 2 +- .../configuration/clusters/marshaller.jade | 2 +- .../states/configuration/clusters/metrics.jade | 2 +- .../states/configuration/clusters/odbc.jade | 2 +- .../states/configuration/clusters/ssl.jade | 2 +- .../states/configuration/clusters/swap.jade | 2 +- .../states/configuration/clusters/thread.jade | 2 +- .../states/configuration/clusters/time.jade | 2 +- .../configuration/clusters/transactions.jade | 2 +- .../states/configuration/domains/general.jade | 2 +- .../states/configuration/domains/query.jade | 16 +- .../states/configuration/domains/store.jade | 12 +- .../modules/states/configuration/igfs/dual.jade | 2 +- .../states/configuration/igfs/fragmentizer.jade | 2 +- .../states/configuration/igfs/general.jade | 2 +- .../modules/states/configuration/igfs/ipc.jade | 2 +- .../modules/states/configuration/igfs/misc.jade | 6 +- .../states/configuration/igfs/secondary.jade | 2 +- .../configuration/summary/summary.controller.js | 12 +- .../frontend/controllers/clusters-controller.js | 10 + .../frontend/controllers/domains-controller.js | 8 +- .../frontend/gulpfile.babel.js/tasks/jade.js | 4 +- .../frontend/gulpfile.babel.js/tasks/test.js | 92 -- .../gulpfile.babel.js/webpack/common.js | 5 +- .../webpack/environments/development.js | 5 + modules/web-console/frontend/package.json | 2 +- .../stylesheets/_font-awesome-custom.scss | 18 + .../frontend/public/stylesheets/style.scss | 13 +- .../frontend/views/configuration/caches.jade | 22 +- .../frontend/views/configuration/clusters.jade | 50 +- .../views/configuration/domains-import.jade | 4 +- .../frontend/views/configuration/domains.jade | 8 +- .../frontend/views/configuration/igfs.jade | 14 +- .../frontend/views/configuration/summary.jade | 2 +- .../frontend/views/includes/header.jade | 15 +- .../frontend/views/settings/profile.jade | 2 +- modules/web-console/frontend/views/sql/sql.jade | 2 +- .../views/templates/agent-download.jade | 2 +- .../frontend/views/templates/batch-confirm.jade | 2 +- .../frontend/views/templates/clone.jade | 2 +- .../frontend/views/templates/confirm.jade | 2 +- modules/web-console/pom.xml | 2 +- modules/web-console/web-agent/README.txt | 4 +- .../web-agent/bin/ignite-web-agent.bat | 7 +- .../web-agent/bin/ignite-web-agent.sh | 6 +- modules/web-console/web-agent/pom.xml | 2 +- .../console/agent/AgentConfiguration.java | 5 +- .../ignite/console/agent/AgentLauncher.java | 6 +- .../ignite/console/demo/AgentClusterDemo.java | 1 + modules/web/ignite-appserver-test/pom.xml | 2 +- modules/web/ignite-websphere-test/pom.xml | 2 +- modules/web/pom.xml | 2 +- .../config/benchmark-bin-identity.properties | 94 ++ .../config/benchmark-multicast.properties | 15 + .../config/benchmark-sql-dml.properties | 72 + modules/yardstick/config/ignite-base-config.xml | 71 +- .../config/ignite-bin-multicast-config.xml | 86 ++ modules/yardstick/pom.xml | 2 +- .../yardstick/IgniteAbstractBenchmark.java | 30 + .../yardstick/IgniteBenchmarkArguments.java | 11 + .../ignite/yardstick/IgniteBenchmarkUtils.java | 42 +- .../apache/ignite/yardstick/PreloadLogger.java | 155 ++ .../yardstick/cache/CacheEntryEventProbe.java | 2 +- .../cache/IgniteBinaryIdentityBenchmark.java | 108 ++ .../cache/IgniteBinaryIdentityGetBenchmark.java | 34 + .../cache/IgniteBinaryIdentityPutBenchmark.java | 35 + .../IgniteFieldsBinaryIdentityGetBenchmark.java | 30 + .../IgniteFieldsBinaryIdentityPutBenchmark.java | 30 + .../yardstick/cache/IgniteIoTestBenchmark.java | 73 + .../IgniteLegacyBinaryIdentityGetBenchmark.java | 30 + .../IgniteLegacyBinaryIdentityPutBenchmark.java | 30 + ...IgnitePutIfAbsentIndexedValue1Benchmark.java | 45 + .../IgniteReplaceIndexedValue1Benchmark.java | 79 ++ .../cache/dml/IgniteSqlDeleteBenchmark.java | 83 ++ .../dml/IgniteSqlDeleteFilteredBenchmark.java | 88 ++ .../IgniteSqlInsertIndexedValue1Benchmark.java | 48 + .../IgniteSqlInsertIndexedValue2Benchmark.java | 48 + .../IgniteSqlInsertIndexedValue8Benchmark.java | 48 + .../cache/dml/IgniteSqlMergeAllBenchmark.java | 82 ++ .../cache/dml/IgniteSqlMergeBenchmark.java | 42 + .../IgniteSqlMergeIndexedValue1Benchmark.java | 43 + .../IgniteSqlMergeIndexedValue2Benchmark.java | 43 + .../IgniteSqlMergeIndexedValue8Benchmark.java | 43 + .../cache/dml/IgniteSqlMergeQueryBenchmark.java | 116 ++ .../cache/dml/IgniteSqlUpdateBenchmark.java | 82 ++ .../dml/IgniteSqlUpdateFilteredBenchmark.java | 88 ++ .../IgniteCacheRandomOperationBenchmark.java | 22 +- .../yardstick/cache/model/SampleValue.java | 2 + .../io/IgniteIoTestAbstractBenchmark.java | 61 + .../io/IgniteIoTestSendAllBenchmark.java | 32 + .../io/IgniteIoTestSendRandomBenchmark.java | 35 + modules/yarn/pom.xml | 2 +- modules/zookeeper/pom.xml | 2 +- pom.xml | 2 +- 853 files changed, 34702 insertions(+), 8345 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/IgniteCache.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java index 366c59f,d72d041..a355d71 --- a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java +++ b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java @@@ -487,12 -493,9 +493,15 @@@ public final class IgniteSystemProperti @Deprecated public static final String IGNITE_BINARY_DONT_WRAP_TREE_STRUCTURES = "IGNITE_BINARY_DONT_WRAP_TREE_STRUCTURES"; + /** + * When set to {@code true}, for consistent id will calculate by host name, without port, and you can use + * only one node for host in cluster. + */ + public static final String IGNITE_CONSISTENT_ID_BY_HOST_WITHOUT_PORT = "IGNITE_CONSISTENT_ID_BY_HOST_WITHOUT_PORT"; + + /** */ + public static final String IGNITE_IO_BALANCE_PERIOD = "IGNITE_IO_BALANCE_PERIOD"; + /** * When set to {@code true} fields are written by BinaryMarshaller in sorted order. Otherwise * the natural order is used. http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/GridTopic.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/GridTopic.java index d049912,7c1c484..c86e572 --- a/modules/core/src/main/java/org/apache/ignite/internal/GridTopic.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/GridTopic.java @@@ -96,11 -99,11 +99,10 @@@ public enum GridTopic /** */ TOPIC_TX, -- /** */ - TOPIC_IO_TEST, + TOPIC_SNAPSHOT, /** */ - TOPIC_BACKUP; + TOPIC_IO_TEST; /** Enum values. */ private static final GridTopic[] VALS = values(); http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java index 8c6cfa6,81b7312..2980eb7 --- 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 @@@ -167,12 -172,8 +173,13 @@@ public class GridIoMessageFactory imple Message msg = null; switch (type) { - case -38: ++ case -46: + msg = new GridChangeGlobalStateMessageResponse(); + + break; - case -37: - msg = new GridDhtAtomicSingleUpdateRequest(); ++ + case -45: - msg = new BackupFinishedMessage(); ++ msg = new SnapshotFinishedMessage(); break; @@@ -801,7 -832,7 +838,7 @@@ break; - // [-3..119] [124-127] [-23..-29] [-36..-37] - this - // [-3..119] [124..127] [-36..-45]- this ++ // [-3..119] [124..127] [-23..-27] [-36..-45]- this // [120..123] - DR // [-4..-22, -30..-35] - SQL default: http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/SnapshotFinishedMessage.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/SnapshotFinishedMessage.java index 614ef6b,0000000..a62d339 mode 100644,000000..100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/SnapshotFinishedMessage.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/snapshot/SnapshotFinishedMessage.java @@@ -1,136 -1,0 +1,136 @@@ +/* + * 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.internal.pagemem.snapshot; + +import java.nio.ByteBuffer; +import org.apache.ignite.plugin.extensions.communication.Message; +import org.apache.ignite.plugin.extensions.communication.MessageReader; +import org.apache.ignite.plugin.extensions.communication.MessageWriter; + +/** + * Message indicating that snapshot has been finished on a single node. + */ +public class SnapshotFinishedMessage implements Message { + /** */ + private static final long serialVersionUID = 0L; + + /** */ + private long snapshotId; + + /** */ + private boolean success; + + /** + * + */ + public SnapshotFinishedMessage() { + } + + /** + * @param snapshotId Snapshot ID. + */ + public SnapshotFinishedMessage(long snapshotId, boolean success) { + this.snapshotId = snapshotId; + this.success = success; + } + + /** + * @return Snapshot ID. + */ + public long snapshotId() { + return snapshotId; + } + + public boolean success() { + return success; + } + + /** {@inheritDoc} */ + @Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) { + writer.setBuffer(buf); + + if (!writer.isHeaderWritten()) { + if (!writer.writeHeader(directType(), fieldsCount())) + return false; + + writer.onHeaderWritten(); + } + + switch (writer.state()) { + case 0: + if (!writer.writeLong("snapshotId", snapshotId)) + return false; + + writer.incrementState(); + + case 1: + if (!writer.writeBoolean("success", success)) + return false; + + writer.incrementState(); + + } + + return true; + } + + /** {@inheritDoc} */ + @Override public boolean readFrom(ByteBuffer buf, MessageReader reader) { + reader.setBuffer(buf); + + if (!reader.beforeMessageRead()) + return false; + + switch (reader.state()) { + case 0: + snapshotId = reader.readLong("snapshotId"); + + if (!reader.isLastRead()) + return false; + + reader.incrementState(); + + case 1: + success = reader.readBoolean("success"); + + if (!reader.isLastRead()) + return false; + + reader.incrementState(); + + } + + return reader.afterMessageRead(SnapshotFinishedMessage.class); + } + + /** {@inheritDoc} */ + @Override public byte directType() { - return -27; ++ return -45; + } + + /** {@inheritDoc} */ + @Override public byte fieldsCount() { + return 2; + } + + /** {@inheritDoc} */ + @Override public void onAckReceived() { + // No-op + } +} http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java index 9115a16,15c060a..6a9ea1b --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java @@@ -56,8 -58,9 +58,9 @@@ import org.apache.ignite.internal.Ignit import org.apache.ignite.internal.cluster.ClusterTopologyCheckedException; import org.apache.ignite.internal.events.DiscoveryCustomEvent; import org.apache.ignite.internal.managers.eventstorage.GridLocalEventListener; -import org.apache.ignite.internal.pagemem.backup.StartFullBackupAckDiscoveryMessage; +import org.apache.ignite.internal.pagemem.snapshot.StartFullSnapshotAckDiscoveryMessage; import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion; + import org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache; import org.apache.ignite.internal.processors.cache.distributed.dht.GridClientPartitionTopology; import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionState; import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionTopology; @@@ -862,17 -885,31 +863,23 @@@ public class GridCachePartitionExchange ready = cacheCtx.started(); if (ready) { - GridDhtPartitionFullMap locMap = cacheCtx.topology().partitionMap(true); + GridAffinityAssignmentCache affCache = cacheCtx.affinity().affinityCache(); + + if (affCache != null) { + GridDhtPartitionFullMap locMap = cacheCtx.topology().partitionMap(true); - if (useOldApi) { - locMap = new GridDhtPartitionFullMap(locMap.nodeId(), - locMap.nodeOrder(), - locMap.updateSequence(), - locMap, - true); - } - - addFullPartitionsMap(m, - dupData, - compress, - cacheCtx.cacheId(), - locMap, - affCache.similarAffinityKey()); + addFullPartitionsMap(m, + dupData, + compress, + cacheCtx.cacheId(), + locMap, + cacheCtx.affinity().affinityCache().similarAffinityKey()); - if (exchId != null) - m.addPartitionUpdateCounters(cacheCtx.cacheId(), cacheCtx.topology().updateCounters(true)); + if (exchId != null) + m.addPartitionUpdateCounters(cacheCtx.cacheId(), cacheCtx.topology().updateCounters(true)); + } + else + assert cctx.cacheContext(cacheCtx.cacheId()) == null : cacheCtx.name(); } } } http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedTtlCleanupManager.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManager.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManager.java index b3871e6,abe1b45..a336a80 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManager.java @@@ -20,7 -21,7 +21,8 @@@ import java.util.concurrent.atomic.Atom import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.IgniteException; import org.apache.ignite.configuration.CacheConfiguration; +import org.apache.ignite.internal.processors.cache.distributed.near.GridNearCacheAdapter; + import org.apache.ignite.internal.IgniteInterruptedCheckedException; import org.apache.ignite.internal.processors.cache.distributed.near.GridNearCacheEntry; import org.apache.ignite.internal.processors.cache.version.GridCacheVersion; import org.apache.ignite.internal.util.GridConcurrentSkipListSet; http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridChangeGlobalStateMessageResponse.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridChangeGlobalStateMessageResponse.java index f871245,0000000..4a7cfb7 mode 100644,000000..100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridChangeGlobalStateMessageResponse.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridChangeGlobalStateMessageResponse.java @@@ -1,177 -1,0 +1,177 @@@ +/* + * 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.internal.processors.cache; + +import java.nio.ByteBuffer; +import java.util.UUID; +import org.apache.ignite.IgniteCheckedException; +import org.apache.ignite.internal.GridDirectTransient; +import org.apache.ignite.internal.util.typedef.internal.CU; +import org.apache.ignite.internal.util.typedef.internal.S; +import org.apache.ignite.internal.util.typedef.internal.U; +import org.apache.ignite.plugin.extensions.communication.MessageReader; +import org.apache.ignite.plugin.extensions.communication.MessageWriter; + +/** + * + */ +public class GridChangeGlobalStateMessageResponse extends GridCacheMessage{ + /** */ + private static final long serialVersionUID = 0L; + + /** Request id. */ + private UUID requestId; + + /** Activation error. */ + @GridDirectTransient + private Throwable err; + + /** Serialized activation error. */ + private byte[] errBytes; + + /** + * Default constructor. + */ + public GridChangeGlobalStateMessageResponse() { + /* No-op. */ + } + + /** + * + */ + public GridChangeGlobalStateMessageResponse(UUID requestId, Throwable err) { + this.requestId = requestId; + this.err = err; + } + + /** + * + */ + public UUID getRequestId() { + return requestId; + } + + /** + * + */ + public Throwable getError() { + return err; + } + + /** {@inheritDoc} */ + @Override public void prepareMarshal(GridCacheSharedContext ctx) throws IgniteCheckedException { + super.prepareMarshal(ctx); + + if (err != null && errBytes == null) + errBytes = CU.marshal(ctx, false, err); + + } + + /** {@inheritDoc} */ + @Override public void finishUnmarshal(GridCacheSharedContext ctx, ClassLoader ldr) throws IgniteCheckedException { + super.finishUnmarshal(ctx, ldr); + + if (errBytes != null && err == null) + err = ctx.marshaller().unmarshal(errBytes, U.resolveClassLoader(ldr, ctx.gridConfig())); + + } + + /** {@inheritDoc} */ + @Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) { + writer.setBuffer(buf); + + if (!super.writeTo(buf, writer)) + return false; + + if (!writer.isHeaderWritten()) { + if (!writer.writeHeader(directType(), fieldsCount())) + return false; + + writer.onHeaderWritten(); + } + + switch (writer.state()) { + case 3: + if (!writer.writeByteArray("errBytes", errBytes)) + return false; + + writer.incrementState(); + + case 4: + if (!writer.writeUuid("requestId", requestId)) + return false; + + writer.incrementState(); + + } + + return true; + } + + /** {@inheritDoc} */ + @Override public boolean readFrom(ByteBuffer buf, MessageReader reader) { + reader.setBuffer(buf); + + if (!reader.beforeMessageRead()) + return false; + + if (!super.readFrom(buf, reader)) + return false; + + switch (reader.state()) { + case 3: + errBytes = reader.readByteArray("errBytes"); + + if (!reader.isLastRead()) + return false; + + reader.incrementState(); + + case 4: + requestId = reader.readUuid("requestId"); + + if (!reader.isLastRead()) + return false; + + reader.incrementState(); + + } + + return reader.afterMessageRead(GridChangeGlobalStateMessageResponse.class); + } + + /** {@inheritDoc} */ + @Override public byte directType() { - return -38; ++ return -46; + } + + /** {@inheritDoc} */ + @Override public byte fieldsCount() { + return 5; + } + + /** {@inheritDoc} */ + @Override public boolean addDeploymentInfo() { + return false; + } + + /** {@inheritDoc} */ + @Override public String toString() { + return S.toString(GridChangeGlobalStateMessageResponse.class, this, super.toString()); + } +} http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/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/9dc652db/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 e78c1c5,47a8103..ea3b7c6 --- 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 @@@ -680,10 -672,10 +671,10 @@@ import static org.apache.ignite.interna if (locPart != null) { GridDhtPartitionState state = locPart.state(); - if (state == MOVING && cctx.shared().cache().globalState() == CacheState.ACTIVE) { + if (state == MOVING && cctx.kernalContext().state().active()) { locPart.rent(false); - updateLocal(p, loc.id(), locPart.state(), updateSeq); + updateSeq = updateLocal(p, locPart.state(), updateSeq); changed = true; @@@ -1811,18 -1863,6 +1823,18 @@@ } /** {@inheritDoc} */ + @Nullable @Override public GridDhtPartitionMap2 partitions(UUID nodeId) { - lock.readLock().lock(); ++ lock.readLock().lock(); + - try { - return node2part.get(nodeId); - } - finally { - lock.readLock().unlock(); ++ try { ++ return node2part.get(nodeId); ++ } ++ finally { ++ lock.readLock().unlock(); ++ } + } - } + + /** {@inheritDoc} */ @Override public Map<Integer, T2<Long, Long>> updateCounters(boolean skipZeros) { lock.readLock().lock(); http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/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/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicSingleUpdateRequest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractSingleUpdateRequest.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractSingleUpdateRequest.java index e127afb,c3cceae..9160865 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractSingleUpdateRequest.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractSingleUpdateRequest.java @@@ -65,7 -65,6 +65,7 @@@ public abstract class GridNearAtomicAbs /** Return value flag. */ private static final int RET_VAL_FLAG_MASK = 0x40; - /** Return value flag. */ ++ /** Recovery flag mask. */ private static final int RECOVERY_FLAG_MASK = 0x80; /** Target node ID. */ @@@ -391,7 -378,15 +379,19 @@@ setFlag(val, HAS_PRIMARY_FLAG_MASK); } + /** {@inheritDoc} */ + @Override public boolean recovery() { + return isFlag(RECOVERY_FLAG_MASK); + } + ++ /** ++ * Sets recovery flag value. ++ */ + public void recovery(boolean val) { + setFlag(val, RECOVERY_FLAG_MASK); + } + + /** {@inheritDoc} */ @Nullable @Override public CacheEntryPredicate[] filter() { return NO_FILTER; } http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateRequest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/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/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamProcessor.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/GridCacheAtomicSequenceImpl.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformProcessorImpl.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryIndexing.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java index bc31b09,3f04785..8486d7f --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java @@@ -435,8 -435,15 +436,15 @@@ public class GridRestProcessor extends } /** {@inheritDoc} */ - @Override public void start() throws IgniteCheckedException { + @Override public void start(boolean activeOnStart) throws IgniteCheckedException { if (isRestEnabled()) { + if (notStartOnClient()) { + U.quietAndInfo(log, "REST protocols do not start on client node. " + + "To start the protocols on client node set '-DIGNITE_REST_START_ON_CLIENT=true' system property."); + + return; + } + // Register handlers. addHandler(new GridCacheCommandHandler(ctx)); addHandler(new GridTaskCommandHandler(ctx)); @@@ -472,8 -479,15 +480,15 @@@ } } + /** + * @return {@code True} if rest processor should not start on client node. + */ + private boolean notStartOnClient() { + return ctx.clientNode() && !IgniteSystemProperties.getBoolean(IGNITE_REST_START_ON_CLIENT); + } + /** {@inheritDoc} */ - @Override public void onKernalStart() throws IgniteCheckedException { + @Override public void onKernalStart(boolean activeOnStart) throws IgniteCheckedException { if (isRestEnabled()) { for (GridRestProtocol proto : protos) proto.onKernalStart(); http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/protocols/tcp/GridTcpRestNioListener.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/main/resources/META-INF/classnames.properties ---------------------------------------------------------------------- diff --cc modules/core/src/main/resources/META-INF/classnames.properties index 6d3dbe8,ac3a992..5df5aea --- a/modules/core/src/main/resources/META-INF/classnames.properties +++ b/modules/core/src/main/resources/META-INF/classnames.properties @@@ -700,8 -713,6 +713,7 @@@ org.apache.ignite.internal.processors.c org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture$1 org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture$2 org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture$3 +org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateFuture$4 - org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicFullUpdateRequest org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateRequest org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateResponse org.apache.ignite.internal.processors.cache.distributed.dht.colocated.GridDhtColocatedCache http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManagerEvictionSelfTest.java ---------------------------------------------------------------------- diff --cc modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManagerEvictionSelfTest.java index c79f30c,0d96e17..c2e48a7 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManagerEvictionSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManagerEvictionSelfTest.java @@@ -17,10 -17,8 +17,11 @@@ package org.apache.ignite.internal.processors.cache; +import java.util.concurrent.TimeUnit; +import javax.cache.expiry.CreatedExpiryPolicy; +import javax.cache.expiry.Duration; import org.apache.ignite.IgniteCache; + import org.apache.ignite.IgniteException; import org.apache.ignite.Ignition; import org.apache.ignite.cache.CacheMemoryMode; import org.apache.ignite.cache.CacheMode; http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiMultithreadedSelfTest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridTestKernalContext.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite5.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/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 67cbcc8,1445e16..c82c73d --- 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 @@@ -92,7 -91,7 +94,8 @@@ import org.apache.ignite.internal.proce import org.apache.ignite.internal.processors.query.GridQueryIndexing; import org.apache.ignite.internal.processors.query.GridQueryProperty; import org.apache.ignite.internal.processors.query.GridQueryTypeDescriptor; + import org.apache.ignite.internal.processors.query.IgniteSQLException; +import org.apache.ignite.internal.processors.query.h2.database.H2PkHashIndex; import org.apache.ignite.internal.processors.query.h2.opt.GridH2DefaultTableEngine; import org.apache.ignite.internal.processors.query.h2.database.H2RowFactory; import org.apache.ignite.internal.processors.query.h2.database.H2TreeIndex; @@@ -139,9 -139,9 +143,10 @@@ import org.apache.ignite.spi.indexing.I import org.h2.api.ErrorCode; import org.h2.api.JavaObjectSerializer; import org.h2.command.CommandInterface; + import org.h2.command.Prepared; 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; http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java ---------------------------------------------------------------------- diff --cc modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java index 7548bce,51f8bef..4576cec --- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java +++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java @@@ -590,8 -584,8 +584,6 @@@ public class GridReduceQueryExecutor mapQrys.add(new GridCacheSqlQuery("EXPLAIN " + mapQry.query(), mapQry.parameters())); } - boolean retry = false; - IgniteProductVersion minNodeVer = cctx.shared().exchange().minimumNodeVersion(topVer); -- final boolean distributedJoins = qry.distributedJoins(); cancel.set(new Runnable() { http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite.java ---------------------------------------------------------------------- diff --cc modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite.java index 529b594,b48d253..fbbdf76 --- a/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite.java +++ b/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheQuerySelfTestSuite.java @@@ -146,11 -172,14 +172,16 @@@ public class IgniteCacheQuerySelfTestSu suite.addTestSuite(IgniteCacheJoinPartitionedAndReplicatedTest.class); suite.addTestSuite(IgniteCacheDistributedJoinNoIndexTest.class); suite.addTestSuite(IgniteCrossCachesJoinsQueryTest.class); - suite.addTestSuite(IgniteCacheCrossCacheJoinRandomTest.class); - suite.addTestSuite(IgniteCacheDistributedJoinCustomAffinityMapper.class); + suite.addTestSuite(IgniteCacheMultipleIndexedTypesTest.class); + + suite.addTestSuite(IgniteCacheDistributedJoinCustomAffinityMapper.class); + + suite.addTestSuite(IgniteCacheMergeSqlQuerySelfTest.class); + suite.addTestSuite(IgniteCacheInsertSqlQuerySelfTest.class); + suite.addTestSuite(IgniteCacheUpdateSqlQuerySelfTest.class); + suite.addTestSuite(IgniteCacheDeleteSqlQuerySelfTest.class); + suite.addTestSuite(IgniteBinaryObjectQueryArgumentsTest.class); suite.addTestSuite(IgniteBinaryObjectQueryArgumentsOffheapTest.class); suite.addTestSuite(IgniteBinaryObjectQueryArgumentsOffheapLocalTest.class); http://git-wip-us.apache.org/repos/asf/ignite/blob/9dc652db/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/demo/AgentClusterDemo.java ----------------------------------------------------------------------
