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.

Reply via email to