Merge branch 'ignite-sprint-1' into ignite-96 Merge branch 'sprint-1' into ignite-96
Conflicts: modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProjectionImpl.java modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/atomic/GridLocalAtomicCache.java modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/5de45214 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/5de45214 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/5de45214 Branch: refs/heads/ignite-96 Commit: 5de45214b5ff812ac85a2ee8a5b399ebab460ebb Parents: 07a492a 4e60207 Author: nikolay_tikhonov <ntikho...@gridgain.com> Authored: Tue Feb 10 14:37:33 2015 +0300 Committer: nikolay_tikhonov <ntikho...@gridgain.com> Committed: Tue Feb 10 15:31:26 2015 +0300 ---------------------------------------------------------------------- assembly/release-base.xml | 5 + .../MemcacheRestExampleNodeStartup.java | 2 + .../client/ClientPortableArgumentTask.java | 52 - .../ignite/client/ClientPutPortableTask.java | 43 - .../ignite/client/ClientTestPortable.java | 490 ------ .../ClientTestPortableAffinityKeyTask.java | 85 - .../ignite/client/ClientTestRestServer.java | 6 + .../ClientAbstractMultiNodeSelfTest.java | 4 +- .../integration/ClientAbstractSelfTest.java | 2 +- .../processors/rest/TestBinaryClient.java | 10 +- .../protocols/tcp/TcpRestParserSelfTest.java | 12 +- .../clients/src/test/resources/spring-cache.xml | 6 +- .../src/test/resources/spring-server-node.xml | 12 +- .../test/resources/spring-server-ssl-node.xml | 6 +- modules/codegen/pom.xml | 50 + .../CommunicationMessageCodeGenerator.java | 782 +++++++++ .../src/main/java/org/apache/ignite/Ignite.java | 7 - .../java/org/apache/ignite/IgniteCache.java | 2 +- .../java/org/apache/ignite/IgnitePortables.java | 364 ---- .../apache/ignite/cache/CacheProjection.java | 40 +- .../apache/ignite/cache/store/CacheStore.java | 10 +- .../ignite/client/GridClientCacheFlag.java | 2 +- .../ignite/client/GridClientConfiguration.java | 23 - .../apache/ignite/client/GridClientFactory.java | 2 +- .../ignite/client/impl/GridClientImpl.java | 17 +- .../GridClientConnectionManagerAdapter.java | 149 +- .../GridClientConnectionManagerOsImpl.java | 5 +- .../connection/GridClientNioTcpConnection.java | 128 +- .../router/impl/GridRouterClientImpl.java | 4 +- .../router/impl/GridTcpRouterNioParser.java | 6 + .../configuration/CacheConfiguration.java | 64 - .../configuration/IgniteConfiguration.java | 19 - .../ignite/internal/ClusterGroupAdapter.java | 6 + .../apache/ignite/internal/ClusterGroupEx.java | 9 + .../ignite/internal/GridDirectVersion.java | 32 - .../ignite/internal/GridJobCancelRequest.java | 58 +- .../ignite/internal/GridJobExecuteRequest.java | 390 ++--- .../ignite/internal/GridJobExecuteResponse.java | 106 +- .../ignite/internal/GridJobSiblingsRequest.java | 46 +- .../internal/GridJobSiblingsResponse.java | 34 +- .../ignite/internal/GridKernalContext.java | 12 - .../ignite/internal/GridKernalContextImpl.java | 75 +- .../ignite/internal/GridPluginContext.java | 6 - .../ignite/internal/GridPortablesImpl.java | 174 -- .../ignite/internal/GridTaskCancelRequest.java | 34 +- .../ignite/internal/GridTaskSessionRequest.java | 58 +- .../apache/ignite/internal/IgniteKernal.java | 17 +- .../org/apache/ignite/internal/IgnitionEx.java | 3 - .../internal/direct/DirectByteBufferStream.java | 1613 ++++++++++++++++++ .../internal/direct/DirectMessageReader.java | 279 +++ .../internal/direct/DirectMessageWriter.java | 216 +++ .../internal/managers/GridManagerAdapter.java | 32 +- .../checkpoint/GridCheckpointRequest.java | 58 +- .../managers/communication/GridIoManager.java | 91 +- .../managers/communication/GridIoMessage.java | 114 +- .../communication/GridIoMessageFactory.java | 543 ++++++ .../communication/GridIoUserMessage.java | 176 +- .../deployment/GridDeploymentCommunication.java | 6 +- .../deployment/GridDeploymentInfoBean.java | 152 +- .../deployment/GridDeploymentRequest.java | 126 +- .../deployment/GridDeploymentResponse.java | 60 +- .../discovery/GridDiscoveryManager.java | 17 - .../eventstorage/GridEventStorageMessage.java | 200 +-- .../swapspace/GridSwapSpaceManager.java | 17 + .../affinity/GridAffinityAssignmentCache.java | 3 +- .../affinity/GridAffinityProcessor.java | 2 +- .../processors/cache/CacheEntryImpl0.java | 60 + .../cache/CacheWeakQueryIteratorsHolder.java | 4 +- .../processors/cache/GridCacheAdapter.java | 594 +++++-- .../processors/cache/GridCacheAttributes.java | 11 - .../processors/cache/GridCacheContext.java | 125 +- .../GridCacheDefaultAffinityKeyMapper.java | 34 +- .../cache/GridCacheEvictionRequest.java | 58 +- .../cache/GridCacheEvictionResponse.java | 102 +- .../processors/cache/GridCacheIoManager.java | 26 +- .../processors/cache/GridCacheMessage.java | 56 +- .../GridCachePartitionExchangeManager.java | 18 +- .../processors/cache/GridCacheProcessor.java | 12 +- .../cache/GridCacheProjectionImpl.java | 40 +- .../processors/cache/GridCacheProxyImpl.java | 72 + .../processors/cache/GridCacheStoreManager.java | 4 +- .../processors/cache/GridCacheSwapManager.java | 206 +++ .../processors/cache/GridCacheValueBytes.java | 86 +- .../IgniteCacheOsSerializationManager.java | 48 + .../processors/cache/IgniteCacheProxy.java | 42 +- .../cache/affinity/GridCacheAffinityImpl.java | 3 +- ...idCacheOptimisticCheckPreparedTxRequest.java | 72 +- ...dCacheOptimisticCheckPreparedTxResponse.java | 58 +- ...CachePessimisticCheckCommittedTxRequest.java | 98 +- ...achePessimisticCheckCommittedTxResponse.java | 58 +- .../distributed/GridCacheTtlUpdateRequest.java | 270 +-- .../distributed/GridDistributedBaseMessage.java | 168 +- .../GridDistributedCacheAdapter.java | 71 +- .../distributed/GridDistributedLockRequest.java | 306 ++-- .../GridDistributedLockResponse.java | 102 +- .../GridDistributedTxFinishRequest.java | 272 +-- .../GridDistributedTxFinishResponse.java | 48 +- .../GridDistributedTxPrepareRequest.java | 284 ++- .../GridDistributedTxPrepareResponse.java | 46 +- .../GridDistributedUnlockRequest.java | 78 +- .../dht/GridDhtAffinityAssignmentRequest.java | 34 +- .../dht/GridDhtAffinityAssignmentResponse.java | 46 +- .../distributed/dht/GridDhtCacheAdapter.java | 79 +- .../distributed/dht/GridDhtLockFuture.java | 2 +- .../distributed/dht/GridDhtLockRequest.java | 176 +- .../distributed/dht/GridDhtLockResponse.java | 207 +-- .../distributed/dht/GridDhtTxFinishRequest.java | 276 +-- .../dht/GridDhtTxFinishResponse.java | 34 +- .../dht/GridDhtTxPrepareRequest.java | 215 +-- .../dht/GridDhtTxPrepareResponse.java | 215 +-- .../distributed/dht/GridDhtUnlockRequest.java | 78 +- .../GridDhtAtomicDeferredUpdateResponse.java | 78 +- .../dht/atomic/GridDhtAtomicUpdateRequest.java | 635 ++----- .../dht/atomic/GridDhtAtomicUpdateResponse.java | 117 +- .../dht/atomic/GridNearAtomicUpdateRequest.java | 485 ++---- .../atomic/GridNearAtomicUpdateResponse.java | 299 +--- .../dht/preloader/GridDhtForceKeysRequest.java | 114 +- .../dht/preloader/GridDhtForceKeysResponse.java | 114 +- .../GridDhtPartitionDemandMessage.java | 142 +- .../preloader/GridDhtPartitionExchangeId.java | 98 +- .../GridDhtPartitionSupplyMessage.java | 190 +-- .../GridDhtPartitionsAbstractMessage.java | 46 +- .../preloader/GridDhtPartitionsFullMessage.java | 58 +- .../GridDhtPartitionsSingleMessage.java | 34 +- .../GridDhtPartitionsSingleRequest.java | 18 +- .../distributed/near/GridNearAtomicCache.java | 5 + .../distributed/near/GridNearCacheAdapter.java | 7 + .../distributed/near/GridNearGetRequest.java | 270 +-- .../distributed/near/GridNearGetResponse.java | 152 +- .../distributed/near/GridNearLockRequest.java | 256 +-- .../distributed/near/GridNearLockResponse.java | 214 +-- .../near/GridNearTxFinishRequest.java | 97 +- .../near/GridNearTxFinishResponse.java | 58 +- .../near/GridNearTxPrepareRequest.java | 165 +- .../near/GridNearTxPrepareResponse.java | 228 +-- .../distributed/near/GridNearUnlockRequest.java | 18 +- .../processors/cache/local/GridLocalCache.java | 12 + .../local/atomic/GridLocalAtomicCache.java | 11 + .../cache/query/GridCacheQueryRequest.java | 255 ++- .../cache/query/GridCacheQueryResponse.java | 182 +- .../IgniteCacheSerializationManager.java | 51 + .../transactions/IgniteTxLocalAdapter.java | 7 +- .../cache/version/GridCacheVersion.java | 113 +- .../clock/GridClockDeltaSnapshotMessage.java | 118 +- .../processors/clock/GridClockDeltaVersion.java | 82 +- .../continuous/GridContinuousMessage.java | 88 +- .../continuous/GridContinuousProcessor.java | 6 - .../dataload/GridDataLoadRequest.java | 250 +-- .../dataload/GridDataLoadResponse.java | 60 +- .../dataload/IgniteDataLoaderImpl.java | 6 +- .../processors/fs/GridGgfsAckMessage.java | 58 +- .../processors/fs/GridGgfsBlockKey.java | 72 +- .../processors/fs/GridGgfsBlocksMessage.java | 127 +- .../fs/GridGgfsCommunicationMessage.java | 16 +- .../processors/fs/GridGgfsDeleteMessage.java | 46 +- .../processors/fs/GridGgfsDeleteWorker.java | 8 +- .../fs/GridGgfsFileAffinityRange.java | 84 +- .../fs/GridGgfsFragmentizerRequest.java | 90 +- .../fs/GridGgfsFragmentizerResponse.java | 34 +- .../processors/fs/GridGgfsSyncMessage.java | 46 +- .../processors/fs/IgniteFsProcessor.java | 38 - .../offheap/GridOffHeapProcessor.java | 15 + .../plugin/IgnitePluginProcessor.java | 8 +- .../portable/GridPortableOutputStream.java | 7 - .../portable/GridPortableProcessor.java | 88 +- .../portable/os/GridOsPortableProcessor.java | 48 +- .../processors/query/GridQueryProcessor.java | 33 +- .../processors/rest/GridRestProcessor.java | 10 +- .../message/GridClientAbstractMessage.java | 17 +- .../GridClientAuthenticationRequest.java | 19 - .../message/GridClientCacheQueryRequest.java | 45 - .../client/message/GridClientCacheRequest.java | 48 - .../message/GridClientGetMetaDataRequest.java | 64 - .../GridClientHandshakeRequestWrapper.java | 129 -- .../GridClientHandshakeResponseWrapper.java | 96 -- .../client/message/GridClientLogRequest.java | 23 - .../message/GridClientMessageWrapper.java | 266 --- .../message/GridClientMetaDataResponse.java | 57 - .../rest/client/message/GridClientNodeBean.java | 40 +- .../message/GridClientNodeMetricsBean.java | 120 +- .../client/message/GridClientPingPacket.java | 4 +- .../message/GridClientPingPacketWrapper.java | 89 - .../message/GridClientPortableMetaData.java | 23 +- .../message/GridClientPutMetaDataRequest.java | 64 - .../rest/client/message/GridClientResponse.java | 23 - .../client/message/GridClientTaskRequest.java | 28 - .../message/GridClientTaskResultBean.java | 28 +- .../message/GridClientTopologyRequest.java | 25 - .../rest/client/message/GridRouterRequest.java | 1 + .../rest/client/message/GridRouterResponse.java | 2 +- .../cache/GridCacheClientQueryResult.java | 24 +- .../metadata/GridPortableMetadataHandler.java | 103 -- .../handlers/task/GridTaskCommandHandler.java | 3 +- .../handlers/task/GridTaskResultRequest.java | 48 +- .../handlers/task/GridTaskResultResponse.java | 72 +- .../protocols/tcp/GridClientPacketType.java | 3 + .../protocols/tcp/GridMemcachedMessage.java | 3 + .../tcp/GridMemcachedMessageWrapper.java | 269 --- .../tcp/GridTcpMemcachedNioListener.java | 13 +- .../protocols/tcp/GridTcpRestDirectParser.java | 519 ------ .../protocols/tcp/GridTcpRestNioListener.java | 45 +- .../rest/protocols/tcp/GridTcpRestParser.java | 75 +- .../rest/protocols/tcp/GridTcpRestProtocol.java | 63 +- .../GridRestPortableGetMetaDataRequest.java | 44 - .../GridRestPortablePutMetaDataRequest.java | 44 - .../streamer/GridStreamerCancelRequest.java | 36 +- .../streamer/GridStreamerExecutionRequest.java | 178 +- .../streamer/GridStreamerResponse.java | 48 +- .../processors/streamer/IgniteStreamerImpl.java | 6 +- .../version/GridVersionConverter.java | 46 - .../ignite/internal/util/GridByteArrayList.java | 81 +- .../internal/util/GridClientByteUtils.java | 3 +- .../ignite/internal/util/GridLongList.java | 92 +- .../ignite/internal/util/GridUuidCache.java | 59 - .../ignite/internal/util/IgniteUtils.java | 137 +- .../ignite/internal/util/IgniteUuidCache.java | 59 + .../GridTcpCommunicationMessageAdapter.java | 218 --- .../GridTcpCommunicationMessageFactory.java | 359 ---- .../GridTcpCommunicationMessageProducer.java | 31 - .../GridTcpCommunicationMessageState.java | 1599 ----------------- .../util/direct/GridTcpMessageFactory.java | 29 - .../internal/util/ipc/IpcToNioAdapter.java | 23 +- .../ignite/internal/util/lang/GridFunc.java | 149 ++ .../util/nio/GridCommunicationClient.java | 4 +- .../internal/util/nio/GridDirectParser.java | 30 +- .../internal/util/nio/GridNioMessageReader.java | 6 +- .../internal/util/nio/GridNioMessageWriter.java | 6 +- .../ignite/internal/util/nio/GridNioServer.java | 84 +- .../util/nio/GridShmemCommunicationClient.java | 24 +- .../util/nio/GridTcpCommunicationClient.java | 21 +- .../util/nio/GridTcpNioCommunicationClient.java | 4 +- .../internal/util/offheap/GridOffHeapMap.java | 7 + .../util/offheap/GridOffHeapPartitionedMap.java | 11 + .../util/offheap/unsafe/GridUnsafeMap.java | 12 +- .../unsafe/GridUnsafePartitionedMap.java | 10 + .../util/portable/PortableRawReaderEx.java | 32 - .../util/portable/PortableRawWriterEx.java | 43 - .../visor/portable/VisorPortableMetadata.java | 72 - .../VisorPortableMetadataCollectorTask.java | 94 - .../portable/VisorPortableMetadataField.java | 71 - .../optimized/optimized-classnames.properties | 160 +- .../org/apache/ignite/plugin/PluginContext.java | 7 - .../apache/ignite/plugin/PluginProvider.java | 4 +- .../communication/MessageAdapter.java | 97 ++ .../communication/MessageCallback.java | 48 - .../communication/MessageFactory.java | 41 + .../communication/MessageFormatter.java | 46 + .../extensions/communication/MessageReader.java | 252 +++ .../extensions/communication/MessageWriter.java | 266 +++ .../extensions/communication/package.html | 24 + .../extensions/discovery/DiscoveryCallback.java | 51 - .../security/GridSecurityCredentials.java | 20 +- .../ignite/portables/PortableBuilder.java | 137 -- .../ignite/portables/PortableConfiguration.java | 189 -- .../ignite/portables/PortableException.java | 57 - .../ignite/portables/PortableIdMapper.java | 55 - .../PortableInvalidClassException.java | 58 - .../ignite/portables/PortableMarshalAware.java | 48 - .../ignite/portables/PortableMetadata.java | 61 - .../apache/ignite/portables/PortableObject.java | 160 -- .../ignite/portables/PortableRawReader.java | 235 --- .../ignite/portables/PortableRawWriter.java | 218 --- .../apache/ignite/portables/PortableReader.java | 286 ---- .../ignite/portables/PortableSerializer.java | 47 - .../portables/PortableTypeConfiguration.java | 195 --- .../apache/ignite/portables/PortableWriter.java | 265 --- .../org/apache/ignite/portables/package.html | 24 - .../org/apache/ignite/spi/IgniteSpiAdapter.java | 19 +- .../org/apache/ignite/spi/IgniteSpiContext.java | 34 +- .../jobstealing/JobStealingRequest.java | 36 +- .../communication/tcp/TcpCommunicationSpi.java | 209 +-- .../ignite/spi/swapspace/SwapSpaceSpi.java | 11 + .../spi/swapspace/file/FileSwapSpaceSpi.java | 27 + .../spi/swapspace/noop/NoopSwapSpaceSpi.java | 5 + .../GridJobMasterLeaveAwareSelfTest.java | 6 +- .../GridCommunicationSendMessageSelfTest.java | 21 +- .../communication/GridIoManagerSelfTest.java | 10 +- .../GridDeploymentMessageCountSelfTest.java | 4 +- .../cache/GridCacheAbstractFullApiSelfTest.java | 158 +- .../cache/GridCacheAbstractSelfTest.java | 8 - .../cache/GridCacheAffinityMapperSelfTest.java | 17 + .../GridCacheAtomicMessageCountSelfTest.java | 4 +- .../cache/GridCacheMemoryModeSelfTest.java | 8 - ...HeapMultiThreadedUpdateAbstractSelfTest.java | 1 - .../GridCacheOffHeapTieredAbstractSelfTest.java | 15 +- ...heOffHeapTieredEvictionAbstractSelfTest.java | 78 +- ...ridCacheReplicatedSynchronousCommitTest.java | 4 +- .../cache/IgniteCacheAbstractTest.java | 8 - .../IgniteCacheAtomicLocalPeekModesTest.java | 43 + .../cache/IgniteCacheAtomicLocalPeekTest.java | 43 - .../cache/IgniteCacheAtomicPeekModesTest.java | 49 + .../cache/IgniteCacheAtomicPeekTest.java | 49 - ...gniteCacheAtomicReplicatedPeekModesTest.java | 32 + .../IgniteCacheAtomicReplicatedPeekTest.java | 32 - .../cache/IgniteCachePeekAbstractTest.java | 333 ---- .../cache/IgniteCachePeekModesAbstractTest.java | 1131 ++++++++++++ .../cache/IgniteCacheTxLocalPeekModesTest.java | 43 + .../cache/IgniteCacheTxLocalPeekTest.java | 43 - .../cache/IgniteCacheTxPeekModesTest.java | 49 + .../processors/cache/IgniteCacheTxPeekTest.java | 49 - .../IgniteCacheTxReplicatedPeekModesTest.java | 32 + .../cache/IgniteCacheTxReplicatedPeekTest.java | 32 - .../cache/IgniteTxReentryAbstractSelfTest.java | 4 +- ...tractDistributedByteArrayValuesSelfTest.java | 10 - ...tractPartitionedByteArrayValuesSelfTest.java | 3 - .../GridCacheAtomicTimeoutSelfTest.java | 4 +- ...xOriginatingNodeFailureAbstractSelfTest.java | 4 +- ...cOriginatingNodeFailureAbstractSelfTest.java | 4 +- .../dht/GridCacheAtomicFullApiSelfTest.java | 18 + .../GridCacheDhtPreloadMessageCountTest.java | 4 +- ...eAtomicInvalidPartitionHandlingSelfTest.java | 4 +- ...tomicClientOnlyMultiNodeFullApiSelfTest.java | 6 +- ...eAtomicNearOnlyMultiNodeFullApiSelfTest.java | 21 +- ...idCacheNearOnlyMultiNodeFullApiSelfTest.java | 31 +- .../near/GridCachePartitionedLockSelfTest.java | 34 - .../GridCacheReplicatedInvalidateSelfTest.java | 4 +- .../GridCacheSwapScanQueryAbstractSelfTest.java | 16 - .../query/GridCacheSwapScanQuerySelfTest.java | 4 - .../offheap/GridOffHeapMapAbstractSelfTest.java | 52 +- .../communication/GridIoManagerBenchmark0.java | 8 +- .../communication/GridTestMessage.java | 8 +- .../loadtests/hashmap/GridCacheTestContext.java | 1 + .../GridAbstractCommunicationSelfTest.java | 27 +- .../spi/communication/GridTestMessage.java | 66 +- .../tcp/GridCacheDhtLockBackupSelfTest.java | 6 +- ...mmunicationSpiConcurrentConnectSelfTest.java | 23 +- .../tcp/GridTcpCommunicationSpiLanTest.java | 6 +- ...cpCommunicationSpiMultithreadedSelfTest.java | 27 +- ...dTcpCommunicationSpiRecoveryAckSelfTest.java | 17 +- ...GridTcpCommunicationSpiRecoverySelfTest.java | 16 +- .../inmemory/GridTestSwapSpaceSpi.java | 41 + .../testframework/GridSpiTestContext.java | 48 +- .../ignite/testframework/junits/IgniteMock.java | 5 - .../ignite/testsuites/IgniteCacheTestSuite.java | 12 +- ...idHadoopDefaultMapReducePlannerSelfTest.java | 5 + .../tcp/GridOrderedMessageCancelSelfTest.java | 4 +- .../org/apache/ignite/IgniteSpringBean.java | 7 - .../yardstick/config/benchmark-store.properties | 33 +- .../yardstick/config/ignite-store-config.xml | 50 +- .../yardstick/IgniteBenchmarkArguments.java | 22 + .../org/apache/ignite/yardstick/IgniteNode.java | 5 + pom.xml | 8 +- 342 files changed, 12386 insertions(+), 18234 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/main/java/org/apache/ignite/Ignite.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/main/java/org/apache/ignite/cache/CacheProjection.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java index a4e01fa,3d5000b..b10e4ce --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java @@@ -1527,8 -1503,34 +1496,34 @@@ public abstract class GridCacheAdapter< } /** {@inheritDoc} */ + @Override public IgniteInternalFuture<?> clearAsync() { + Collection<ClusterNode> nodes = ctx.grid().forCacheNodes(name()).nodes(); + + if (!nodes.isEmpty()) { + IgniteInternalFuture<Object> fut = + ctx.closures().callAsyncNoFailover(BROADCAST, new GlobalClearAllCallable(name()), nodes, true); + + return fut.chain(new CX1<IgniteInternalFuture<Object>, Object>() { + @Override public Object applyx(IgniteInternalFuture<Object> fut) throws IgniteCheckedException { + try { + return fut.get(); + } + catch (ClusterGroupEmptyCheckedException ignore) { + if (log.isDebugEnabled()) + log.debug("All remote nodes left while cache clearLocally [cacheName=" + name() + "]"); + + return null; + } + } + }); + } + else + return new GridFinishedFuture<>(ctx.kernalContext()); + } + + /** {@inheritDoc} */ @Override public boolean compact(K key) throws IgniteCheckedException { - return compact(key, (IgnitePredicate<CacheEntry<K, V>>[])null); + return compact(key, (IgnitePredicate<Cache.Entry<K, V>>[])null); } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java index e8192b9,21e572d..15ab299 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java @@@ -52,10 -53,8 +53,9 @@@ import org.apache.ignite.internal.util. import org.apache.ignite.lang.*; import org.apache.ignite.marshaller.*; import org.apache.ignite.plugin.security.*; - import org.apache.ignite.portables.*; import org.jetbrains.annotations.*; +import javax.cache.*; import javax.cache.configuration.*; import javax.cache.expiry.*; import java.io.*; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMessage.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMessage.java index e70187b,822f647..3b07bc7 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMessage.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMessage.java @@@ -26,9 -26,9 +25,10 @@@ import org.apache.ignite.internal.util. import org.apache.ignite.internal.util.typedef.internal.*; import org.apache.ignite.lang.*; import org.apache.ignite.marshaller.*; + import org.apache.ignite.plugin.extensions.communication.*; import org.jetbrains.annotations.*; +import javax.cache.*; import java.nio.*; import java.util.*; import java.util.concurrent.atomic.*; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProjectionImpl.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProjectionImpl.java index 205a525,e076d8d..9986be7 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProjectionImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProjectionImpl.java @@@ -1186,7 -1201,12 +1201,12 @@@ public class GridCacheProjectionImpl<K } /** {@inheritDoc} */ + @Override public IgniteInternalFuture<?> removeAllAsync() { + return removeAllAsync(new IgnitePredicate[0]); + } + + /** {@inheritDoc} */ - @Override public IgniteInternalFuture<?> removeAllAsync(@Nullable IgnitePredicate<CacheEntry<K, V>>... filter) { + @Override public IgniteInternalFuture<?> removeAllAsync(@Nullable IgnitePredicate<Cache.Entry<K, V>>... filter) { return cache.removeAllAsync(and(filter, false)); } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java index 7d6168f,e76b648..542fd19 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java @@@ -1603,7 -1627,19 +1627,19 @@@ public class GridCacheProxyImpl<K, V> i } /** {@inheritDoc} */ + @Override public IgniteInternalFuture<?> removeAllAsync() { + GridCacheProjectionImpl<K, V> prev = gate.enter(prj); + + try { + return delegate.removeAllAsync(); + } + finally { + gate.leave(prev); + } + } + + /** {@inheritDoc} */ - @Override public IgniteInternalFuture<?> removeAllAsync(@Nullable IgnitePredicate<CacheEntry<K, V>>[] filter) { + @Override public IgniteInternalFuture<?> removeAllAsync(@Nullable IgnitePredicate<Cache.Entry<K, V>>[] filter) { GridCacheProjectionImpl<K, V> prev = gate.enter(prj); try { http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSwapManager.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheAdapter.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java index 7885a38,f4d2d0e..483016d --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java @@@ -913,9 -912,86 +913,86 @@@ public abstract class GridDhtCacheAdapt } /** + * @param primary If {@code true} includes primary entries. + * @param backup If {@code true} includes backup entries. + * @return Local entries iterator. + */ + public Iterator<Cache.Entry<K, V>> localEntriesIterator(final boolean primary, final boolean backup) { + assert primary || backup; + + if (primary && backup) + return iterator(map.entries0().iterator(), !ctx.keepPortable()); + else { + final long topVer = ctx.affinity().affinityTopologyVersion(); + + final Iterator<GridDhtLocalPartition<K, V>> partIt = topology().currentLocalPartitions().iterator(); + + Iterator<GridCacheEntryEx<K, V>> it = new Iterator<GridCacheEntryEx<K, V>>() { + private GridCacheEntryEx<K, V> next; + + private Iterator<GridDhtCacheEntry<K, V>> curIt; + + { + advance(); + } + + @Override public boolean hasNext() { + return next != null; + } + + @Override public GridCacheEntryEx<K, V> next() { + if (next == null) + throw new NoSuchElementException(); + + GridCacheEntryEx<K, V> e = next; + + advance(); + + return e; + } + + @Override public void remove() { + throw new UnsupportedOperationException(); + } + + private void advance() { + next = null; + + do { + if (curIt == null) { + while (partIt.hasNext()) { + GridDhtLocalPartition<K, V> part = partIt.next(); + + if (primary == part.primary(topVer)) { + curIt = part.entries().iterator(); + + break; + } + } + } + + if (curIt != null) { + if (curIt.hasNext()) { + next = curIt.next(); + + break; + } + else + curIt = null; + } + } + while (partIt.hasNext()); + } + }; + + return iterator(it, !ctx.keepPortable()); + } + } + + /** * Complex partition iterator for both partition and swap iteration. */ - private static class PartitionEntryIterator<K, V> extends GridIteratorAdapter<CacheEntry<K, V>> { + private class PartitionEntryIterator<K, V> extends GridIteratorAdapter<Cache.Entry<K, V>> { /** */ private static final long serialVersionUID = 0L; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateRequest.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateRequest.java index eb12e63,894a80f..ed5b3b3 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateRequest.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateRequest.java @@@ -27,10 -27,9 +27,10 @@@ import org.apache.ignite.internal.util. import org.apache.ignite.internal.util.tostring.*; import org.apache.ignite.internal.util.typedef.internal.*; import org.apache.ignite.lang.*; + import org.apache.ignite.plugin.extensions.communication.*; import org.jetbrains.annotations.*; +import javax.cache.*; import javax.cache.expiry.*; import javax.cache.processor.*; import java.io.*; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java index 1f60e32,62a59a7..b1142f0 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java @@@ -635,7 -635,12 +635,12 @@@ public class GridNearAtomicCache<K, V> } /** {@inheritDoc} */ + @Override public IgniteInternalFuture<?> removeAllAsync() { + return dht.removeAllAsync(); + } + + /** {@inheritDoc} */ - @Override public IgniteInternalFuture<?> removeAllAsync(IgnitePredicate<CacheEntry<K, V>>[] filter) { + @Override public IgniteInternalFuture<?> removeAllAsync(IgnitePredicate<Cache.Entry<K, V>>[] filter) { return dht.removeAllAsync(keySet(filter)); } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheAdapter.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetRequest.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetRequest.java index b1f27b5,9c4ef10..1c18112 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetRequest.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetRequest.java @@@ -26,8 -26,8 +25,9 @@@ import org.apache.ignite.internal.util. import org.apache.ignite.internal.util.typedef.*; import org.apache.ignite.internal.util.typedef.internal.*; import org.apache.ignite.lang.*; + import org.apache.ignite.plugin.extensions.communication.*; +import javax.cache.*; import java.io.*; import java.nio.*; import java.util.*; @@@ -73,10 -73,9 +73,9 @@@ public class GridNearGetRequest<K, V> e /** Filters. */ @GridDirectTransient - private IgnitePredicate<CacheEntry<K, V>>[] filter; + private IgnitePredicate<Cache.Entry<K, V>>[] filter; /** Subject ID. */ - @GridDirectVersion(1) private UUID subjId; /** Task name hash. */ http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockRequest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/GridLocalCache.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/GridLocalCache.java index 7a8a11c,845f697..dc3dabe --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/GridLocalCache.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/GridLocalCache.java @@@ -28,9 -29,9 +28,10 @@@ import org.apache.ignite.lang.* import org.apache.ignite.transactions.*; import org.jetbrains.annotations.*; +import javax.cache.*; import java.io.*; import java.util.*; + import java.util.concurrent.*; /** * Local cache implementation. http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/atomic/GridLocalAtomicCache.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/atomic/GridLocalAtomicCache.java index 5446373,109667e..d9f8e97 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/atomic/GridLocalAtomicCache.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/atomic/GridLocalAtomicCache.java @@@ -465,7 -472,18 +465,18 @@@ public class GridLocalAtomicCache<K, V } /** {@inheritDoc} */ + @Override public IgniteInternalFuture<?> removeAllAsync() { + return ctx.closures().callLocalSafe(new Callable<Void>() { + @Override public Void call() throws Exception { + removeAll(); + + return null; + } + }); + } + + /** {@inheritDoc} */ - @Override public IgniteInternalFuture<?> removeAllAsync(IgnitePredicate<CacheEntry<K, V>>[] filter) { + @Override public IgniteInternalFuture<?> removeAllAsync(IgnitePredicate<Cache.Entry<K, V>>[] filter) { return removeAllAsync(keySet(filter), filter); } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryRequest.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryRequest.java index 5f9c8be,e7079d1..df8e2c0 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryRequest.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryRequest.java @@@ -18,15 -18,15 +18,15 @@@ package org.apache.ignite.internal.processors.cache.query; import org.apache.ignite.*; -import org.apache.ignite.cache.*; import org.apache.ignite.internal.*; import org.apache.ignite.internal.processors.cache.*; - import org.apache.ignite.internal.util.direct.*; import org.apache.ignite.internal.util.typedef.*; import org.apache.ignite.internal.util.typedef.internal.*; import org.apache.ignite.lang.*; import org.apache.ignite.marshaller.*; + import org.apache.ignite.plugin.extensions.communication.*; +import javax.cache.*; import java.io.*; import java.nio.*; import java.util.*; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridFunc.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractSelfTest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOffHeapMultiThreadedUpdateAbstractSelfTest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOffHeapTieredAbstractSelfTest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOffHeapTieredEvictionAbstractSelfTest.java ---------------------------------------------------------------------- diff --cc modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOffHeapTieredEvictionAbstractSelfTest.java index ae3599d,1f83ac1..787793d --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOffHeapTieredEvictionAbstractSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOffHeapTieredEvictionAbstractSelfTest.java @@@ -22,10 -22,8 +22,9 @@@ import org.apache.ignite.cache.* import org.apache.ignite.configuration.*; import org.apache.ignite.internal.util.typedef.*; import org.apache.ignite.internal.util.typedef.internal.*; - import org.apache.ignite.portables.*; import org.apache.ignite.testframework.*; +import javax.cache.*; import javax.cache.processor.*; import java.io.*; import java.util.*; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheAbstractDistributedByteArrayValuesSelfTest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicClientOnlyMultiNodeFullApiSelfTest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearOnlyMultiNodeFullApiSelfTest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5de45214/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/GridCacheSwapScanQueryAbstractSelfTest.java ----------------------------------------------------------------------