Merge branch sprint-2 into ignite-45
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/00f5d4ee Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/00f5d4ee Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/00f5d4ee Branch: refs/heads/ignite-45 Commit: 00f5d4ee4ae52476d748f48556a49c24423d5926 Parents: 264d62b 6c4282a Author: Alexey Goncharuk <agoncha...@gridgain.com> Authored: Wed Mar 11 15:23:59 2015 -0700 Committer: Alexey Goncharuk <agoncha...@gridgain.com> Committed: Wed Mar 11 15:23:59 2015 -0700 ---------------------------------------------------------------------- DEVNOTES.txt | 7 + DISCLAIMER.txt | 15 + README.txt | 25 + RELEASE_NOTES.txt | 18 + assembly/release-base.xml | 20 +- assembly/release-fabric.xml | 5 - bin/igniterouter.sh | 7 +- bin/ignitevisorcmd.bat | 7 +- bin/ignitevisorcmd.sh | 7 +- bin/include/target-classpath.bat | 2 +- bin/include/target-classpath.sh | 2 +- bin/setup-hadoop.sh | 7 +- docs/ignite_readme.md | 100 -- docs/ignite_readme.pdf | Bin 77136 -> 0 bytes docs/release_notes.md | 16 - docs/release_notes.pdf | Bin 33174 -> 0 bytes docs/wiki/basic-concepts/async-support.md | 75 - docs/wiki/basic-concepts/getting-started.md | 218 --- docs/wiki/basic-concepts/ignite-life-cycel.md | 105 -- docs/wiki/basic-concepts/maven-setup.md | 68 - docs/wiki/basic-concepts/what-is-ignite.md | 31 - docs/wiki/basic-concepts/zero-deployment.md | 56 - docs/wiki/clustering/aws-config.md | 42 - docs/wiki/clustering/cluster-config.md | 176 -- docs/wiki/clustering/cluster-groups.md | 210 --- docs/wiki/clustering/cluster.md | 128 -- docs/wiki/clustering/leader-election.md | 59 - docs/wiki/clustering/network-config.md | 101 -- docs/wiki/clustering/node-local-map.md | 35 - docs/wiki/compute-grid/checkpointing.md | 238 --- .../compute-grid/collocate-compute-and-data.md | 29 - docs/wiki/compute-grid/compute-grid.md | 56 - docs/wiki/compute-grid/compute-tasks.md | 105 -- docs/wiki/compute-grid/distributed-closures.md | 107 -- docs/wiki/compute-grid/executor-service.md | 23 - docs/wiki/compute-grid/fault-tolerance.md | 79 - docs/wiki/compute-grid/job-scheduling.md | 69 - docs/wiki/compute-grid/load-balancing.md | 59 - docs/wiki/data-grid/affinity-collocation.md | 78 - docs/wiki/data-grid/automatic-db-integration.md | 102 -- docs/wiki/data-grid/cache-modes.md | 237 --- docs/wiki/data-grid/cache-queries.md | 164 -- docs/wiki/data-grid/data-grid.md | 68 - docs/wiki/data-grid/data-loading.md | 77 - docs/wiki/data-grid/evictions.md | 86 - docs/wiki/data-grid/hibernate-l2-cache.md | 173 -- docs/wiki/data-grid/jcache.md | 99 -- docs/wiki/data-grid/off-heap-memory.md | 180 -- docs/wiki/data-grid/persistent-store.md | 111 -- docs/wiki/data-grid/rebalancing.md | 105 -- docs/wiki/data-grid/transactions.md | 127 -- docs/wiki/data-grid/web-session-clustering.md | 236 --- .../distributed-data-structures/atomic-types.md | 97 - .../countdownlatch.md | 24 - .../distributed-data-structures/id-generator.md | 40 - .../queue-and-set.md | 116 -- .../distributed-events/automatic-batching.md | 16 - docs/wiki/distributed-events/events.md | 101 -- docs/wiki/distributed-file-system/igfs.md | 1 - docs/wiki/distributed-messaging/messaging.md | 73 - docs/wiki/http/configuration.md | 58 - docs/wiki/http/rest-api.md | 1646 ----------------- docs/wiki/release-notes/release-notes.md | 13 - docs/wiki/service-grid/cluster-singletons.md | 94 - docs/wiki/service-grid/service-configuration.md | 33 - docs/wiki/service-grid/service-example.md | 94 - docs/wiki/service-grid/service-grid.md | 62 - examples/pom-standalone.xml | 2 +- .../ComputeFibonacciContinuationExample.java | 12 +- .../examples/datagrid/CacheApiExample.java | 2 +- .../examples/ScalarContinuationExample.scala | 12 +- license/header-customisation.xml | 51 - license/header.txt | 14 - .../apache/ignite/gridify/AbstractAopTest.java | 4 +- .../spi/checkpoint/s3/S3CheckpointData.java | 62 +- .../spi/checkpoint/s3/S3CheckpointSpi.java | 8 +- .../checkpoint/s3/S3CheckpointSpiSelfTest.java | 2 +- .../s3/S3CheckpointSpiStartStopSelfTest.java | 2 +- .../ClientAbstractMultiNodeSelfTest.java | 12 +- .../client/suite/IgniteClientTestSuite.java | 3 +- .../rest/protocols/tcp/MockNioSession.java | 7 +- modules/clients/src/test/keystore/generate.sh | 26 +- .../ignite/codegen/MessageCodeGenerator.java | 6 +- modules/core/pom.xml | 56 +- .../org/apache/ignite/IgniteFileSystem.java | 24 +- .../apache/ignite/IgniteSystemProperties.java | 35 +- .../org/apache/ignite/IgniteTransactions.java | 2 +- .../apache/ignite/cache/CacheInterceptor.java | 34 +- .../ignite/cache/CacheInterceptorAdapter.java | 12 +- .../org/apache/ignite/cache/CacheManager.java | 2 - .../cache/CachePartialUpdateException.java | 3 + .../java/org/apache/ignite/cache/GridCache.java | 2 - .../apache/ignite/cache/IgniteImmutable.java | 45 + .../CacheRendezvousAffinityFunction.java | 13 +- .../eviction/fifo/CacheFifoEvictionPolicy.java | 3 - .../eviction/lru/CacheLruEvictionPolicy.java | 1 - .../ignite/compute/ComputeJobContext.java | 1 - .../configuration/CacheConfiguration.java | 62 +- .../configuration/HadoopConfiguration.java | 17 +- .../configuration/IgniteConfiguration.java | 8 +- .../org/apache/ignite/events/EventType.java | 2 - .../IgfsConcurrentModificationException.java | 29 +- .../ignite/igfs/IgfsCorruptedFileException.java | 16 +- .../igfs/IgfsDirectoryNotEmptyException.java | 56 + .../org/apache/ignite/igfs/IgfsException.java | 16 +- .../ignite/igfs/IgfsFileNotFoundException.java | 44 - .../org/apache/ignite/igfs/IgfsInputStream.java | 2 - .../igfs/IgfsInvalidHdfsVersionException.java | 23 +- .../ignite/igfs/IgfsInvalidPathException.java | 16 +- .../ignite/igfs/IgfsOutOfSpaceException.java | 16 +- .../igfs/IgfsParentNotDirectoryException.java | 20 +- .../igfs/IgfsPathAlreadyExistsException.java | 19 +- .../igfs/IgfsPathIsDirectoryException.java | 56 + .../igfs/IgfsPathIsNotDirectoryException.java | 56 + .../ignite/igfs/IgfsPathNotFoundException.java | 56 + .../igfs/secondary/IgfsSecondaryFileSystem.java | 10 +- .../ignite/internal/AsyncSupportAdapter.java | 16 +- .../ignite/internal/ClusterMetricsSnapshot.java | 1 - .../internal/ComputeTaskInternalFuture.java | 41 +- .../internal/GridEventConsumeHandler.java | 12 +- .../ignite/internal/GridJobContextImpl.java | 6 +- .../ignite/internal/GridJobSessionImpl.java | 2 +- .../ignite/internal/GridKernalContext.java | 24 +- .../ignite/internal/GridKernalContextImpl.java | 62 +- .../ignite/internal/GridKernalGatewayImpl.java | 26 - .../internal/GridMessageListenHandler.java | 11 +- .../ignite/internal/GridTaskSessionImpl.java | 5 +- .../org/apache/ignite/internal/GridTopic.java | 89 +- .../ignite/internal/GridUpdateNotifier.java | 17 +- .../internal/IgniteCodeGeneratingFail.java | 29 + .../ignite/internal/IgniteInternalFuture.java | 79 +- .../apache/ignite/internal/IgniteKernal.java | 35 +- .../ignite/internal/IgniteTransactionsEx.java | 16 - .../org/apache/ignite/internal/IgnitionEx.java | 74 +- .../internal/MarshallerContextAdapter.java | 130 ++ .../ignite/internal/MarshallerContextImpl.java | 81 + .../internal/client/GridClientFuture.java | 9 +- .../balancer/GridClientBalancerAdapter.java | 2 +- .../client/impl/GridClientComputeImpl.java | 2 +- .../client/impl/GridClientDataImpl.java | 2 +- .../client/impl/GridClientFutureAdapter.java | 23 +- .../GridClientConnectionManagerAdapter.java | 2 +- .../connection/GridClientNioTcpConnection.java | 5 +- .../GridClientOptimizedMarshaller.java | 42 +- .../impl/GridRouterCommandLineStartup.java | 2 +- .../impl/GridTcpRouterNioListenerAdapter.java | 2 +- .../internal/cluster/IgniteClusterImpl.java | 9 +- .../internal/direct/DirectByteBufferStream.java | 62 +- .../internal/direct/DirectMessageWriter.java | 7 + .../direct/DirectMessageWriterState.java | 3 + .../internal/executor/GridExecutorService.java | 2 +- .../igfs/common/IgfsControlResponse.java | 5 +- .../internal/igfs/common/IgfsMarshaller.java | 1 - .../internal/managers/GridManagerAdapter.java | 35 +- .../managers/communication/GridIoManager.java | 131 +- .../communication/GridIoMessageFactory.java | 89 +- .../managers/communication/GridIoPolicy.java | 5 +- .../discovery/GridDiscoveryManager.java | 10 +- .../eventstorage/GridEventStorageManager.java | 6 +- .../loadbalancer/GridLoadBalancerManager.java | 3 - .../affinity/GridAffinityAssignmentCache.java | 32 +- .../affinity/GridAffinityMessage.java | 13 +- .../affinity/GridAffinityProcessor.java | 37 +- .../cache/CacheEntryInfoCollection.java | 111 ++ .../processors/cache/CacheEntryPredicate.java | 45 + .../cache/CacheEntryPredicateAdapter.java | 88 + .../cache/CacheEntryPredicateContainsValue.java | 132 ++ .../cache/CacheEntryPredicateHasValue.java | 31 + .../cache/CacheEntryPredicateNoValue.java | 31 + .../cache/CacheEntrySerializablePredicate.java | 152 ++ .../processors/cache/CacheEvictionEntry.java | 182 ++ .../cache/CacheInvokeDirectResult.java | 213 +++ .../processors/cache/CacheInvokeEntry.java | 79 +- .../processors/cache/CacheInvokeResult.java | 12 +- .../processors/cache/CacheLazyEntry.java | 133 ++ .../internal/processors/cache/CacheObject.java | 73 + .../processors/cache/CacheObjectAdapter.java | 118 ++ .../cache/CacheObjectByteArrayImpl.java | 156 ++ .../processors/cache/CacheObjectContext.java | 130 ++ .../processors/cache/CacheObjectImpl.java | 120 ++ .../processors/cache/CachePeekModes.java | 28 + .../processors/cache/CacheProjection.java | 140 +- .../cache/CacheStoreBalancingWrapper.java | 2 + .../processors/cache/EvictableEntryImpl.java | 33 +- .../processors/cache/GridCacheAdapter.java | 1631 ++++++++--------- .../cache/GridCacheAffinityManager.java | 22 +- .../processors/cache/GridCacheAtomicFuture.java | 4 +- .../cache/GridCacheBatchSwapEntry.java | 27 +- .../cache/GridCacheClearAllRunnable.java | 28 +- .../cache/GridCacheConcurrentMap.java | 356 ++-- .../processors/cache/GridCacheContext.java | 493 +++--- .../GridCacheDefaultAffinityKeyMapper.java | 47 +- .../cache/GridCacheDeploymentManager.java | 126 +- .../processors/cache/GridCacheEntryEx.java | 202 +-- .../processors/cache/GridCacheEntryInfo.java | 337 ++-- .../GridCacheEntryInfoCollectSwapListener.java | 56 +- .../processors/cache/GridCacheEventManager.java | 121 +- .../cache/GridCacheEvictionManager.java | 255 ++- .../cache/GridCacheEvictionRequest.java | 46 +- .../cache/GridCacheEvictionResponse.java | 27 +- .../cache/GridCacheExplicitLockSpan.java | 40 +- .../cache/GridCacheFilterFailedException.java | 8 +- .../processors/cache/GridCacheGateway.java | 6 + .../processors/cache/GridCacheIoManager.java | 125 +- .../processors/cache/GridCacheKeySet.java | 4 +- .../cache/GridCacheManagerAdapter.java | 2 +- .../processors/cache/GridCacheMapEntry.java | 1527 ++++++++-------- .../cache/GridCacheMapEntryFactory.java | 12 +- .../processors/cache/GridCacheMessage.java | 242 ++- .../cache/GridCacheMultiTxFuture.java | 55 +- .../processors/cache/GridCacheMvcc.java | 217 +-- .../processors/cache/GridCacheMvccCallback.java | 12 +- .../cache/GridCacheMvccCandidate.java | 50 +- .../processors/cache/GridCacheMvccFuture.java | 4 +- .../processors/cache/GridCacheMvccManager.java | 223 ++- .../cache/GridCacheOffheapSwapEntry.java | 20 +- .../GridCachePartitionExchangeManager.java | 107 +- .../processors/cache/GridCachePreloader.java | 10 +- .../cache/GridCachePreloaderAdapter.java | 16 +- .../processors/cache/GridCacheProcessor.java | 53 +- .../processors/cache/GridCacheProjectionEx.java | 59 +- .../cache/GridCacheProjectionImpl.java | 612 ++----- .../processors/cache/GridCacheProxyImpl.java | 203 +-- .../processors/cache/GridCacheReturn.java | 317 +++- .../cache/GridCacheSharedContext.java | 44 +- .../processors/cache/GridCacheStoreManager.java | 210 +-- .../processors/cache/GridCacheSwapEntry.java | 16 +- .../cache/GridCacheSwapEntryImpl.java | 60 +- .../processors/cache/GridCacheSwapListener.java | 5 +- .../processors/cache/GridCacheSwapManager.java | 733 +++++--- .../processors/cache/GridCacheTtlManager.java | 26 +- .../cache/GridCacheUpdateAtomicResult.java | 27 +- .../cache/GridCacheUpdateTxResult.java | 8 +- .../processors/cache/GridCacheUtils.java | 231 ++- .../processors/cache/GridCacheValueBytes.java | 194 -- .../cache/GridCacheValueCollection.java | 4 +- .../cache/GridCacheWriteBehindStore.java | 4 +- .../cache/IgniteCacheExpiryPolicy.java | 8 +- .../IgniteCacheOsSerializationManager.java | 48 - .../processors/cache/IgniteCacheProxy.java | 6 +- .../processors/cache/KeyCacheObject.java | 33 + .../processors/cache/KeyCacheObjectImpl.java | 132 ++ .../cache/affinity/GridCacheAffinityImpl.java | 10 +- .../CacheDataStructuresManager.java | 14 +- .../distributed/GridCacheCommittedTxInfo.java | 10 +- ...ridCacheOptimisticCheckPreparedTxFuture.java | 40 +- ...idCacheOptimisticCheckPreparedTxRequest.java | 4 +- ...dCacheOptimisticCheckPreparedTxResponse.java | 2 +- .../distributed/GridCacheTtlUpdateRequest.java | 75 +- .../distributed/GridCacheTxFinishSync.java | 2 +- .../distributed/GridDistributedBaseMessage.java | 28 +- .../GridDistributedCacheAdapter.java | 56 +- .../distributed/GridDistributedCacheEntry.java | 154 +- .../distributed/GridDistributedLockRequest.java | 73 +- .../GridDistributedLockResponse.java | 93 +- .../GridDistributedTxFinishRequest.java | 83 +- .../GridDistributedTxFinishResponse.java | 2 +- .../distributed/GridDistributedTxMapping.java | 38 +- .../GridDistributedTxPrepareRequest.java | 273 ++- .../GridDistributedTxPrepareResponse.java | 14 +- .../GridDistributedTxRemoteAdapter.java | 168 +- .../GridDistributedUnlockRequest.java | 52 +- .../IgniteExternalizableExpiryPolicy.java | 12 +- .../dht/GridClientPartitionTopology.java | 24 +- .../dht/GridDhtAffinityAssignmentRequest.java | 2 +- .../dht/GridDhtAffinityAssignmentResponse.java | 6 +- .../dht/GridDhtAssignmentFetchFuture.java | 31 +- .../cache/distributed/dht/GridDhtCache.java | 2 +- .../distributed/dht/GridDhtCacheAdapter.java | 195 +- .../distributed/dht/GridDhtCacheEntry.java | 134 +- .../distributed/dht/GridDhtEmbeddedFuture.java | 40 +- .../distributed/dht/GridDhtFinishedFuture.java | 22 +- .../cache/distributed/dht/GridDhtGetFuture.java | 133 +- .../distributed/dht/GridDhtLocalPartition.java | 56 +- .../distributed/dht/GridDhtLockFuture.java | 127 +- .../distributed/dht/GridDhtLockRequest.java | 69 +- .../distributed/dht/GridDhtLockResponse.java | 77 +- .../dht/GridDhtPartitionTopology.java | 20 +- .../dht/GridDhtPartitionTopologyImpl.java | 48 +- .../dht/GridDhtTransactionalCacheAdapter.java | 309 ++-- .../distributed/dht/GridDhtTxFinishFuture.java | 66 +- .../distributed/dht/GridDhtTxFinishRequest.java | 52 +- .../dht/GridDhtTxFinishResponse.java | 2 +- .../cache/distributed/dht/GridDhtTxLocal.java | 67 +- .../distributed/dht/GridDhtTxLocalAdapter.java | 203 +-- .../cache/distributed/dht/GridDhtTxMapping.java | 4 +- .../distributed/dht/GridDhtTxPrepareFuture.java | 295 ++-- .../dht/GridDhtTxPrepareRequest.java | 158 +- .../dht/GridDhtTxPrepareResponse.java | 84 +- .../cache/distributed/dht/GridDhtTxRemote.java | 53 +- .../distributed/dht/GridDhtUnlockRequest.java | 46 +- .../distributed/dht/GridNoStorageCacheMap.java | 29 +- .../dht/GridPartitionedGetFuture.java | 162 +- .../dht/atomic/GridDhtAtomicCache.java | 693 ++++---- .../dht/atomic/GridDhtAtomicCacheEntry.java | 13 +- .../GridDhtAtomicDeferredUpdateResponse.java | 2 +- .../dht/atomic/GridDhtAtomicUpdateFuture.java | 88 +- .../dht/atomic/GridDhtAtomicUpdateRequest.java | 222 +-- .../dht/atomic/GridDhtAtomicUpdateResponse.java | 66 +- .../dht/atomic/GridNearAtomicUpdateFuture.java | 206 ++- .../dht/atomic/GridNearAtomicUpdateRequest.java | 240 +-- .../atomic/GridNearAtomicUpdateResponse.java | 142 +- .../dht/colocated/GridDhtColocatedCache.java | 215 +-- .../colocated/GridDhtColocatedCacheEntry.java | 13 +- .../colocated/GridDhtColocatedLockFuture.java | 183 +- .../colocated/GridDhtDetachedCacheEntry.java | 30 +- .../dht/preloader/GridDhtForceKeysFuture.java | 83 +- .../dht/preloader/GridDhtForceKeysRequest.java | 45 +- .../dht/preloader/GridDhtForceKeysResponse.java | 63 +- .../GridDhtPartitionDemandMessage.java | 8 +- .../preloader/GridDhtPartitionDemandPool.java | 116 +- .../GridDhtPartitionSupplyMessage.java | 93 +- .../preloader/GridDhtPartitionSupplyPool.java | 81 +- .../GridDhtPartitionsAbstractMessage.java | 2 +- .../GridDhtPartitionsExchangeFuture.java | 122 +- .../preloader/GridDhtPartitionsFullMessage.java | 6 +- .../GridDhtPartitionsSingleMessage.java | 6 +- .../GridDhtPartitionsSingleRequest.java | 2 +- .../dht/preloader/GridDhtPreloader.java | 84 +- .../preloader/GridDhtPreloaderAssignments.java | 8 +- .../distributed/near/CacheVersionedValue.java | 169 ++ .../distributed/near/GridNearAtomicCache.java | 151 +- .../distributed/near/GridNearCacheAdapter.java | 180 +- .../distributed/near/GridNearCacheEntry.java | 142 +- .../distributed/near/GridNearGetFuture.java | 186 +- .../distributed/near/GridNearGetRequest.java | 106 +- .../distributed/near/GridNearGetResponse.java | 37 +- .../distributed/near/GridNearLockFuture.java | 206 +-- .../distributed/near/GridNearLockMapping.java | 23 +- .../distributed/near/GridNearLockRequest.java | 50 +- .../distributed/near/GridNearLockResponse.java | 12 +- .../near/GridNearTransactionalCache.java | 141 +- .../near/GridNearTxFinishFuture.java | 59 +- .../near/GridNearTxFinishRequest.java | 38 +- .../near/GridNearTxFinishResponse.java | 6 +- .../cache/distributed/near/GridNearTxLocal.java | 295 ++-- .../near/GridNearTxPrepareFuture.java | 192 +- .../near/GridNearTxPrepareRequest.java | 64 +- .../near/GridNearTxPrepareResponse.java | 177 +- .../distributed/near/GridNearTxRemote.java | 66 +- .../distributed/near/GridNearUnlockRequest.java | 2 +- .../cache/dr/GridCacheDrExpirationInfo.java | 23 +- .../processors/cache/dr/GridCacheDrInfo.java | 28 +- .../processors/cache/dr/GridCacheDrManager.java | 10 +- .../cache/dr/os/GridOsCacheDrManager.java | 10 +- .../extras/GridCacheAttributesEntryExtras.java | 24 +- .../GridCacheAttributesMvccEntryExtras.java | 30 +- ...dCacheAttributesMvccObsoleteEntryExtras.java | 30 +- ...cheAttributesMvccObsoleteTtlEntryExtras.java | 30 +- .../GridCacheAttributesMvccTtlEntryExtras.java | 30 +- .../GridCacheAttributesObsoleteEntryExtras.java | 26 +- ...idCacheAttributesObsoleteTtlEntryExtras.java | 26 +- .../GridCacheAttributesTtlEntryExtras.java | 26 +- .../cache/extras/GridCacheEntryExtras.java | 16 +- .../extras/GridCacheEntryExtrasAdapter.java | 8 +- .../cache/extras/GridCacheMvccEntryExtras.java | 24 +- .../GridCacheMvccObsoleteEntryExtras.java | 26 +- .../GridCacheMvccObsoleteTtlEntryExtras.java | 26 +- .../extras/GridCacheMvccTtlEntryExtras.java | 26 +- .../extras/GridCacheObsoleteEntryExtras.java | 18 +- .../extras/GridCacheObsoleteTtlEntryExtras.java | 20 +- .../cache/extras/GridCacheTtlEntryExtras.java | 18 +- .../cache/jta/CacheJtaManagerAdapter.java | 2 +- .../cache/jta/CacheNoopJtaManager.java | 2 +- .../processors/cache/local/GridLocalCache.java | 62 +- .../cache/local/GridLocalCacheEntry.java | 85 +- .../cache/local/GridLocalLockCallback.java | 9 +- .../cache/local/GridLocalLockFuture.java | 57 +- .../processors/cache/local/GridLocalTx.java | 206 --- .../cache/local/GridLocalTxFuture.java | 351 ---- .../local/atomic/GridLocalAtomicCache.java | 351 ++-- .../GridCacheDistributedFieldsQueryFuture.java | 10 +- .../query/GridCacheDistributedQueryFuture.java | 10 +- .../query/GridCacheDistributedQueryManager.java | 42 +- .../query/GridCacheFieldsQueryErrorFuture.java | 53 - .../query/GridCacheLocalFieldsQueryFuture.java | 10 +- .../cache/query/GridCacheLocalQueryFuture.java | 18 +- .../cache/query/GridCacheQueriesImpl.java | 17 - .../cache/query/GridCacheQueryAdapter.java | 16 - .../cache/query/GridCacheQueryErrorFuture.java | 5 +- .../query/GridCacheQueryFutureAdapter.java | 14 +- .../cache/query/GridCacheQueryInfo.java | 14 - .../cache/query/GridCacheQueryManager.java | 145 +- .../cache/query/GridCacheQueryRequest.java | 66 +- .../cache/query/GridCacheQueryResponse.java | 6 +- .../continuous/CacheContinuousQueryEntry.java | 273 +-- .../continuous/CacheContinuousQueryEvent.java | 41 +- .../continuous/CacheContinuousQueryHandler.java | 88 +- .../continuous/CacheContinuousQueryManager.java | 158 +- .../jdbc/GridCacheQueryJdbcMetadataTask.java | 12 +- .../query/jdbc/GridCacheQueryJdbcTask.java | 12 +- .../IgniteCacheSerializationManager.java | 51 - .../cache/transactions/IgniteInternalTx.java | 56 +- .../transactions/IgniteTransactionsImpl.java | 36 +- .../cache/transactions/IgniteTxAdapter.java | 164 +- .../cache/transactions/IgniteTxEntry.java | 700 +++----- .../cache/transactions/IgniteTxHandler.java | 263 +-- .../cache/transactions/IgniteTxKey.java | 99 +- .../transactions/IgniteTxLocalAdapter.java | 1133 ++++++------ .../cache/transactions/IgniteTxLocalEx.java | 56 +- .../cache/transactions/IgniteTxManager.java | 390 ++-- .../cache/transactions/IgniteTxMap.java | 40 +- .../cache/transactions/IgniteTxRemoteEx.java | 4 +- .../transactions/TransactionProxyImpl.java | 16 +- .../cache/transactions/TxEntryValueHolder.java | 237 +++ .../version/GridCacheRawVersionedEntry.java | 245 ++- .../cache/version/GridCacheVersion.java | 12 +- .../cache/version/GridCacheVersionEx.java | 66 +- .../cache/version/GridCacheVersionManager.java | 2 +- .../cacheobject/IgniteCacheObjectProcessor.java | 160 ++ .../IgniteCacheObjectProcessorImpl.java | 347 ++++ .../processors/cacheobject/package.html | 24 + .../processors/clock/GridClockMessage.java | 1 - .../clock/GridClockSyncProcessor.java | 2 +- .../closure/GridClosureProcessor.java | 245 +-- .../continuous/GridContinuousHandler.java | 9 +- .../continuous/GridContinuousMessage.java | 43 +- .../continuous/GridContinuousProcessor.java | 78 +- .../dataload/GridDataLoadCacheUpdaters.java | 13 +- .../dataload/GridDataLoadRequest.java | 33 +- .../dataload/GridDataLoadUpdateJob.java | 47 +- .../dataload/GridDataLoaderFuture.java | 13 - .../dataload/GridDataLoaderProcessor.java | 21 +- .../dataload/IgniteDataLoaderEntry.java | 170 ++ .../dataload/IgniteDataLoaderImpl.java | 374 ++-- .../datastructures/DataStructuresProcessor.java | 43 +- .../GridCacheAtomicSequenceImpl.java | 4 +- .../datastructures/GridCacheSetImpl.java | 4 +- .../dr/GridDrDataLoadCacheUpdater.java | 27 +- .../processors/hadoop/HadoopNoopProcessor.java | 2 +- .../processors/igfs/IgfsDataManager.java | 33 +- .../processors/igfs/IgfsDeleteWorker.java | 2 +- .../igfs/IgfsDirectoryNotEmptyException.java | 44 - .../internal/processors/igfs/IgfsFileImpl.java | 7 + .../internal/processors/igfs/IgfsFileInfo.java | 3 +- .../internal/processors/igfs/IgfsImpl.java | 615 +++---- .../processors/igfs/IgfsInputStreamImpl.java | 10 +- .../processors/igfs/IgfsIpcHandler.java | 4 +- .../processors/igfs/IgfsMetaManager.java | 47 +- .../processors/igfs/IgfsOutputStreamImpl.java | 2 +- .../internal/processors/igfs/IgfsServer.java | 6 +- .../internal/processors/igfs/IgfsUtils.java | 86 + .../processors/job/GridJobProcessor.java | 4 +- .../offheap/GridOffHeapProcessor.java | 9 +- .../portable/GridPortableProcessor.java | 142 -- .../portable/os/GridOsPortableProcessor.java | 120 -- .../processors/portable/os/package.html | 24 - .../processors/query/GridQueryProcessor.java | 30 +- .../resource/GridNoImplicitInjection.java | 25 + .../processors/resource/GridResourceField.java | 15 +- .../processors/resource/GridResourceIoc.java | 90 +- .../processors/resource/GridResourceMethod.java | 3 + .../resource/GridResourceProcessor.java | 57 +- .../resource/GridResourceServiceInjector.java | 2 +- .../processors/resource/GridResourceUtils.java | 4 +- .../processors/rest/GridRestProcessor.java | 14 +- .../processors/rest/GridRestResponse.java | 1 - .../message/GridClientAbstractMessage.java | 1 - .../message/GridClientHandshakeRequest.java | 1 - .../handlers/cache/GridCacheCommandHandler.java | 52 +- .../cache/GridCacheQueryCommandHandler.java | 4 +- .../DataStructuresCommandHandler.java | 4 +- .../handlers/task/GridTaskCommandHandler.java | 9 +- .../top/GridTopologyCommandHandler.java | 4 +- .../version/GridVersionCommandHandler.java | 2 +- .../protocols/tcp/GridMemcachedMessage.java | 1 - .../tcp/GridTcpMemcachedNioListener.java | 6 +- .../protocols/tcp/GridTcpRestNioListener.java | 9 +- .../rest/protocols/tcp/GridTcpRestParser.java | 6 +- .../rest/protocols/tcp/GridTcpRestProtocol.java | 9 - .../rest/request/GridRestRequest.java | 17 - .../rest/request/GridRestTaskRequest.java | 17 - .../service/GridServiceDeploymentFuture.java | 6 +- .../service/GridServiceProcessor.java | 10 +- .../processors/service/GridServiceProxy.java | 2 +- .../streamer/GridStreamerExecutionBatch.java | 12 +- .../GridStreamerStageExecutionFuture.java | 29 +- .../processors/streamer/IgniteStreamerImpl.java | 23 +- .../processors/task/GridTaskProcessor.java | 31 +- .../org/apache/ignite/internal/util/F0.java | 147 ++ .../internal/util/GridConcurrentFactory.java | 59 - .../internal/util/GridIdentityHashSet.java | 63 - .../internal/util/GridLeanIdentitySet.java | 117 ++ .../ignite/internal/util/GridLeanMap.java | 2 +- .../internal/util/GridSerializableFuture.java | 28 - .../ignite/internal/util/GridThreadLocal.java | 175 -- .../ignite/internal/util/GridThreadLocalEx.java | 210 --- .../ignite/internal/util/IgniteUtils.java | 154 +- .../util/future/GridCompoundFuture.java | 49 +- .../util/future/GridCompoundIdentityFuture.java | 15 +- .../util/future/GridEmbeddedFuture.java | 74 +- .../util/future/GridFinishedFuture.java | 158 +- .../util/future/GridFinishedFutureEx.java | 197 --- .../internal/util/future/GridFutureAdapter.java | 360 +--- .../util/future/GridFutureAdapterEx.java | 517 ------ .../util/future/GridFutureChainListener.java | 18 +- .../util/future/IgniteFinishedFutureImpl.java | 27 +- .../util/future/IgniteFinishedFutureImplEx.java | 30 - .../internal/util/future/IgniteFutureImpl.java | 31 +- .../internal/util/io/GridFilenameUtils.java | 2 +- .../internal/util/lang/GridAbsClosure.java | 2 - .../ignite/internal/util/lang/GridFunc.java | 144 +- .../ignite/internal/util/lang/GridMapEntry.java | 2 +- .../util/lang/GridMetadataAwareAdapter.java | 71 +- .../internal/util/lang/GridPlainFuture.java | 79 - .../util/lang/GridPlainFutureAdapter.java | 299 ---- .../nio/GridConnectionBytesVerifyFilter.java | 1 - .../util/nio/GridNioEmbeddedFuture.java | 9 +- .../util/nio/GridNioFinishedFuture.java | 77 +- .../ignite/internal/util/nio/GridNioFuture.java | 84 +- .../internal/util/nio/GridNioFutureImpl.java | 279 +-- .../ignite/internal/util/nio/GridNioServer.java | 4 +- .../util/nio/GridTcpCommunicationClient.java | 1 - .../util/nio/GridTcpNioCommunicationClient.java | 18 +- .../util/offheap/unsafe/GridUnsafeMemory.java | 26 +- .../ignite/internal/util/worker/GridWorker.java | 27 - .../internal/util/worker/GridWorkerFuture.java | 17 - .../visor/cache/VisorCacheClearTask.java | 8 +- .../visor/cache/VisorCacheCompactTask.java | 29 +- .../visor/cache/VisorCacheConfiguration.java | 11 - .../visor/node/VisorGridConfiguration.java | 6 +- .../visor/node/VisorIgfsConfiguration.java | 2 +- .../org/apache/ignite/lang/IgniteFuture.java | 67 +- .../ignite/lang/IgniteProductVersion.java | 1 - .../java/org/apache/ignite/lang/IgniteUuid.java | 13 +- .../ignite/marshaller/AbstractMarshaller.java | 8 + .../apache/ignite/marshaller/Marshaller.java | 7 + .../ignite/marshaller/MarshallerContext.java | 42 + .../optimized/OptimizedClassDescriptor.java | 463 ++--- .../optimized/OptimizedClassResolver.java | 477 ----- .../optimized/OptimizedMarshallable.java | 65 - .../optimized/OptimizedMarshaller.java | 148 +- .../optimized/OptimizedMarshallerIdMapper.java | 33 + .../optimized/OptimizedMarshallerUtils.java | 298 ++-- .../optimized/OptimizedObjectInputStream.java | 152 +- .../optimized/OptimizedObjectOutputStream.java | 99 +- .../optimized-classnames.previous.properties | 15 - .../optimized/optimized-classnames.properties | 116 -- .../extensions/communication/MessageWriter.java | 11 + .../security/GridSecurityCredentials.java | 1 - .../org/apache/ignite/spi/IgniteSpiAdapter.java | 18 - .../org/apache/ignite/spi/IgniteSpiContext.java | 43 - .../communication/tcp/TcpCommunicationSpi.java | 29 +- .../spi/discovery/tcp/TcpDiscoverySpi.java | 2 +- .../tcp/internal/TcpDiscoveryNode.java | 1 - .../TcpDiscoveryMulticastIpFinder.java | 1 - .../messages/TcpDiscoveryAuthFailedMessage.java | 1 - .../messages/TcpDiscoveryHeartbeatMessage.java | 1 - .../apache/ignite/transactions/Transaction.java | 6 +- .../org/jdk8/backport/ConcurrentHashMap8.java | 14 +- .../META-INF/classnames-jdk.properties | 371 ++++ .../resources/META-INF/classnames.properties | 1619 +++++++++++++++++ .../core/src/main/resources/ignite.properties | 2 +- .../src/test/config/io-manager-benchmark.xml | 12 - modules/core/src/test/config/jobs-load-base.xml | 11 - .../core/src/test/config/load/dsi-load-base.xml | 16 - .../IgniteExternalizableAbstractTest.java | 9 +- ...eJdbcStoreAbstractMultithreadedSelfTest.java | 11 +- .../igfs/IgfsFragmentizerAbstractSelfTest.java | 4 +- .../ignite/internal/GridAffinitySelfTest.java | 3 +- .../internal/GridMultipleJobsSelfTest.java | 2 +- .../GridTaskFutureImplStopGridSelfTest.java | 2 +- .../internal/GridTaskListenerSelfTest.java | 2 +- .../internal/GridUpdateNotifierSelfTest.java | 16 + .../GridCommunicationSendMessageSelfTest.java | 2 +- .../cache/GridCacheAbstractFullApiSelfTest.java | 86 +- .../cache/GridCacheAbstractMetricsSelfTest.java | 8 +- .../cache/GridCacheAffinityRoutingSelfTest.java | 6 - .../GridCacheAsyncOperationsLimitSelfTest.java | 3 +- .../GridCacheConcurrentTxMultiNodeTest.java | 8 +- .../cache/GridCacheDeploymentSelfTest.java | 5 +- .../cache/GridCacheEntryMemorySizeSelfTest.java | 12 +- .../cache/GridCacheEntryVersionSelfTest.java | 4 +- .../GridCacheExAbstractFullApiSelfTest.java | 2 +- .../GridCacheFinishPartitionsSelfTest.java | 12 +- .../GridCacheInterceptorAbstractSelfTest.java | 186 +- .../processors/cache/GridCacheLeakTest.java | 2 +- .../cache/GridCacheLifecycleAwareSelfTest.java | 10 +- .../cache/GridCacheMemoryModeSelfTest.java | 8 +- .../cache/GridCacheMvccFlagsTest.java | 8 +- .../cache/GridCacheMvccPartitionedSelfTest.java | 128 +- .../processors/cache/GridCacheMvccSelfTest.java | 232 +-- .../cache/GridCacheObjectToStringSelfTest.java | 2 +- .../cache/GridCacheOffHeapSelfTest.java | 6 +- .../GridCacheOnCopyFlagAbstractSelfTest.java | 688 ++++++++ .../GridCacheOnCopyFlagAtomicSelfTest.java | 38 + .../cache/GridCacheOnCopyFlagLocalSelfTest.java | 38 + .../GridCacheOnCopyFlagReplicatedSelfTest.java | 38 + ...ridCacheOnCopyFlagTxPartitionedSelfTest.java | 38 + .../cache/GridCachePutAllFailoverSelfTest.java | 7 +- .../GridCacheReferenceCleanupSelfTest.java | 2 +- .../GridCacheReturnValueTransferSelfTest.java | 1 + .../cache/GridCacheStoreValueBytesSelfTest.java | 24 +- .../cache/GridCacheSwapPreloadSelfTest.java | 6 +- .../processors/cache/GridCacheTestEntryEx.java | 290 +-- ...cheTransactionalAbstractMetricsSelfTest.java | 7 + .../cache/GridCacheTtlManagerLoadTest.java | 2 +- .../GridCacheValueBytesPreloadingSelfTest.java | 2 +- .../cache/GridCacheVersionMultinodeTest.java | 2 +- .../cache/GridCacheVersionSelfTest.java | 3 + ...IgniteCacheAtomicCopyOnReadDisabledTest.java | 32 + .../IgniteCacheContainsKeyAbstractSelfTest.java | 4 +- ...niteCacheCopyOnReadDisabledAbstractTest.java | 123 ++ .../IgniteCacheInterceptorSelfTestSuite.java | 5 + .../IgniteCacheTxCopyOnReadDisabledTest.java | 32 + .../cache/IgnitePutAllLargeBatchSelfTest.java | 6 +- ...tAllUpdateNonPreloadedPartitionSelfTest.java | 6 +- .../IgniteTxConcurrentGetAbstractTest.java | 4 +- .../cache/IgniteTxMultiNodeAbstractTest.java | 4 +- .../IgniteTxStoreExceptionAbstractSelfTest.java | 8 +- ...actQueueFailoverDataConsistencySelfTest.java | 2 +- .../GridCacheQueueCleanupSelfTest.java | 2 +- .../GridCacheSetAbstractSelfTest.java | 4 +- .../GridCacheSetFailoverAbstractSelfTest.java | 4 +- .../IgnitePartitionedSetNoBackupsSelfTest.java | 2 +- .../GridCacheAbstractJobExecutionTest.java | 2 +- .../distributed/GridCacheEventAbstractTest.java | 29 +- .../distributed/GridCacheLockAbstractTest.java | 2 + ...chePartitionedReloadAllAbstractSelfTest.java | 61 +- .../IgniteCacheSystemTransactionsSelfTest.java | 188 ++ .../dht/GridCacheAtomicNearCacheSelfTest.java | 12 +- .../dht/GridCacheColocatedDebugTest.java | 6 +- .../dht/GridCacheDhtEntrySelfTest.java | 12 +- ...GridCacheDhtEvictionNearReadersSelfTest.java | 12 +- .../dht/GridCacheDhtEvictionSelfTest.java | 20 +- .../dht/GridCacheDhtInternalEntrySelfTest.java | 4 +- .../dht/GridCacheDhtPreloadDelayedSelfTest.java | 4 +- .../GridCacheDhtPreloadDisabledSelfTest.java | 4 +- .../dht/GridCacheDhtPreloadSelfTest.java | 8 +- .../GridCacheDhtPreloadStartStopSelfTest.java | 4 +- .../distributed/dht/GridCacheDhtTestUtils.java | 25 +- ...ridCachePartitionedUnloadEventsSelfTest.java | 6 +- ...eAtomicInvalidPartitionHandlingSelfTest.java | 7 +- .../atomic/GridCacheAtomicPreloadSelfTest.java | 2 +- ...yOnReadDisabledMultiNodeFullApiSelfTest.java | 36 + .../near/GridCacheNearMultiNodeSelfTest.java | 12 +- .../near/GridCacheNearOneNodeSelfTest.java | 2 +- ...idCacheNearOnlyMultiNodeFullApiSelfTest.java | 14 +- .../near/GridCacheNearReadersSelfTest.java | 21 +- ...yOnReadDisabledMultiNodeFullApiSelfTest.java | 37 + ...achePartitionedMultiNodeCounterSelfTest.java | 18 +- ...achePartitionedMultiNodeFullApiSelfTest.java | 15 +- .../GridCachePartitionedTxSalvageSelfTest.java | 2 +- .../GridCacheReplicatedFullApiSelfTest.java | 1 + .../GridCacheReplicatedPreloadSelfTest.java | 4 +- .../cache/eviction/GridCacheMockEntry.java | 5 +- .../IgniteCacheExpiryPolicyAbstractTest.java | 4 +- ...eCacheExpiryPolicyWithStoreAbstractTest.java | 2 +- .../query/GridCacheSwapScanQuerySelfTest.java | 1 + ...dCacheAbstractReduceFieldsQuerySelfTest.java | 21 +- .../continuous/GridEventConsumeSelfTest.java | 3 +- .../dataload/GridDataLoaderImplSelfTest.java | 7 - .../dataload/GridDataLoaderPerformanceTest.java | 2 - .../GridDataLoaderProcessorSelfTest.java | 52 +- .../processors/igfs/IgfsAbstractSelfTest.java | 59 +- .../igfs/IgfsDataManagerSelfTest.java | 6 +- .../igfs/IgfsDualAbstractSelfTest.java | 18 +- .../processors/igfs/IgfsFileInfoSelfTest.java | 2 + .../processors/igfs/IgfsSizeSelfTest.java | 17 - .../cache/GridCacheCommandHandlerSelfTest.java | 42 +- .../streamer/GridStreamerEvictionSelfTest.java | 1 - .../streamer/GridStreamerFailoverSelfTest.java | 2 +- .../util/future/GridCompoundFutureSelfTest.java | 30 +- .../util/future/GridEmbeddedFutureSelfTest.java | 13 +- .../util/future/GridFinishedFutureSelfTest.java | 103 -- .../util/future/GridFutureAdapterSelfTest.java | 115 +- .../future/GridFutureListenPerformanceTest.java | 22 +- .../util/future/IgniteFutureImplTest.java | 99 +- .../util/future/nio/GridNioFutureSelfTest.java | 8 +- .../internal/util/nio/GridNioSelfTest.java | 18 +- .../nio/impl/GridNioFilterChainSelfTest.java | 7 +- .../ignite/jvmtest/ConcurrentMapTest.java | 5 +- .../lang/GridFutureListenPerformanceTest.java | 2 +- .../lang/GridMetadataAwareAdapterSelfTest.java | 80 +- .../lang/utils/GridLeanIdentitySetSelfTest.java | 62 + .../loadtests/colocation/GridTestMain.java | 2 +- .../loadtests/hashmap/GridCacheTestContext.java | 29 +- .../loadtests/hashmap/GridHashMapLoadTest.java | 10 +- ...GridJobExecutionLoadTestClientSemaphore.java | 2 +- ...JobExecutionSingleNodeSemaphoreLoadTest.java | 2 +- .../mergesort/GridMergeSortLoadTask.java | 2 +- .../marshaller/GridMarshallerAbstractTest.java | 15 +- .../GridMarshallerPerformanceTest.java | 2 - .../marshaller/MarshallerContextTestImpl.java | 43 + .../jdk/GridJdkMarshallerSelfTest.java | 2 +- .../OptimizedMarshallerEnumSelfTest.java | 4 +- .../optimized/OptimizedMarshallerSelfTest.java | 186 +- .../optimized/OptimizedMarshallerTest.java | 102 +- .../OptimizedObjectStreamSelfTest.java | 43 +- .../ignite/messaging/GridMessagingSelfTest.java | 15 +- .../communication/GridCacheMessageSelfTest.java | 546 ++++++ .../discovery/AbstractDiscoverySelfTest.java | 1 - .../GridCacheStoreValueBytesNode.java | 2 - .../GridCacheStoreValueBytesTest.java | 4 +- .../testframework/GridSpiTestContext.java | 18 - .../ignite/testframework/GridTestUtils.java | 75 +- .../testframework/junits/GridAbstractTest.java | 7 +- .../junits/GridTestKernalContext.java | 14 +- .../junits/IgniteTestResources.java | 46 +- .../junits/common/GridCommonAbstractTest.java | 2 +- .../IgniteCacheFullApiSelfTestSuite.java | 2 + .../ignite/testsuites/IgniteCacheTestSuite.java | 10 +- .../ignite/testsuites/IgniteIgfsTestSuite.java | 2 + .../testsuites/IgniteKernalSelfTestSuite.java | 2 + .../testsuites/IgniteLangSelfTestSuite.java | 2 +- .../fs/IgniteHadoopIgfsSecondaryFileSystem.java | 15 +- .../hadoop/fs/v1/IgniteHadoopFileSystem.java | 16 +- .../hadoop/fs/v2/IgniteHadoopFileSystem.java | 8 +- .../IgniteHadoopClientProtocolProvider.java | 7 +- .../processors/hadoop/HadoopProcessor.java | 4 +- .../internal/processors/hadoop/HadoopSetup.java | 8 +- .../processors/hadoop/igfs/HadoopIgfsEx.java | 4 +- .../hadoop/igfs/HadoopIgfsFuture.java | 7 +- .../hadoop/igfs/HadoopIgfsInProc.java | 9 +- .../hadoop/igfs/HadoopIgfsInputStream.java | 6 +- .../processors/hadoop/igfs/HadoopIgfsIo.java | 6 +- .../processors/hadoop/igfs/HadoopIgfsIpcIo.java | 5 +- .../hadoop/igfs/HadoopIgfsOutProc.java | 50 +- .../processors/hadoop/igfs/HadoopIgfsUtils.java | 3 +- .../hadoop/jobtracker/HadoopJobTracker.java | 20 +- .../hadoop/proto/HadoopClientProtocol.java | 3 - .../proto/HadoopProtocolJobStatusTask.java | 2 +- .../hadoop/shuffle/HadoopShuffle.java | 4 +- .../hadoop/shuffle/HadoopShuffleJob.java | 16 +- .../external/HadoopExternalTaskExecutor.java | 25 +- .../child/HadoopChildProcessRunner.java | 10 +- .../child/HadoopExternalProcessStarter.java | 4 +- .../HadoopExternalCommunication.java | 7 +- .../HadoopTcpNioCommunicationClient.java | 12 +- .../HadoopClientProtocolEmbeddedSelfTest.java | 3 +- .../hadoop/HadoopClientProtocolSelfTest.java | 2 +- .../java/org/apache/ignite/igfs/IgfsLoad.java | 549 ------ .../processors/hadoop/HadoopGroupingTest.java | 3 +- .../hadoop/HadoopJobTrackerSelfTest.java | 4 +- .../hadoop/HadoopMapReduceEmbeddedSelfTest.java | 3 +- .../hadoop/HadoopSortingExternalTest.java | 13 +- .../processors/hadoop/HadoopSortingTest.java | 3 +- .../hadoop/HadoopTaskExecutionSelfTest.java | 6 +- .../HadoopExternalTaskExecutionSelfTest.java | 13 +- .../HadoopExternalCommunicationSelfTest.java | 4 +- .../ignite/loadtests/igfs/IgfsNodeStartup.java | 48 - .../igfs/IgfsPerformanceBenchmark.java | 281 --- .../testsuites/IgniteHadoopTestSuite.java | 6 +- .../processors/query/h2/IgniteH2Indexing.java | 10 +- .../h2/twostep/GridReduceQueryExecutor.java | 8 +- .../GridCacheAbstractFieldsQuerySelfTest.java | 34 - .../cache/GridCacheAbstractQuerySelfTest.java | 46 +- .../cache/GridCacheCrossCacheQuerySelfTest.java | 17 - .../cache/GridCacheOffHeapAndSwapSelfTest.java | 10 +- .../cache/GridCacheQueryLoadSelfTest.java | 54 +- .../processors/cache/GridCacheSwapSelfTest.java | 7 +- .../processors/cache/jta/CacheJtaManager.java | 6 +- .../cache/jta/GridCacheXAResource.java | 9 +- modules/scalar/pom.xml | 8 + .../scalar/testsuites/ScalarSelfTestSuite.scala | 6 + .../processors/schedule/ScheduleFutureImpl.java | 205 +-- .../schedule/GridScheduleSelfTest.java | 4 +- .../cache/spring/SpringDynamicCacheManager.java | 36 +- .../GridSpringBeanSerializationSelfTest.java | 2 + .../ignite/spring/GridSpringCacheTestKey.java | 4 +- .../ignite/tools/classgen/ClassesGenerator.java | 214 +++ .../optimized/OptimizedClassNamesGenerator.java | 325 ---- .../ignite/visor/commands/VisorConsole.scala | 61 +- .../visor/commands/ack/VisorAckCommand.scala | 4 +- .../commands/cache/VisorCacheCommand.scala | 1 - .../visor/commands/gc/VisorGcCommand.scala | 2 - .../visor/commands/ping/VisorPingCommand.scala | 2 +- .../scala/org/apache/ignite/visor/visor.scala | 34 +- .../commands/tasks/VisorTasksCommandSpec.scala | 5 +- .../IgniteWebSessionSelfTestSuite.java | 6 + modules/yardstick/config/ignite-base-config.xml | 17 - .../yardstick/config/ignite-store-config.xml | 18 - pom.xml | 71 +- .../basic-concepts/async-support.md | 92 + .../basic-concepts/getting-started.md | 235 +++ .../basic-concepts/ignite-life-cycel.md | 122 ++ .../documentation/basic-concepts/maven-setup.md | 85 + .../basic-concepts/what-is-ignite.md | 48 + .../basic-concepts/zero-deployment.md | 73 + wiki/documentation/clustering/aws-config.md | 59 + wiki/documentation/clustering/cluster-config.md | 193 ++ wiki/documentation/clustering/cluster-groups.md | 227 +++ wiki/documentation/clustering/cluster.md | 145 ++ .../documentation/clustering/leader-election.md | 76 + wiki/documentation/clustering/network-config.md | 118 ++ wiki/documentation/clustering/node-local-map.md | 52 + .../documentation/compute-grid/checkpointing.md | 255 +++ .../compute-grid/collocate-compute-and-data.md | 46 + wiki/documentation/compute-grid/compute-grid.md | 73 + .../documentation/compute-grid/compute-tasks.md | 122 ++ .../compute-grid/distributed-closures.md | 124 ++ .../compute-grid/executor-service.md | 40 + .../compute-grid/fault-tolerance.md | 96 + .../compute-grid/job-scheduling.md | 86 + .../compute-grid/load-balancing.md | 76 + .../data-grid/affinity-collocation.md | 95 + .../data-grid/automatic-db-integration.md | 119 ++ wiki/documentation/data-grid/cache-modes.md | 254 +++ wiki/documentation/data-grid/cache-queries.md | 181 ++ wiki/documentation/data-grid/data-grid.md | 85 + wiki/documentation/data-grid/data-loading.md | 94 + wiki/documentation/data-grid/evictions.md | 103 ++ .../data-grid/hibernate-l2-cache.md | 190 ++ wiki/documentation/data-grid/jcache.md | 116 ++ wiki/documentation/data-grid/off-heap-memory.md | 197 +++ .../documentation/data-grid/persistent-store.md | 128 ++ wiki/documentation/data-grid/rebalancing.md | 122 ++ wiki/documentation/data-grid/transactions.md | 144 ++ .../data-grid/web-session-clustering.md | 253 +++ .../distributed-data-structures/atomic-types.md | 114 ++ .../countdownlatch.md | 41 + .../distributed-data-structures/id-generator.md | 57 + .../queue-and-set.md | 133 ++ .../distributed-events/automatic-batching.md | 33 + wiki/documentation/distributed-events/events.md | 118 ++ .../distributed-file-system/igfs.md | 18 + .../distributed-messaging/messaging.md | 90 + wiki/documentation/http/configuration.md | 67 + wiki/documentation/http/rest-api.md | 1663 ++++++++++++++++++ .../release-notes/release-notes.md | 30 + .../service-grid/cluster-singletons.md | 111 ++ .../service-grid/service-configuration.md | 50 + .../service-grid/service-example.md | 111 ++ wiki/documentation/service-grid/service-grid.md | 79 + wiki/licence-prepender.sh | 51 + 825 files changed, 31268 insertions(+), 29746 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00f5d4ee/examples/src/main/java/org/apache/ignite/examples/datagrid/CacheApiExample.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00f5d4ee/modules/clients/src/test/java/org/apache/ignite/internal/client/integration/ClientAbstractMultiNodeSelfTest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00f5d4ee/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00f5d4ee/modules/core/src/main/java/org/apache/ignite/cache/GridCache.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00f5d4ee/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java index 02942d5,7292b5a..ace1f94 --- a/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java @@@ -218,9 -211,15 +218,12 @@@ public class CacheConfiguration<K, V> e /** Default cache start size. */ private int startSize = DFLT_START_SIZE; - /** Default near cache start size. */ - private int nearStartSize = DFLT_NEAR_START_SIZE; - - /** Cache distribution mode. */ - private CacheDistributionMode distro = DFLT_DISTRIBUTION_MODE; + /** Near cache configuration. */ + private NearCacheConfiguration<K, V> nearCfg; + /** Default value for 'copyOnRead' flag. */ + public static final boolean DFLT_COPY_ON_READ = true; + /** Write synchronization mode. */ private CacheWriteSynchronizationMode writeSync; @@@ -323,9 -319,9 +323,12 @@@ /** Collection of type metadata. */ private Collection<CacheTypeMetadata> typeMeta; + /** Node filter specifying nodes on which this cache should be deployed. */ + private IgnitePredicate<ClusterNode> nodeFilter; + + /** Copy on read flag. */ + private boolean cpOnRead = DFLT_COPY_ON_READ; + /** Empty constructor (all values are initialized to their defaults). */ public CacheConfiguration() { /* No-op. */ @@@ -356,8 -352,10 +359,9 @@@ cacheLoaderFactory = cc.getCacheLoaderFactory(); cacheMode = cc.getCacheMode(); cacheWriterFactory = cc.getCacheWriterFactory(); + cpOnRead = cc.isCopyOnRead(); dfltLockTimeout = cc.getDefaultLockTimeout(); dfltQryTimeout = cc.getDefaultQueryTimeout(); - distro = cc.getDistributionMode(); eagerTtl = cc.isEagerTtl(); evictFilter = cc.getEvictionFilter(); evictKeyBufSize = cc.getEvictSynchronizedKeyBufferSize(); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00f5d4ee/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00f5d4ee/modules/core/src/main/java/org/apache/ignite/internal/GridEventConsumeHandler.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00f5d4ee/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00f5d4ee/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00f5d4ee/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00f5d4ee/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00f5d4ee/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00f5d4ee/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageManager.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00f5d4ee/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java index c8a9e1f,8775657..9065ec5 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java @@@ -258,8 -265,8 +261,8 @@@ public class GridAffinityAssignmentCach return null; } - GridFutureAdapter<Long> fut = F.addIfAbsent(readyFuts, topVer, + GridFutureAdapter<AffinityTopologyVersion> fut = F.addIfAbsent(readyFuts, topVer, - new AffinityReadyFuture(ctx.kernalContext(), topVer)); + new AffinityReadyFuture(topVer)); aff = head.get(); @@@ -429,21 -430,11 +426,12 @@@ private static final long serialVersionUID = 0L; /** */ - private long reqTopVer; + private AffinityTopologyVersion reqTopVer; /** - * Empty constructor required by {@link Externalizable}. ++ * */ - public AffinityReadyFuture() { - // No-op. - } - - /** - * @param ctx Kernal context. - */ - private AffinityReadyFuture(GridKernalContext ctx, AffinityTopologyVersion reqTopVer) { - super(ctx); - - private AffinityReadyFuture(long reqTopVer) { ++ private AffinityReadyFuture(AffinityTopologyVersion reqTopVer) { this.reqTopVer = reqTopVer; } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00f5d4ee/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityProcessor.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00f5d4ee/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 a6d2b04,de3f5b7..b6d4ed8 --- 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 @@@ -752,15 -722,15 +717,15 @@@ public abstract class GridCacheAdapter< // Swap and offheap are disabled for near cache. if (modes.primary || modes.backup) { - long topVer = ctx.affinity().affinityTopologyVersion(); + AffinityTopologyVersion topVer = ctx.affinity().affinityTopologyVersion(); - GridCacheSwapManager<K, V> swapMgr = ctx.isNear() ? ctx.near().dht().context().swap() : ctx.swap(); + GridCacheSwapManager swapMgr = ctx.isNear() ? ctx.near().dht().context().swap() : ctx.swap(); if (modes.swap) - its.add(swapMgr.swapIterator(modes.primary, modes.backup, topVer)); + its.add(swapMgr.<K, V>swapIterator(modes.primary, modes.backup, topVer)); if (modes.offheap) - its.add(swapMgr.offheapIterator(modes.primary, modes.backup, topVer)); + its.add(swapMgr.<K, V>offheapIterator(modes.primary, modes.backup, topVer)); } final Iterator<Cache.Entry<K, V>> it = F.flatIterators(its); @@@ -793,15 -763,14 +758,14 @@@ PeekModes modes = parsePeekModes(peekModes); try { - if (ctx.portableEnabled()) - key = (K)ctx.marshalToPortable(key); + KeyCacheObject cacheKey = ctx.toCacheKeyObject(key); - V val = null; + CacheObject cacheVal = null; if (!ctx.isLocal()) { - long topVer = ctx.affinity().affinityTopologyVersion(); + AffinityTopologyVersion topVer = ctx.affinity().affinityTopologyVersion(); - int part = ctx.affinity().partition(key); + int part = ctx.affinity().partition(cacheKey); boolean nearKey; @@@ -904,10 -874,10 +869,10 @@@ assert heap || offheap || swap; if (heap) { - GridCacheEntryEx<K, V> e = peekEx(key); + GridCacheEntryEx e = peekEx(key); if (e != null) - return e.peek(heap, offheap, swap, -1, plc); + return e.peek(heap, offheap, swap, AffinityTopologyVersion.NONE, plc); } if (offheap || swap) { @@@ -1279,8 -1175,8 +1170,8 @@@ * @param key Entry key. * @return Entry (never {@code null}). */ - public GridCacheEntryEx<K, V> entryEx(K key, AffinityTopologyVersion topVer) { - GridCacheEntryEx<K, V> e = entry0(key, topVer, true, false); - public GridCacheEntryEx entryEx(KeyCacheObject key, long topVer) { ++ public GridCacheEntryEx entryEx(KeyCacheObject key, AffinityTopologyVersion topVer) { + GridCacheEntryEx e = entry0(key, topVer, true, false); assert e != null; @@@ -1294,13 -1190,13 +1185,13 @@@ * @param touch Flag to touch created entry (only if entry was actually created). * @return Entry or <tt>null</tt>. */ - @Nullable private GridCacheEntryEx<K, V> entry0(K key, AffinityTopologyVersion topVer, boolean create, boolean touch) { - GridTriple<GridCacheMapEntry<K, V>> t = map.putEntryIfObsoleteOrAbsent(topVer, key, null, - @Nullable private GridCacheEntryEx entry0(KeyCacheObject key, long topVer, boolean create, boolean touch) { ++ @Nullable private GridCacheEntryEx entry0(KeyCacheObject key, AffinityTopologyVersion topVer, boolean create, boolean touch) { + GridTriple<GridCacheMapEntry> t = map.putEntryIfObsoleteOrAbsent(topVer, key, null, ctx.config().getDefaultTimeToLive(), create); - GridCacheEntryEx<K, V> cur = t.get1(); - GridCacheEntryEx<K, V> created = t.get2(); - GridCacheEntryEx<K, V> doomed = t.get3(); + GridCacheEntryEx cur = t.get1(); + GridCacheEntryEx created = t.get2(); + GridCacheEntryEx doomed = t.get3(); if (doomed != null && ctx.events().isRecordable(EVT_CACHE_ENTRY_DESTROYED)) // Event notification. @@@ -1748,31 -1604,22 +1599,22 @@@ /** * @param keys Keys. * @param ret Return flag. - * @return Non-{@code null} map if return flag is {@code true}. - * @throws IgniteCheckedException If failed. - */ - @Nullable public Map<K, V> reloadAll(@Nullable Collection<? extends K> keys, boolean ret, boolean skipVals) - throws IgniteCheckedException { - UUID subjId = ctx.subjectIdPerCall(null); - - String taskName = ctx.kernalContext().job().currentTaskName(); - - return reloadAllAsync(keys, ret, skipVals, subjId, taskName).get(); - } - - /** - * @param keys Keys. - * @param ret Return flag. + * @param skipVals Skip values flag. + * @param subjId Subject ID. + * @param taskName Task name. * @return Future. */ - public IgniteInternalFuture<Map<K, V>> reloadAllAsync(@Nullable Collection<? extends K> keys, boolean ret, boolean skipVals, - @Nullable UUID subjId, String taskName) { - ctx.denyOnFlag(READ); - + public IgniteInternalFuture<Map<KeyCacheObject, CacheObject>> reloadAllAsync0( + Collection<KeyCacheObject> keys, + boolean ret, + boolean skipVals, + @Nullable UUID subjId, + String taskName) + { - final long topVer = ctx.affinity().affinityTopologyVersion(); + final AffinityTopologyVersion topVer = ctx.affinity().affinityTopologyVersion(); if (!F.isEmpty(keys)) { - final String uid = CU.uuid(); // Get meta UUID for this thread. + final UUID uid = CU.uuid(); // Get meta UUID for this thread. assert keys != null; @@@ -1915,9 -1763,10 +1758,10 @@@ /** * @param key Key. + * @param topVer Topology version. * @return Entry. */ - @Nullable protected GridCacheEntryEx<K, V> entryExSafe(K key, AffinityTopologyVersion topVer) { - @Nullable protected GridCacheEntryEx entryExSafe(KeyCacheObject key, long topVer) { ++ @Nullable protected GridCacheEntryEx entryExSafe(KeyCacheObject key, AffinityTopologyVersion topVer) { return entryEx(key); } @@@ -2131,31 -2010,18 +2005,20 @@@ try { assert keys != null; - final long topVer = tx == null ? ctx.affinity().affinityTopologyVersion() : tx.topologyVersion(); + final AffinityTopologyVersion topVer = tx == null + ? ctx.affinity().affinityTopologyVersion() + : tx.topologyVersion(); - final Map<K, V> map = new GridLeanMap<>(keys.size()); - - Map<K, GridCacheVersion> misses = null; + final Map<K1, V1> map = new GridLeanMap<>(keys.size()); - for (K key : keys) { - if (key == null) - throw new NullPointerException("Null key."); + Map<KeyCacheObject, GridCacheVersion> misses = null; + for (KeyCacheObject key : keys) { while (true) { - GridCacheEntryEx<K, V> entry; - - if (cached != null) { - entry = cached; - - cached = null; - } - else - entry = entryEx(key); + GridCacheEntryEx entry = entryEx(key); try { - V val = entry.innerGet(null, + CacheObject val = entry.innerGet(null, ctx.isSwapOrOffheapEnabled(), /*don't read-through*/false, /*fail-fast*/true, @@@ -3776,8 -3627,9 +3624,10 @@@ validateCacheKey(key); try { - GridCacheEntryEx<K, V> e = entry0(key, new AffinityTopologyVersion(ctx.discovery().topologyVersion()), + KeyCacheObject cacheKey = ctx.toCacheKeyObject(key); - - GridCacheEntryEx e = entry0(cacheKey, ctx.discovery().topologyVersion(), false, false); ++ ++ GridCacheEntryEx e = entry0(cacheKey, new AffinityTopologyVersion(ctx.discovery().topologyVersion()), + false, false); if (e == null) return false; @@@ -3926,25 -3776,22 +3774,22 @@@ * @param replicate Replication flag. * @param ttl TTL. */ - private void loadEntry(K key, - V val, + private void loadEntry(KeyCacheObject key, + Object val, GridCacheVersion ver, - @Nullable IgniteBiPredicate<K, V> p, + @Nullable IgniteBiPredicate<Object, Object> p, - long topVer, + AffinityTopologyVersion topVer, boolean replicate, long ttl) { - if (p != null && !p.apply(key, val)) + if (p != null && !p.apply(key.value(ctx.cacheObjectContext(), false), val)) return; - if (ctx.portableEnabled()) { - key = (K)ctx.marshalToPortable(key); - val = (V)ctx.marshalToPortable(val); - } + CacheObject cacheVal = ctx.toCacheObject(val); - GridCacheEntryEx<K, V> entry = entryEx(key, false); + GridCacheEntryEx entry = entryEx(key, false); try { - entry.initialValue(val, null, ver, ttl, CU.EXPIRE_TIME_CALCULATE, false, topVer, + entry.initialValue(cacheVal, ver, ttl, CU.EXPIRE_TIME_CALCULATE, false, topVer, replicate ? DR_LOAD : DR_NONE); } catch (IgniteCheckedException e) { @@@ -4236,9 -4071,9 +4069,9 @@@ // Swap and offheap are disabled for near cache. if (modes.primary || modes.backup) { - long topVer = ctx.affinity().affinityTopologyVersion(); + AffinityTopologyVersion topVer = ctx.affinity().affinityTopologyVersion(); - GridCacheSwapManager<K, V> swapMgr = ctx.isNear() ? ctx.near().dht().context().swap() : ctx.swap(); + GridCacheSwapManager swapMgr = ctx.isNear() ? ctx.near().dht().context().swap() : ctx.swap(); if (modes.swap) size += swapMgr.swapEntriesCount(modes.primary, modes.backup, topVer); @@@ -5169,18 -4959,19 +4962,19 @@@ if (keyCheck) validateCacheKey(key); - long topVer = ctx.affinity().affinityTopologyVersion(); + AffinityTopologyVersion topVer = ctx.affinity().affinityTopologyVersion(); - if (ctx.portableEnabled()) - key = (K)ctx.marshalToPortable(key); - while (true) { try { + KeyCacheObject cacheKey = ctx.toCacheKeyObject(key); + // Do not reload near entries, they will be reloaded in DHT cache. - if (ctx.isNear() && ctx.affinity().localNode(key, topVer)) + if (ctx.isNear() && ctx.affinity().localNode(cacheKey, topVer)) return null; - return ctx.cloneOnFlag(entryEx(key).innerReload()); + CacheObject val = entryEx(cacheKey).innerReload(); + + return (V)(val != null ? val.value(ctx.cacheObjectContext(), true) : null); } catch (GridCacheEntryRemovedException ignored) { if (log.isDebugEnabled()) http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00f5d4ee/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAffinityManager.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAffinityManager.java index 6cdfc6e,c92e1fb..73128d6 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAffinityManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAffinityManager.java @@@ -106,23 -103,12 +106,23 @@@ public class GridCacheAffinityManager e * @param topVer Topology version to wait. * @return Affinity ready future. */ - public IgniteInternalFuture<Long> affinityReadyFuture(long topVer) { + public IgniteInternalFuture<AffinityTopologyVersion> affinityReadyFuture(long topVer) { + return affinityReadyFuture(new AffinityTopologyVersion(topVer)); + } + + /** + * Gets affinity ready future, a future that will be completed after affinity with given + * topology version is calculated. + * + * @param topVer Topology version to wait. + * @return Affinity ready future. + */ + public IgniteInternalFuture<AffinityTopologyVersion> affinityReadyFuture(AffinityTopologyVersion topVer) { assert !cctx.isLocal(); - IgniteInternalFuture<Long> fut = aff.readyFuture(topVer); + IgniteInternalFuture<AffinityTopologyVersion> fut = aff.readyFuture(topVer); - return fut != null ? fut : new GridFinishedFutureEx<>(topVer); + return fut != null ? fut : new GridFinishedFuture<>(topVer); } /** @@@ -221,7 -207,7 +221,7 @@@ * @param topVer Topology version. * @return Affinity nodes. */ - public List<ClusterNode> nodes(K key, AffinityTopologyVersion topVer) { - public List<ClusterNode> nodes(Object key, long topVer) { ++ public List<ClusterNode> nodes(Object key, AffinityTopologyVersion topVer) { return nodes(partition(key), topVer); } @@@ -242,7 -228,7 +242,7 @@@ * @param topVer Topology version. * @return Primary node for given key. */ - @Nullable public ClusterNode primary(K key, AffinityTopologyVersion topVer) { - @Nullable public ClusterNode primary(Object key, long topVer) { ++ @Nullable public ClusterNode primary(Object key, AffinityTopologyVersion topVer) { return primary(partition(key), topVer); } @@@ -266,7 -252,7 +266,7 @@@ * @param topVer Topology version. * @return {@code True} if checked node is primary for given key. */ - public boolean primary(ClusterNode n, K key, AffinityTopologyVersion topVer) { - public boolean primary(ClusterNode n, Object key, long topVer) { ++ public boolean primary(ClusterNode n, Object key, AffinityTopologyVersion topVer) { return F.eq(primary(key, topVer), n); } @@@ -285,7 -271,7 +285,7 @@@ * @param topVer Topology version. * @return Backup nodes. */ - public Collection<ClusterNode> backups(K key, AffinityTopologyVersion topVer) { - public Collection<ClusterNode> backups(Object key, long topVer) { ++ public Collection<ClusterNode> backups(Object key, AffinityTopologyVersion topVer) { return backups(partition(key), topVer); } @@@ -310,10 -296,10 +310,10 @@@ * @param topVer Topology version. * @return Nodes for the keys. */ - public Collection<ClusterNode> remoteNodes(Iterable<? extends K> keys, AffinityTopologyVersion topVer) { - public Collection<ClusterNode> remoteNodes(Iterable keys, long topVer) { ++ public Collection<ClusterNode> remoteNodes(Iterable keys, AffinityTopologyVersion topVer) { Collection<Collection<ClusterNode>> colcol = new GridLeanSet<>(); - for (K key : keys) + for (Object key : keys) colcol.add(nodes(key, topVer)); return F.view(F.flatCollections(colcol), F.remoteNodes(cctx.localNodeId())); @@@ -324,7 -310,7 +324,7 @@@ * @param topVer Topology version. * @return {@code true} if given key belongs to local node. */ - public boolean localNode(K key, AffinityTopologyVersion topVer) { - public boolean localNode(Object key, long topVer) { ++ public boolean localNode(Object key, AffinityTopologyVersion topVer) { return localNode(partition(key), topVer); } @@@ -358,7 -344,7 +358,7 @@@ * @param topVer Topology version. * @return {@code true} if given key belongs to specified node. */ - public boolean belongs(ClusterNode node, K key, AffinityTopologyVersion topVer) { - public boolean belongs(ClusterNode node, Object key, long topVer) { ++ public boolean belongs(ClusterNode node, Object key, AffinityTopologyVersion topVer) { assert node != null; return belongs(node, partition(key), topVer); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00f5d4ee/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAtomicFuture.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00f5d4ee/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheConcurrentMap.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheConcurrentMap.java index c1634d6,eb1124f..fa6bc33 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheConcurrentMap.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheConcurrentMap.java @@@ -464,7 -465,7 +466,7 @@@ public class GridCacheConcurrentMap * @param ttl Time to live. * @return Cache entry for corresponding key-value pair. */ - public GridCacheMapEntry<K, V> putEntry(AffinityTopologyVersion topVer, K key, @Nullable V val, long ttl) { - public GridCacheMapEntry putEntry(long topVer, KeyCacheObject key, @Nullable CacheObject val, long ttl) { ++ public GridCacheMapEntry putEntry(AffinityTopologyVersion topVer, KeyCacheObject key, @Nullable CacheObject val, long ttl) { assert key != null; checkWeakQueue(); @@@ -483,8 -484,12 +485,13 @@@ * @return Triple where the first element is current entry associated with the key, * the second is created entry and the third is doomed (all may be null). */ - public GridTriple<GridCacheMapEntry<K, V>> putEntryIfObsoleteOrAbsent(AffinityTopologyVersion topVer, K key, @Nullable V val, - long ttl, boolean create) { - public GridTriple<GridCacheMapEntry> putEntryIfObsoleteOrAbsent(long topVer, ++ public GridTriple<GridCacheMapEntry> putEntryIfObsoleteOrAbsent( ++ AffinityTopologyVersion topVer, + KeyCacheObject key, + @Nullable CacheObject val, + long ttl, + boolean create) + { assert key != null; checkWeakQueue(); @@@ -503,9 -508,9 +510,9 @@@ * @param ttl Time to live. * @throws NullPointerException If the specified map is null. */ - public void putAll(Map<? extends K, ? extends V> m, long ttl) { - for (Map.Entry<? extends K, ? extends V> e : m.entrySet()) + public void putAll(Map<KeyCacheObject, CacheObject> m, long ttl) { + for (Map.Entry<KeyCacheObject, CacheObject> e : m.entrySet()) - putEntry(-1, e.getKey(), e.getValue(), ttl); + putEntry(AffinityTopologyVersion.NONE, e.getKey(), e.getValue(), ttl); } /** @@@ -895,7 -900,7 +902,7 @@@ * @return Associated value. */ @SuppressWarnings({"unchecked"}) - GridCacheMapEntry<K, V> put(K key, int hash, @Nullable V val, AffinityTopologyVersion topVer, long ttl) { - GridCacheMapEntry put(KeyCacheObject key, int hash, @Nullable CacheObject val, long topVer, long ttl) { ++ GridCacheMapEntry put(KeyCacheObject key, int hash, @Nullable CacheObject val, AffinityTopologyVersion topVer, long ttl) { lock(); try { @@@ -915,9 -920,9 +922,9 @@@ * @return Associated value. */ @SuppressWarnings({"unchecked", "SynchronizationOnLocalVariableOrMethodParameter"}) - private GridCacheMapEntry<K, V> put0(K key, int hash, V val, AffinityTopologyVersion topVer, long ttl) { - private GridCacheMapEntry put0(KeyCacheObject key, int hash, CacheObject val, long topVer, long ttl) { ++ private GridCacheMapEntry put0(KeyCacheObject key, int hash, CacheObject val, AffinityTopologyVersion topVer, long ttl) { try { - SegmentHeader<K, V> hdr = this.hdr; + SegmentHeader hdr = this.hdr; int c = hdr.size(); @@@ -990,8 -995,13 +997,13 @@@ * the second is created entry and the third is doomed (all may be null). */ @SuppressWarnings( {"unchecked"}) - GridTriple<GridCacheMapEntry<K, V>> putIfObsolete(K key, int hash, @Nullable V val, - AffinityTopologyVersion topVer, long ttl, boolean create) { + GridTriple<GridCacheMapEntry> putIfObsolete(KeyCacheObject key, + int hash, + @Nullable CacheObject val, - long topVer, ++ AffinityTopologyVersion topVer, + long ttl, + boolean create) + { lock(); try { http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00f5d4ee/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 d58f28f,1d30d81..8a716d6 --- 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 @@@ -208,9 -188,9 +192,12 @@@ public class GridCacheContext<K, V> imp /** Conflict resolver. */ private GridCacheVersionAbstractConflictResolver conflictRslvr; + /** */ + private CacheObjectContext cacheObjCtx; + + /** Dynamic cache deployment ID. */ + private IgniteUuid dynamicDeploymentId; + /** * Empty constructor required for {@link Externalizable}. */ @@@ -513,8 -465,7 +495,7 @@@ cache.map().incrementSize(e); if (isDht() || isColocated() || isDhtAtomic()) { - GridDhtLocalPartition<K, V> part = topology().localPartition(e.partition(), AffinityTopologyVersion.NONE, - false); - GridDhtLocalPartition part = topology().localPartition(e.partition(), -1, false); ++ GridDhtLocalPartition part = topology().localPartition(e.partition(), AffinityTopologyVersion.NONE, false); if (part != null) part.incrementPublicSize(); @@@ -532,8 -483,7 +513,7 @@@ cache.map().decrementSize(e); if (isDht() || isColocated() || isDhtAtomic()) { - GridDhtLocalPartition<K, V> part = topology().localPartition(e.partition(), AffinityTopologyVersion.NONE, - false); - GridDhtLocalPartition part = topology().localPartition(e.partition(), -1, false); ++ GridDhtLocalPartition part = topology().localPartition(e.partition(), AffinityTopologyVersion.NONE, false); if (part != null) part.decrementPublicSize(); @@@ -1059,12 -1004,14 +1034,14 @@@ } /** - * Sets default affinity key mapper. + * Sets cache object context. + * + * @param cacheObjCtx Cache object context. */ - public void defaultAffMapper(CacheAffinityKeyMapper dfltAffMapper) { - affMapper = dfltAffMapper; + public void cacheObjectContext(CacheObjectContext cacheObjCtx) { + this.cacheObjCtx = cacheObjCtx; } -- ++ /** * @param p Single predicate. * @return Array containing single predicate. @@@ -1556,10 -1532,10 +1562,15 @@@ * @return {@code True} if mapped. * @throws GridCacheEntryRemovedException If reader for entry is removed. */ - public boolean dhtMap(UUID nearNodeId, AffinityTopologyVersion topVer, GridDhtCacheEntry<K, V> entry, IgniteLogger log, - Map<ClusterNode, List<GridDhtCacheEntry<K, V>>> dhtMap, - @Nullable Map<ClusterNode, List<GridDhtCacheEntry<K, V>>> nearMap) throws GridCacheEntryRemovedException { - assert !topVer.equals(AffinityTopologyVersion.NONE); - public boolean dhtMap(UUID nearNodeId, long topVer, GridDhtCacheEntry entry, IgniteLogger log, ++ public boolean dhtMap( ++ UUID nearNodeId, ++ AffinityTopologyVersion topVer, ++ GridDhtCacheEntry entry, ++ IgniteLogger log, + Map<ClusterNode, List<GridDhtCacheEntry>> dhtMap, - @Nullable Map<ClusterNode, List<GridDhtCacheEntry>> nearMap) throws GridCacheEntryRemovedException { - assert topVer != -1; ++ @Nullable Map<ClusterNode, List<GridDhtCacheEntry>> nearMap ++ ) throws GridCacheEntryRemovedException { ++ assert !AffinityTopologyVersion.NONE.equals(topVer); Collection<ClusterNode> dhtNodes = dht().topology().nodes(entry.partition(), topVer); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00f5d4ee/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDefaultAffinityKeyMapper.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDefaultAffinityKeyMapper.java index 61f1f07,16011f5..17842ca --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDefaultAffinityKeyMapper.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDefaultAffinityKeyMapper.java @@@ -46,7 -45,7 +45,7 @@@ public class GridCacheDefaultAffinityKe /** Injected ignite instance. */ @IgniteInstanceResource - private transient Ignite ignite; - protected Ignite ignite; ++ protected transient Ignite ignite; /** Reflection cache. */ private GridReflectionCache reflectCache = new GridReflectionCache( http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00f5d4ee/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentManager.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00f5d4ee/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java index 4bc1e63,94b3dd1..f4edb8c --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java @@@ -362,8 -345,8 +346,8 @@@ public interface GridCacheEntryEx long ttl, boolean evt, boolean metrics, - long topVer, + AffinityTopologyVersion topVer, - IgnitePredicate<Cache.Entry<K, V>>[] filter, + CacheEntryPredicate[] filter, GridDrType drType, long drExpireTime, @Nullable GridCacheVersion explicitVer, @@@ -398,8 -381,8 +382,8 @@@ boolean retval, boolean evt, boolean metrics, - long topVer, + AffinityTopologyVersion topVer, - IgnitePredicate<Cache.Entry<K, V>>[] filter, + CacheEntryPredicate[] filter, GridDrType drType, @Nullable GridCacheVersion explicitVer, @Nullable UUID subjId, @@@ -610,10 -579,10 +580,10 @@@ * @throws GridCacheEntryRemovedException If entry has been removed. * @throws IgniteCheckedException If failed. */ - @Nullable public V peek(boolean heap, + @Nullable public CacheObject peek(boolean heap, boolean offheap, boolean swap, - long topVer, + AffinityTopologyVersion topVer, @Nullable IgniteCacheExpiryPolicy plc) throws GridCacheEntryRemovedException, IgniteCheckedException; @@@ -684,9 -641,13 +642,13 @@@ * @throws IgniteCheckedException In case of error. * @throws GridCacheEntryRemovedException If entry was removed. */ - public boolean initialValue(V val, @Nullable byte[] valBytes, GridCacheVersion ver, long ttl, long expireTime, - boolean preload, AffinityTopologyVersion topVer, GridDrType drType) - throws IgniteCheckedException, GridCacheEntryRemovedException; + public boolean initialValue(CacheObject val, + GridCacheVersion ver, + long ttl, + long expireTime, + boolean preload, - long topVer, ++ AffinityTopologyVersion topVer, + GridDrType drType) throws IgniteCheckedException, GridCacheEntryRemovedException; /** * Sets new value if current version is <tt>0</tt> using swap entry data.