Merge branches 'ignite-394' and 'sprint-2' of
https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-394
Conflicts:
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheAdapter.java
modules/core/src/main/java/org/apache/ignite/internal/processors/datastream/IgniteDataStreamerCacheUpdaters.java
modules/core/src/main/java/org/apache/ignite/internal/processors/datastream/IgniteDataStreamerFuture.java
modules/core/src/main/java/org/apache/ignite/internal/processors/datastream/IgniteDataStreamerImpl.java
modules/core/src/main/java/org/apache/ignite/internal/processors/datastream/IgniteDataStreamerProcessor.java
modules/core/src/main/java/org/apache/ignite/internal/processors/datastream/IgniteDataStreamerUpdateJob.java
modules/core/src/main/java/org/apache/ignite/internal/processors/dr/IgniteDrDataStreamerCacheUpdater.java
modules/core/src/test/java/org/apache/ignite/internal/processors/datastream/IgniteDataStreamerImplSelfTest.java
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/00fd3c3c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/00fd3c3c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/00fd3c3c
Branch: refs/heads/ignite-406
Commit: 00fd3c3c5804a960b64ba2464a3fc0cc733caee8
Parents: 1941625 efed98d
Author: Yakov Zhdanov <[email protected]>
Authored: Wed Mar 11 17:19:34 2015 +0300
Committer: Yakov Zhdanov <[email protected]>
Committed: Wed Mar 11 17:19:34 2015 +0300
----------------------------------------------------------------------
DEVNOTES.txt | 7 +
examples/pom-standalone.xml | 2 +-
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 +-
.../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/IgniteTransactions.java | 2 +-
.../apache/ignite/cache/CacheInterceptor.java | 34 +-
.../ignite/cache/CacheInterceptorAdapter.java | 12 +-
.../org/apache/ignite/cache/CacheManager.java | 1 -
.../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 | 10 +-
.../org/apache/ignite/events/EventType.java | 2 -
.../IgfsConcurrentModificationException.java | 29 +-
.../ignite/igfs/IgfsCorruptedFileException.java | 16 +-
.../igfs/IgfsDirectoryNotEmptyException.java | 20 +-
.../org/apache/ignite/igfs/IgfsException.java | 16 +-
.../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 | 22 +-
.../ignite/internal/AsyncSupportAdapter.java | 1 -
.../ignite/internal/ClusterMetricsSnapshot.java | 1 -
.../internal/ComputeTaskInternalFuture.java | 3 +
.../internal/GridEventConsumeHandler.java | 13 +-
.../ignite/internal/GridKernalContext.java | 24 +-
.../ignite/internal/GridKernalContextImpl.java | 62 +-
.../internal/GridMessageListenHandler.java | 11 +-
.../org/apache/ignite/internal/GridTopic.java | 89 +-
.../ignite/internal/GridUpdateNotifier.java | 15 -
.../internal/IgniteCodeGeneratingFail.java | 29 +
.../apache/ignite/internal/IgniteKernal.java | 11 +-
.../ignite/internal/IgniteTransactionsEx.java | 16 -
.../org/apache/ignite/internal/IgnitionEx.java | 74 +-
.../internal/MarshallerContextAdapter.java | 130 ++
.../ignite/internal/MarshallerContextImpl.java | 81 +
.../balancer/GridClientBalancerAdapter.java | 2 +-
.../client/impl/GridClientComputeImpl.java | 2 +-
.../client/impl/GridClientFutureAdapter.java | 3 +
.../GridClientConnectionManagerAdapter.java | 2 +-
.../GridClientOptimizedMarshaller.java | 42 +-
.../impl/GridRouterCommandLineStartup.java | 2 +-
.../internal/direct/DirectByteBufferStream.java | 62 +-
.../internal/direct/DirectMessageWriter.java | 7 +
.../direct/DirectMessageWriterState.java | 3 +
.../internal/igfs/common/IgfsMarshaller.java | 1 -
.../internal/managers/GridManagerAdapter.java | 35 +-
.../managers/communication/GridIoManager.java | 102 +-
.../communication/GridIoMessageFactory.java | 89 +-
.../managers/communication/GridIoPolicy.java | 5 +-
.../loadbalancer/GridLoadBalancerManager.java | 3 -
.../affinity/GridAffinityAssignmentCache.java | 20 +-
.../affinity/GridAffinityMessage.java | 13 +-
.../affinity/GridAffinityProcessor.java | 35 +-
.../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/CacheProjection.java | 140 +-
.../cache/CacheStoreBalancingWrapper.java | 2 +
.../processors/cache/EvictableEntryImpl.java | 33 +-
.../processors/cache/GridCacheAdapter.java | 1518 +++++++---------
.../cache/GridCacheAffinityManager.java | 20 +-
.../processors/cache/GridCacheAtomicFuture.java | 4 +-
.../processors/cache/GridCacheAttributes.java | 15 +-
.../cache/GridCacheBatchSwapEntry.java | 27 +-
.../cache/GridCacheClearAllRunnable.java | 28 +-
.../cache/GridCacheConcurrentMap.java | 355 ++--
.../processors/cache/GridCacheContext.java | 482 +++---
.../GridCacheDefaultAffinityKeyMapper.java | 47 +-
.../cache/GridCacheDeploymentManager.java | 124 +-
.../processors/cache/GridCacheEntryEx.java | 201 +--
.../processors/cache/GridCacheEntryInfo.java | 337 ++--
.../GridCacheEntryInfoCollectSwapListener.java | 56 +-
.../processors/cache/GridCacheEventManager.java | 121 +-
.../cache/GridCacheEvictionManager.java | 234 +--
.../cache/GridCacheEvictionRequest.java | 46 +-
.../cache/GridCacheEvictionResponse.java | 27 +-
.../cache/GridCacheExplicitLockSpan.java | 40 +-
.../cache/GridCacheFilterFailedException.java | 8 +-
.../processors/cache/GridCacheIoManager.java | 48 +-
.../processors/cache/GridCacheKeySet.java | 4 +-
.../cache/GridCacheManagerAdapter.java | 2 +-
.../processors/cache/GridCacheMapEntry.java | 1524 ++++++++---------
.../cache/GridCacheMapEntryFactory.java | 12 +-
.../processors/cache/GridCacheMessage.java | 235 ++-
.../cache/GridCacheMultiTxFuture.java | 9 +-
.../processors/cache/GridCacheMvcc.java | 214 +--
.../processors/cache/GridCacheMvccCallback.java | 12 +-
.../cache/GridCacheMvccCandidate.java | 50 +-
.../processors/cache/GridCacheMvccFuture.java | 4 +-
.../processors/cache/GridCacheMvccManager.java | 201 +--
.../cache/GridCacheOffheapSwapEntry.java | 20 +-
.../GridCachePartitionExchangeManager.java | 104 +-
.../processors/cache/GridCachePreloader.java | 10 +-
.../cache/GridCachePreloaderAdapter.java | 12 +-
.../processors/cache/GridCacheProcessor.java | 59 +-
.../processors/cache/GridCacheProjectionEx.java | 59 +-
.../cache/GridCacheProjectionImpl.java | 606 ++-----
.../processors/cache/GridCacheProxyImpl.java | 203 +--
.../processors/cache/GridCacheReturn.java | 317 +++-
.../cache/GridCacheSharedContext.java | 42 +-
.../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 | 218 ++-
.../processors/cache/GridCacheValueBytes.java | 194 ---
.../cache/GridCacheValueCollection.java | 4 +-
.../cache/IgniteCacheExpiryPolicy.java | 8 +-
.../IgniteCacheOsSerializationManager.java | 48 -
.../processors/cache/IgniteCacheProxy.java | 4 +-
.../processors/cache/KeyCacheObject.java | 33 +
.../processors/cache/KeyCacheObjectImpl.java | 132 ++
.../cache/affinity/GridCacheAffinityImpl.java | 10 +-
.../CacheDataStructuresManager.java | 14 +-
.../distributed/GridCacheCommittedTxInfo.java | 10 +-
...ridCacheOptimisticCheckPreparedTxFuture.java | 23 +-
...idCacheOptimisticCheckPreparedTxRequest.java | 4 +-
...dCacheOptimisticCheckPreparedTxResponse.java | 2 +-
.../distributed/GridCacheTtlUpdateRequest.java | 75 +-
.../distributed/GridDistributedBaseMessage.java | 28 +-
.../GridDistributedCacheAdapter.java | 52 +-
.../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 | 162 +-
.../GridDistributedUnlockRequest.java | 52 +-
.../IgniteExternalizableExpiryPolicy.java | 12 +-
.../dht/GridClientPartitionTopology.java | 24 +-
.../dht/GridDhtAffinityAssignmentRequest.java | 2 +-
.../dht/GridDhtAffinityAssignmentResponse.java | 6 +-
.../dht/GridDhtAssignmentFetchFuture.java | 17 +-
.../cache/distributed/dht/GridDhtCache.java | 2 +-
.../distributed/dht/GridDhtCacheAdapter.java | 184 +-
.../distributed/dht/GridDhtCacheEntry.java | 120 +-
.../distributed/dht/GridDhtEmbeddedFuture.java | 3 +
.../cache/distributed/dht/GridDhtGetFuture.java | 96 +-
.../distributed/dht/GridDhtLocalPartition.java | 52 +-
.../distributed/dht/GridDhtLockFuture.java | 104 +-
.../distributed/dht/GridDhtLockRequest.java | 69 +-
.../distributed/dht/GridDhtLockResponse.java | 77 +-
.../dht/GridDhtPartitionTopology.java | 20 +-
.../dht/GridDhtPartitionTopologyImpl.java | 48 +-
.../dht/GridDhtTransactionalCacheAdapter.java | 274 ++-
.../distributed/dht/GridDhtTxFinishFuture.java | 40 +-
.../distributed/dht/GridDhtTxFinishRequest.java | 48 +-
.../dht/GridDhtTxFinishResponse.java | 2 +-
.../cache/distributed/dht/GridDhtTxLocal.java | 67 +-
.../distributed/dht/GridDhtTxLocalAdapter.java | 187 +-
.../cache/distributed/dht/GridDhtTxMapping.java | 4 +-
.../distributed/dht/GridDhtTxPrepareFuture.java | 265 ++-
.../dht/GridDhtTxPrepareRequest.java | 152 +-
.../dht/GridDhtTxPrepareResponse.java | 84 +-
.../cache/distributed/dht/GridDhtTxRemote.java | 53 +-
.../distributed/dht/GridDhtUnlockRequest.java | 46 +-
.../distributed/dht/GridNoStorageCacheMap.java | 28 +-
.../dht/GridPartitionedGetFuture.java | 128 +-
.../dht/atomic/GridDhtAtomicCache.java | 687 ++++----
.../dht/atomic/GridDhtAtomicCacheEntry.java | 13 +-
.../GridDhtAtomicDeferredUpdateResponse.java | 2 +-
.../dht/atomic/GridDhtAtomicUpdateFuture.java | 74 +-
.../dht/atomic/GridDhtAtomicUpdateRequest.java | 222 +--
.../dht/atomic/GridDhtAtomicUpdateResponse.java | 66 +-
.../dht/atomic/GridNearAtomicUpdateFuture.java | 170 +-
.../dht/atomic/GridNearAtomicUpdateRequest.java | 238 +--
.../atomic/GridNearAtomicUpdateResponse.java | 142 +-
.../dht/colocated/GridDhtColocatedCache.java | 179 +-
.../colocated/GridDhtColocatedCacheEntry.java | 13 +-
.../colocated/GridDhtColocatedLockFuture.java | 141 +-
.../colocated/GridDhtDetachedCacheEntry.java | 30 +-
.../dht/preloader/GridDhtForceKeysFuture.java | 54 +-
.../dht/preloader/GridDhtForceKeysRequest.java | 43 +-
.../dht/preloader/GridDhtForceKeysResponse.java | 63 +-
.../GridDhtPartitionDemandMessage.java | 8 +-
.../preloader/GridDhtPartitionDemandPool.java | 103 +-
.../GridDhtPartitionSupplyMessage.java | 93 +-
.../preloader/GridDhtPartitionSupplyPool.java | 81 +-
.../GridDhtPartitionsAbstractMessage.java | 2 +-
.../GridDhtPartitionsExchangeFuture.java | 80 +-
.../preloader/GridDhtPartitionsFullMessage.java | 6 +-
.../GridDhtPartitionsSingleMessage.java | 6 +-
.../GridDhtPartitionsSingleRequest.java | 2 +-
.../dht/preloader/GridDhtPreloader.java | 62 +-
.../preloader/GridDhtPreloaderAssignments.java | 8 +-
.../distributed/near/CacheVersionedValue.java | 169 ++
.../distributed/near/GridNearAtomicCache.java | 149 +-
.../distributed/near/GridNearCacheAdapter.java | 176 +-
.../distributed/near/GridNearCacheEntry.java | 143 +-
.../distributed/near/GridNearGetFuture.java | 134 +-
.../distributed/near/GridNearGetRequest.java | 106 +-
.../distributed/near/GridNearGetResponse.java | 37 +-
.../distributed/near/GridNearLockFuture.java | 165 +-
.../distributed/near/GridNearLockMapping.java | 23 +-
.../distributed/near/GridNearLockRequest.java | 50 +-
.../distributed/near/GridNearLockResponse.java | 12 +-
.../near/GridNearTransactionalCache.java | 139 +-
.../near/GridNearTxFinishFuture.java | 39 +-
.../near/GridNearTxFinishRequest.java | 34 +-
.../near/GridNearTxFinishResponse.java | 6 +-
.../cache/distributed/near/GridNearTxLocal.java | 212 +--
.../near/GridNearTxPrepareFuture.java | 163 +-
.../near/GridNearTxPrepareRequest.java | 58 +-
.../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 | 55 +-
.../cache/local/GridLocalCacheEntry.java | 85 +-
.../cache/local/GridLocalLockCallback.java | 9 +-
.../cache/local/GridLocalLockFuture.java | 40 +-
.../processors/cache/local/GridLocalTx.java | 206 ---
.../cache/local/GridLocalTxFuture.java | 302 ----
.../local/atomic/GridLocalAtomicCache.java | 342 ++--
.../GridCacheDistributedFieldsQueryFuture.java | 3 +
.../query/GridCacheDistributedQueryFuture.java | 5 +-
.../query/GridCacheDistributedQueryManager.java | 38 +-
.../query/GridCacheLocalFieldsQueryFuture.java | 3 +
.../cache/query/GridCacheLocalQueryFuture.java | 9 +-
.../cache/query/GridCacheQueriesImpl.java | 17 -
.../cache/query/GridCacheQueryAdapter.java | 16 -
.../cache/query/GridCacheQueryInfo.java | 14 -
.../cache/query/GridCacheQueryManager.java | 130 +-
.../cache/query/GridCacheQueryRequest.java | 66 +-
.../cache/query/GridCacheQueryResponse.java | 6 +-
.../continuous/CacheContinuousQueryEntry.java | 273 +--
.../continuous/CacheContinuousQueryEvent.java | 41 +-
.../continuous/CacheContinuousQueryHandler.java | 77 +-
.../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 | 158 +-
.../cache/transactions/IgniteTxEntry.java | 700 +++-----
.../cache/transactions/IgniteTxHandler.java | 242 +--
.../cache/transactions/IgniteTxKey.java | 99 +-
.../transactions/IgniteTxLocalAdapter.java | 859 +++++-----
.../cache/transactions/IgniteTxLocalEx.java | 56 +-
.../cache/transactions/IgniteTxManager.java | 372 ++--
.../cache/transactions/IgniteTxMap.java | 40 +-
.../cache/transactions/IgniteTxRemoteEx.java | 4 +-
.../transactions/TransactionProxyImpl.java | 14 +-
.../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 | 128 +-
.../continuous/GridContinuousHandler.java | 9 +-
.../continuous/GridContinuousMessage.java | 43 +-
.../continuous/GridContinuousProcessor.java | 54 +-
.../datastream/GridDataLoadRequest.java | 33 +-
.../datastream/IgniteDataLoaderEntry.java | 170 ++
.../IgniteDataStreamerCacheUpdaters.java | 13 +-
.../datastream/IgniteDataStreamerFuture.java | 3 +
.../datastream/IgniteDataStreamerImpl.java | 342 ++--
.../datastream/IgniteDataStreamerProcessor.java | 22 +-
.../datastream/IgniteDataStreamerUpdateJob.java | 48 +-
.../datastructures/DataStructuresProcessor.java | 43 +-
.../datastructures/GridCacheSetImpl.java | 4 +-
.../dr/IgniteDrDataStreamerCacheUpdater.java | 28 +-
.../processors/igfs/IgfsDataManager.java | 3 +
.../internal/processors/igfs/IgfsFileImpl.java | 7 +
.../internal/processors/igfs/IgfsFileInfo.java | 3 +-
.../internal/processors/igfs/IgfsImpl.java | 583 +++----
.../processors/igfs/IgfsMetaManager.java | 25 +-
.../internal/processors/igfs/IgfsServer.java | 3 +-
.../internal/processors/igfs/IgfsUtils.java | 86 +
.../offheap/GridOffHeapProcessor.java | 9 +-
.../portable/GridPortableProcessor.java | 142 --
.../portable/os/GridOsPortableProcessor.java | 120 --
.../processors/portable/os/package.html | 24 -
.../processors/query/GridQueryProcessor.java | 24 +-
.../resource/GridResourceProcessor.java | 2 +-
.../resource/GridResourceServiceInjector.java | 2 +-
.../processors/rest/GridRestResponse.java | 1 -
.../message/GridClientAbstractMessage.java | 1 -
.../message/GridClientHandshakeRequest.java | 1 -
.../handlers/cache/GridCacheCommandHandler.java | 46 +-
.../handlers/task/GridTaskCommandHandler.java | 3 +-
.../protocols/tcp/GridMemcachedMessage.java | 1 -
.../protocols/tcp/GridTcpRestNioListener.java | 3 -
.../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 | 3 +
.../processors/service/GridServiceProxy.java | 2 +-
.../streamer/GridStreamerExecutionBatch.java | 12 +-
.../GridStreamerStageExecutionFuture.java | 3 +
.../processors/task/GridTaskProcessor.java | 31 +-
.../org/apache/ignite/internal/util/F0.java | 147 ++
.../ignite/internal/util/IgniteUtils.java | 55 +-
.../util/future/GridCompoundFuture.java | 3 +
.../util/future/GridCompoundIdentityFuture.java | 3 +
.../util/future/GridEmbeddedFuture.java | 3 +
.../internal/util/future/GridFutureAdapter.java | 9 +
.../internal/util/lang/GridAbsClosure.java | 2 -
.../ignite/internal/util/lang/GridFunc.java | 52 -
.../ignite/internal/util/lang/GridMapEntry.java | 2 +-
.../util/lang/GridMetadataAwareAdapter.java | 71 +-
.../nio/GridConnectionBytesVerifyFilter.java | 1 -
.../util/nio/GridNioEmbeddedFuture.java | 3 +
.../internal/util/nio/GridNioFutureImpl.java | 3 +
.../ignite/internal/util/nio/GridNioServer.java | 3 +
.../util/nio/GridTcpCommunicationClient.java | 1 -
.../util/offheap/unsafe/GridUnsafeMemory.java | 26 +-
.../internal/util/worker/GridWorkerFuture.java | 3 +
.../visor/cache/VisorCacheClearTask.java | 6 +
.../visor/cache/VisorCacheCompactTask.java | 29 +-
.../visor/cache/VisorCacheConfiguration.java | 11 -
.../visor/node/VisorIgfsConfiguration.java | 2 +-
.../lang/IgniteFutureCancelledException.java | 3 +
.../lang/IgniteFutureTimeoutException.java | 3 +
.../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 | 3 +
.../tcp/internal/TcpDiscoveryNode.java | 1 -
.../TcpDiscoveryMulticastIpFinder.java | 1 -
.../messages/TcpDiscoveryAuthFailedMessage.java | 1 -
.../messages/TcpDiscoveryHeartbeatMessage.java | 1 -
.../apache/ignite/transactions/Transaction.java | 6 +-
.../META-INF/classnames-jdk.properties | 371 ++++
.../resources/META-INF/classnames.properties | 1619 ++++++++++++++++++
.../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 +-
.../ignite/internal/GridAffinitySelfTest.java | 3 +-
.../GridCommunicationSendMessageSelfTest.java | 2 +-
.../cache/GridCacheAbstractFullApiSelfTest.java | 62 +-
.../cache/GridCacheAbstractMetricsSelfTest.java | 8 +-
.../cache/GridCacheAffinityRoutingSelfTest.java | 6 -
.../GridCacheConcurrentTxMultiNodeTest.java | 8 +-
.../cache/GridCacheDeploymentSelfTest.java | 5 +-
.../cache/GridCacheEntryMemorySizeSelfTest.java | 12 +-
.../cache/GridCacheEntryVersionSelfTest.java | 4 +-
.../GridCacheExAbstractFullApiSelfTest.java | 2 +-
.../GridCacheFinishPartitionsSelfTest.java | 7 +-
.../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 | 1 -
.../GridCacheReturnValueTransferSelfTest.java | 1 +
.../cache/GridCacheStoreValueBytesSelfTest.java | 24 +-
.../cache/GridCacheSwapPreloadSelfTest.java | 6 +-
.../processors/cache/GridCacheTestEntryEx.java | 276 +--
.../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 +-
...actQueueFailoverDataConsistencySelfTest.java | 2 +-
.../GridCacheQueueCleanupSelfTest.java | 2 +-
.../GridCacheSetAbstractSelfTest.java | 4 +-
.../GridCacheSetFailoverAbstractSelfTest.java | 4 +-
.../IgnitePartitionedSetNoBackupsSelfTest.java | 2 +-
.../GridCacheAbstractJobExecutionTest.java | 2 +-
.../distributed/GridCacheEventAbstractTest.java | 12 +-
...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 +-
.../IgniteDataStreamerImplSelfTest.java | 9 +-
.../IgniteDataStreamerPerformanceTest.java | 2 -
.../IgniteDataStreamerProcessorSelfTest.java | 52 +-
.../processors/igfs/IgfsAbstractSelfTest.java | 31 +-
.../igfs/IgfsDataManagerSelfTest.java | 6 +-
.../processors/igfs/IgfsFileInfoSelfTest.java | 2 +
.../processors/igfs/IgfsSizeSelfTest.java | 17 -
.../streamer/GridStreamerEvictionSelfTest.java | 1 -
.../streamer/GridStreamerFailoverSelfTest.java | 2 +-
.../internal/util/nio/GridNioSelfTest.java | 18 +-
.../nio/impl/GridNioFilterChainSelfTest.java | 7 +-
.../lang/GridMetadataAwareAdapterSelfTest.java | 80 +-
.../loadtests/hashmap/GridCacheTestContext.java | 29 +-
.../loadtests/hashmap/GridHashMapLoadTest.java | 10 +-
.../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 | 3 +
.../communication/GridCacheMessageSelfTest.java | 546 ++++++
.../discovery/AbstractDiscoverySelfTest.java | 1 -
.../GridCacheStoreValueBytesNode.java | 2 -
.../testframework/GridSpiTestContext.java | 18 -
.../ignite/testframework/GridTestUtils.java | 6 +-
.../testframework/junits/GridAbstractTest.java | 6 +-
.../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 +
.../fs/IgniteHadoopIgfsSecondaryFileSystem.java | 5 +-
.../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 | 2 +-
.../hadoop/igfs/HadoopIgfsFuture.java | 3 +
.../hadoop/proto/HadoopClientProtocol.java | 3 -
.../external/HadoopExternalTaskExecutor.java | 3 +
.../child/HadoopExternalProcessStarter.java | 4 +-
.../HadoopClientProtocolEmbeddedSelfTest.java | 3 +-
.../hadoop/HadoopClientProtocolSelfTest.java | 2 +-
.../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 +-
.../testsuites/IgniteHadoopTestSuite.java | 6 +-
.../processors/query/h2/IgniteH2Indexing.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 +-
modules/scalar/pom.xml | 8 +
.../scalar/testsuites/ScalarSelfTestSuite.scala | 6 +
.../cache/spring/SpringDynamicCacheManager.java | 36 +-
.../GridSpringBeanSerializationSelfTest.java | 2 +
.../ignite/spring/GridSpringCacheTestKey.java | 4 +-
...gniteProjectionStartStopRestartSelfTest.java | 42 +-
.../ignite/tools/classgen/ClassesGenerator.java | 214 +++
.../optimized/OptimizedClassNamesGenerator.java | 325 ----
.../commands/cache/VisorCacheCommand.scala | 1 -
.../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 | 38 +-
580 files changed, 21876 insertions(+), 16898 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00fd3c3c/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00fd3c3c/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00fd3c3c/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00fd3c3c/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00fd3c3c/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 87bb9f1,a966a86..eec6f80
---
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
@@@ -3883,10 -3732,10 +3732,10 @@@ public abstract class GridCacheAdapter<
final ExpiryPolicy plc = plc0 != null ? plc0 : ctx.expiry();
if (ctx.store().isLocalStore()) {
- IgniteDataStreamerImpl<K, V> ldr = ctx.kernalContext().<K,
V>dataStream().dataStreamer(ctx.namex(), false);
- IgniteDataLoaderImpl ldr = ctx.kernalContext().<K,
V>dataLoad().dataLoader(ctx.namex());
++ IgniteDataStreamerImpl<K, V> ldr = ctx.kernalContext().<K,
V>dataStream().dataLoader(ctx.namex());
try {
- ldr.updater(new GridDrDataLoadCacheUpdater());
+ ldr.updater(new IgniteDrDataStreamerCacheUpdater<K, V>());
LocalStoreLoadClosure c = new LocalStoreLoadClosure(p, ldr,
plc);
@@@ -4049,7 -3883,8 +3883,7 @@@
* @throws IgniteCheckedException If failed.
*/
private void localLoadAndUpdate(final Collection<? extends K> keys)
throws IgniteCheckedException {
- try (final IgniteDataStreamer<K, V> ldr = ctx.kernalContext().<K,
V>dataStream().dataStreamer(ctx.namex(), false)) {
- try (final IgniteDataLoaderImpl<KeyCacheObject, CacheObject> ldr =
- ctx.kernalContext().<KeyCacheObject,
CacheObject>dataLoad().dataLoader(ctx.namex())) {
++ try (final IgniteDataLoader<K, V> ldr = ctx.kernalContext().<K,
V>dataLoad().dataLoader(ctx.namex(), false)) {
ldr.allowOverwrite(true);
ldr.skipStore(true);
@@@ -4091,11 -3923,13 +3922,13 @@@
final ExpiryPolicy plc0 = plc != null ? plc : ctx.expiry();
+ Collection<KeyCacheObject> keys0 = ctx.cacheKeysView(keys);
+
if (ctx.store().isLocalStore()) {
- IgniteDataStreamerImpl<K, V> ldr = ctx.kernalContext().<K,
V>dataStream().dataStreamer(ctx.namex(), false);
- IgniteDataLoaderImpl ldr = ctx.kernalContext().<K,
V>dataLoad().dataLoader(ctx.namex());
++ IgniteDataLoaderImpl<K, V> ldr = ctx.kernalContext().<K,
V>dataLoad().dataLoader(ctx.namex(), false);
try {
- ldr.updater(new IgniteDrDataStreamerCacheUpdater<K, V>());
- ldr.updater(new GridDrDataLoadCacheUpdater());
++ ldr.updater(new GridDrDataLoadCacheUpdater<K, V>());
LocalStoreLoadClosure c = new LocalStoreLoadClosure(null,
ldr, plc0);
@@@ -6137,10 -5879,10 +5878,10 @@@
final IgniteBiPredicate<K, V> p;
/** */
- final Collection<Map.Entry<K, V>> col;
+ final Collection<GridCacheRawVersionedEntry> col;
/** */
- final IgniteDataLoaderImpl<K, V> ldr;
+ final IgniteDataStreamerImpl<K, V> ldr;
/** */
final ExpiryPolicy plc;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00fd3c3c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheAdapter.java
----------------------------------------------------------------------
diff --cc
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheAdapter.java
index 658aed8,22d3278..099bb24
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheAdapter.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheAdapter.java
@@@ -276,16 -283,17 +283,17 @@@ public abstract class GridDistributedCa
else
dht = (GridDhtCacheAdapter<K, V>)cacheAdapter;
- try (IgniteDataStreamer<K, V> dataLdr =
ignite.dataStreamer(cacheName)) {
- try (IgniteDataLoaderImpl<KeyCacheObject, Object> dataLdr =
- (IgniteDataLoaderImpl)ignite.dataLoader(cacheName)) {
- ((IgniteDataLoaderImpl)dataLdr).maxRemapCount(0);
++ try (IgniteDataStreamerImpl<KeyCacheObject, Object> dataLdr =
++
(IgniteDataStreamerImpl)ignite.dataStreamer(cacheName)) {
+ ((IgniteDataStreamerImpl)dataLdr).maxRemapCount(0);
- dataLdr.updater(IgniteDataStreamerCacheUpdaters.<K,
V>batched());
-
dataLdr.updater(GridDataLoadCacheUpdaters.<KeyCacheObject, Object>batched());
++
dataLdr.updater(IgniteDataStreamerCacheUpdaters.<KeyCacheObject,
Object>batched());
- for (GridDhtLocalPartition<K, V> locPart :
dht.topology().currentLocalPartitions()) {
+ for (GridDhtLocalPartition locPart :
dht.topology().currentLocalPartitions()) {
if (!locPart.isEmpty() && locPart.primary(topVer)) {
- for (GridDhtCacheEntry<K, V> o :
locPart.entries()) {
+ for (GridDhtCacheEntry o : locPart.entries()) {
if (!o.obsoleteOrDeleted())
- dataLdr.removeData(o.key());
+ dataLdr.removeDataInternal(o.key());
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00fd3c3c/modules/core/src/main/java/org/apache/ignite/internal/processors/datastream/GridDataLoadRequest.java
----------------------------------------------------------------------
diff --cc
modules/core/src/main/java/org/apache/ignite/internal/processors/datastream/GridDataLoadRequest.java
index d77b52e,0000000..8c66812
mode 100644,000000..100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastream/GridDataLoadRequest.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastream/GridDataLoadRequest.java
@@@ -1,450 -1,0 +1,451 @@@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.processors.datastream;
+
+import org.apache.ignite.configuration.*;
+import org.apache.ignite.internal.*;
+import org.apache.ignite.internal.util.tostring.*;
+import org.apache.ignite.internal.util.typedef.internal.*;
+import org.apache.ignite.lang.*;
+import org.apache.ignite.plugin.extensions.communication.*;
+import org.jetbrains.annotations.*;
+
+import java.nio.*;
+import java.util.*;
+
+/**
+ *
+ */
+public class GridDataLoadRequest implements Message {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** */
+ private long reqId;
+
+ /** */
+ private byte[] resTopicBytes;
+
+ /** Cache name. */
+ private String cacheName;
+
+ /** */
+ private byte[] updaterBytes;
+
- /** Entries to put. */
- private byte[] colBytes;
++ /** Entries to update. */
++ @GridDirectCollection(IgniteDataLoaderEntry.class)
++ private Collection<IgniteDataLoaderEntry> entries;
+
+ /** {@code True} to ignore deployment ownership. */
+ private boolean ignoreDepOwnership;
+
+ /** */
+ private boolean skipStore;
+
+ /** */
+ private DeploymentMode depMode;
+
+ /** */
+ private String sampleClsName;
+
+ /** */
+ private String userVer;
+
+ /** Node class loader participants. */
+ @GridToStringInclude
+ @GridDirectMap(keyType = UUID.class, valueType = IgniteUuid.class)
+ private Map<UUID, IgniteUuid> ldrParticipants;
+
+ /** */
+ private IgniteUuid clsLdrId;
+
+ /** */
+ private boolean forceLocDep;
+
+ /**
+ * {@code Externalizable} support.
+ */
+ public GridDataLoadRequest() {
+ // No-op.
+ }
+
+ /**
+ * @param reqId Request ID.
+ * @param resTopicBytes Response topic.
+ * @param cacheName Cache name.
+ * @param updaterBytes Cache updater.
- * @param colBytes Collection bytes.
++ * @param entries Entries to put.
+ * @param ignoreDepOwnership Ignore ownership.
+ * @param skipStore Skip store flag.
+ * @param depMode Deployment mode.
+ * @param sampleClsName Sample class name.
+ * @param userVer User version.
+ * @param ldrParticipants Loader participants.
+ * @param clsLdrId Class loader ID.
+ * @param forceLocDep Force local deployment.
+ */
+ public GridDataLoadRequest(long reqId,
+ byte[] resTopicBytes,
+ @Nullable String cacheName,
+ byte[] updaterBytes,
- byte[] colBytes,
++ Collection<IgniteDataLoaderEntry> entries,
+ boolean ignoreDepOwnership,
+ boolean skipStore,
+ DeploymentMode depMode,
+ String sampleClsName,
+ String userVer,
+ Map<UUID, IgniteUuid> ldrParticipants,
+ IgniteUuid clsLdrId,
+ boolean forceLocDep) {
+ this.reqId = reqId;
+ this.resTopicBytes = resTopicBytes;
+ this.cacheName = cacheName;
+ this.updaterBytes = updaterBytes;
- this.colBytes = colBytes;
++ this.entries = entries;
+ this.ignoreDepOwnership = ignoreDepOwnership;
+ this.skipStore = skipStore;
+ this.depMode = depMode;
+ this.sampleClsName = sampleClsName;
+ this.userVer = userVer;
+ this.ldrParticipants = ldrParticipants;
+ this.clsLdrId = clsLdrId;
+ this.forceLocDep = forceLocDep;
+ }
+
+ /**
+ * @return Request ID.
+ */
+ public long requestId() {
+ return reqId;
+ }
+
+ /**
+ * @return Response topic.
+ */
+ public byte[] responseTopicBytes() {
+ return resTopicBytes;
+ }
+
+ /**
+ * @return Cache name.
+ */
+ public String cacheName() {
+ return cacheName;
+ }
+
+ /**
+ * @return Updater.
+ */
+ public byte[] updaterBytes() {
+ return updaterBytes;
+ }
+
+ /**
- * @return Collection bytes.
++ * @return Entries to update.
+ */
- public byte[] collectionBytes() {
- return colBytes;
++ public Collection<IgniteDataLoaderEntry> entries() {
++ return entries;
+ }
+
+ /**
+ * @return {@code True} to ignore ownership.
+ */
+ public boolean ignoreDeploymentOwnership() {
+ return ignoreDepOwnership;
+ }
+
+ /**
+ * @return Skip store flag.
+ */
+ public boolean skipStore() {
+ return skipStore;
+ }
+
+ /**
+ * @return Deployment mode.
+ */
+ public DeploymentMode deploymentMode() {
+ return depMode;
+ }
+
+ /**
+ * @return Sample class name.
+ */
+ public String sampleClassName() {
+ return sampleClsName;
+ }
+
+ /**
+ * @return User version.
+ */
+ public String userVersion() {
+ return userVer;
+ }
+
+ /**
+ * @return Participants.
+ */
+ public Map<UUID, IgniteUuid> participants() {
+ return ldrParticipants;
+ }
+
+ /**
+ * @return Class loader ID.
+ */
+ public IgniteUuid classLoaderId() {
+ return clsLdrId;
+ }
+
+ /**
+ * @return {@code True} to force local deployment.
+ */
+ public boolean forceLocalDeployment() {
+ return forceLocDep;
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(GridDataLoadRequest.class, this);
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
+ writer.setBuffer(buf);
+
+ if (!writer.isHeaderWritten()) {
+ if (!writer.writeHeader(directType(), fieldsCount()))
+ return false;
+
+ writer.onHeaderWritten();
+ }
+
+ switch (writer.state()) {
+ case 0:
+ if (!writer.writeString("cacheName", cacheName))
+ return false;
+
+ writer.incrementState();
+
+ case 1:
+ if (!writer.writeIgniteUuid("clsLdrId", clsLdrId))
+ return false;
+
+ writer.incrementState();
+
+ case 2:
- if (!writer.writeByteArray("colBytes", colBytes))
++ if (!writer.writeByte("depMode", depMode != null ?
(byte)depMode.ordinal() : -1))
+ return false;
+
+ writer.incrementState();
+
+ case 3:
- if (!writer.writeByte("depMode", depMode != null ?
(byte)depMode.ordinal() : -1))
++ if (!writer.writeCollection("entries", entries,
MessageCollectionItemType.MSG))
+ return false;
+
+ writer.incrementState();
+
+ case 4:
+ if (!writer.writeBoolean("forceLocDep", forceLocDep))
+ return false;
+
+ writer.incrementState();
+
+ case 5:
+ if (!writer.writeBoolean("ignoreDepOwnership",
ignoreDepOwnership))
+ return false;
+
+ writer.incrementState();
+
+ case 6:
+ if (!writer.writeMap("ldrParticipants", ldrParticipants,
MessageCollectionItemType.UUID, MessageCollectionItemType.IGNITE_UUID))
+ return false;
+
+ writer.incrementState();
+
+ case 7:
+ if (!writer.writeLong("reqId", reqId))
+ return false;
+
+ writer.incrementState();
+
+ case 8:
+ if (!writer.writeByteArray("resTopicBytes", resTopicBytes))
+ return false;
+
+ writer.incrementState();
+
+ case 9:
+ if (!writer.writeString("sampleClsName", sampleClsName))
+ return false;
+
+ writer.incrementState();
+
+ case 10:
+ if (!writer.writeBoolean("skipStore", skipStore))
+ return false;
+
+ writer.incrementState();
+
+ case 11:
+ if (!writer.writeByteArray("updaterBytes", updaterBytes))
+ return false;
+
+ writer.incrementState();
+
+ case 12:
+ if (!writer.writeString("userVer", userVer))
+ return false;
+
+ writer.incrementState();
+
+ }
+
+ return true;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
+ reader.setBuffer(buf);
+
+ if (!reader.beforeMessageRead())
+ return false;
+
+ switch (reader.state()) {
+ case 0:
+ cacheName = reader.readString("cacheName");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 1:
+ clsLdrId = reader.readIgniteUuid("clsLdrId");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 2:
- colBytes = reader.readByteArray("colBytes");
++ byte depModeOrd;
++
++ depModeOrd = reader.readByte("depMode");
+
+ if (!reader.isLastRead())
+ return false;
+
++ depMode = DeploymentMode.fromOrdinal(depModeOrd);
++
+ reader.incrementState();
+
+ case 3:
- byte depModeOrd;
-
- depModeOrd = reader.readByte("depMode");
++ entries = reader.readCollection("entries",
MessageCollectionItemType.MSG);
+
+ if (!reader.isLastRead())
+ return false;
+
- depMode = DeploymentMode.fromOrdinal(depModeOrd);
-
+ reader.incrementState();
+
+ case 4:
+ forceLocDep = reader.readBoolean("forceLocDep");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 5:
+ ignoreDepOwnership = reader.readBoolean("ignoreDepOwnership");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 6:
+ ldrParticipants = reader.readMap("ldrParticipants",
MessageCollectionItemType.UUID, MessageCollectionItemType.IGNITE_UUID, false);
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 7:
+ reqId = reader.readLong("reqId");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 8:
+ resTopicBytes = reader.readByteArray("resTopicBytes");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 9:
+ sampleClsName = reader.readString("sampleClsName");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 10:
+ skipStore = reader.readBoolean("skipStore");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 11:
+ updaterBytes = reader.readByteArray("updaterBytes");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 12:
+ userVer = reader.readString("userVer");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ }
+
+ return true;
+ }
+
+ /** {@inheritDoc} */
+ @Override public byte directType() {
+ return 62;
+ }
+
+ /** {@inheritDoc} */
+ @Override public byte fieldsCount() {
+ return 13;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00fd3c3c/modules/core/src/main/java/org/apache/ignite/internal/processors/datastream/IgniteDataLoaderEntry.java
----------------------------------------------------------------------
diff --cc
modules/core/src/main/java/org/apache/ignite/internal/processors/datastream/IgniteDataLoaderEntry.java
index 0000000,0000000..94f908b
new file mode 100644
--- /dev/null
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastream/IgniteDataLoaderEntry.java
@@@ -1,0 -1,0 +1,170 @@@
++/*
++ * Licensed to the Apache Software Foundation (ASF) under one or more
++ * contributor license agreements. See the NOTICE file distributed with
++ * this work for additional information regarding copyright ownership.
++ * The ASF licenses this file to You under the Apache License, Version 2.0
++ * (the "License"); you may not use this file except in compliance with
++ * the License. You may obtain a copy of the License at
++ *
++ * http://www.apache.org/licenses/LICENSE-2.0
++ *
++ * Unless required by applicable law or agreed to in writing, software
++ * distributed under the License is distributed on an "AS IS" BASIS,
++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ * See the License for the specific language governing permissions and
++ * limitations under the License.
++ */
++
++package org.apache.ignite.internal.processors.datastream;
++
++import org.apache.ignite.internal.processors.cache.*;
++import org.apache.ignite.internal.util.tostring.*;
++import org.apache.ignite.internal.util.typedef.internal.*;
++import org.apache.ignite.plugin.extensions.communication.*;
++
++import java.nio.*;
++import java.util.*;
++
++/**
++ *
++ */
++public class IgniteDataLoaderEntry implements Map.Entry<KeyCacheObject,
CacheObject>, Message {
++ /** */
++ private static final long serialVersionUID = 0L;
++
++ /** */
++ @GridToStringInclude
++ protected KeyCacheObject key;
++
++ /** */
++ @GridToStringInclude
++ protected CacheObject val;
++
++ /**
++ *
++ */
++ public IgniteDataLoaderEntry() {
++ // No-op.
++ }
++
++ /**
++ * @param key Key.
++ * @param val Value.
++ */
++ public IgniteDataLoaderEntry(KeyCacheObject key, CacheObject val) {
++ this.key = key;
++ this.val = val;
++ }
++
++ /** {@inheritDoc} */
++ @Override public KeyCacheObject getKey() {
++ return key;
++ }
++
++ /** {@inheritDoc} */
++ @Override public CacheObject getValue() {
++ return val;
++ }
++
++ /** {@inheritDoc} */
++ @Override public CacheObject setValue(CacheObject val) {
++ CacheObject old = this.val;
++
++ this.val = val;
++
++ return old;
++ }
++
++ /**
++ * @param ctx Cache context.
++ * @return Map entry unwrapping internal key and value.
++ */
++ public <K, V> Map.Entry<K, V> toEntry(final GridCacheContext ctx) {
++ return new Map.Entry<K, V>() {
++ @Override public K getKey() {
++ return key.value(ctx.cacheObjectContext(), false);
++ }
++
++ @Override public V setValue(V val) {
++ throw new UnsupportedOperationException();
++ }
++
++ @Override public V getValue() {
++ return val != null ? val.<V>value(ctx.cacheObjectContext(),
false) : null;
++ }
++ };
++ }
++
++ /** {@inheritDoc} */
++ @Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
++ writer.setBuffer(buf);
++
++ if (!writer.isHeaderWritten()) {
++ if (!writer.writeHeader(directType(), fieldsCount()))
++ return false;
++
++ writer.onHeaderWritten();
++ }
++
++ switch (writer.state()) {
++ case 0:
++ if (!writer.writeMessage("key", key))
++ return false;
++
++ writer.incrementState();
++
++ case 1:
++ if (!writer.writeMessage("val", val))
++ return false;
++
++ writer.incrementState();
++
++ }
++
++ return true;
++ }
++
++ /** {@inheritDoc} */
++ @Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
++ reader.setBuffer(buf);
++
++ if (!reader.beforeMessageRead())
++ return false;
++
++ switch (reader.state()) {
++ case 0:
++ key = reader.readMessage("key");
++
++ if (!reader.isLastRead())
++ return false;
++
++ reader.incrementState();
++
++ case 1:
++ val = reader.readMessage("val");
++
++ if (!reader.isLastRead())
++ return false;
++
++ reader.incrementState();
++
++ }
++
++ return true;
++ }
++
++ /** {@inheritDoc} */
++ @Override public byte directType() {
++ return 95;
++ }
++
++ /** {@inheritDoc} */
++ @Override public byte fieldsCount() {
++ return 2;
++ }
++
++ /** {@inheritDoc} */
++ @Override public String toString() {
++ return S.toString(IgniteDataLoaderEntry.class, this);
++ }
++}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00fd3c3c/modules/core/src/main/java/org/apache/ignite/internal/processors/datastream/IgniteDataStreamerCacheUpdaters.java
----------------------------------------------------------------------
diff --cc
modules/core/src/main/java/org/apache/ignite/internal/processors/datastream/IgniteDataStreamerCacheUpdaters.java
index 629c7b1,0000000..af3f358
mode 100644,000000..100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastream/IgniteDataStreamerCacheUpdaters.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastream/IgniteDataStreamerCacheUpdaters.java
@@@ -1,199 -1,0 +1,206 @@@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.processors.datastream;
+
+import org.apache.ignite.*;
+import org.apache.ignite.internal.processors.cache.*;
+import org.apache.ignite.internal.util.typedef.*;
+import org.jetbrains.annotations.*;
+
+import java.util.*;
+
+/**
+ * Bundled factory for cache updaters.
+ */
+public class IgniteDataStreamerCacheUpdaters {
+ /** */
+ private static final IgniteDataStreamer.Updater INDIVIDUAL = new
Individual();
+
+ /** */
+ private static final IgniteDataStreamer.Updater BATCHED = new Batched();
+
+ /** */
+ private static final IgniteDataStreamer.Updater BATCHED_SORTED = new
BatchedSorted();
+
+ /**
+ * Updates cache using independent {@link
org.apache.ignite.cache.GridCache#put(Object, Object,
org.apache.ignite.lang.IgnitePredicate[])} and
+ * {@link org.apache.ignite.cache.GridCache#remove(Object,
org.apache.ignite.lang.IgnitePredicate[])} operations. Thus it is safe from
deadlocks but performance
+ * is not the best.
+ *
+ * @return Single updater.
+ */
+ public static <K, V> IgniteDataStreamer.Updater<K, V> individual() {
+ return INDIVIDUAL;
+ }
+
+ /**
+ * Updates cache using batched methods {@link
org.apache.ignite.cache.GridCache#putAll(Map,
org.apache.ignite.lang.IgnitePredicate[])} and
+ * {@link org.apache.ignite.cache.GridCache#removeAll(Collection,
org.apache.ignite.lang.IgnitePredicate[])}. Can cause deadlocks if the same
keys are getting
+ * updated concurrently. Performance is generally better than in {@link
#individual()}.
+ *
+ * @return Batched updater.
+ */
+ public static <K, V> IgniteDataStreamer.Updater<K, V> batched() {
+ return BATCHED;
+ }
+
+ /**
+ * Updates cache using batched methods {@link
org.apache.ignite.cache.GridCache#putAll(Map,
org.apache.ignite.lang.IgnitePredicate[])} and
+ * {@link org.apache.ignite.cache.GridCache#removeAll(Collection,
org.apache.ignite.lang.IgnitePredicate[])}. Keys are sorted in natural order
and if all updates
+ * use the same rule deadlock can not happen. Performance is generally
better than in {@link #individual()}.
+ *
+ * @return Batched sorted updater.
+ */
+ public static <K extends Comparable<?>, V> IgniteDataStreamer.Updater<K,
V> batchedSorted() {
+ return BATCHED_SORTED;
+ }
+
+ /**
+ * Updates cache.
+ *
+ * @param cache Cache.
+ * @param rmvCol Keys to remove.
+ * @param putMap Entries to put.
+ * @throws IgniteException If failed.
+ */
+ protected static <K, V> void updateAll(IgniteCache<K, V> cache, @Nullable
Set<K> rmvCol,
+ Map<K, V> putMap) {
+ assert rmvCol != null || putMap != null;
+
+ // Here we assume that there are no key duplicates, so the following
calls are valid.
+ if (rmvCol != null)
+ ((IgniteCacheProxy<K, V>)cache).removeAll(rmvCol);
+
+ if (putMap != null)
+ cache.putAll(putMap);
+ }
+
+ /**
+ * Simple cache updater implementation. Updates keys one by one thus is
not dead lock prone.
+ */
- private static class Individual<K, V> implements
IgniteDataStreamer.Updater<K, V> {
++ private static class Individual<K, V> implements
IgniteDataStreamer.Updater<K, V>, InternalUpdater {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** {@inheritDoc} */
+ @Override public void update(IgniteCache<K, V> cache,
Collection<Map.Entry<K, V>> entries) {
+ assert cache != null;
+ assert !F.isEmpty(entries);
+
+ for (Map.Entry<K, V> entry : entries) {
+ K key = entry.getKey();
+
+ assert key != null;
+
+ V val = entry.getValue();
+
+ if (val == null)
+ cache.remove(key);
+ else
+ cache.put(key, val);
+ }
+ }
+ }
+
+ /**
+ * Batched updater. Updates cache using batch operations thus is dead
lock prone.
+ */
- private static class Batched<K, V> implements
IgniteDataStreamer.Updater<K, V> {
++ private static class Batched<K, V> implements
IgniteDataStreamer.Updater<K, V>, InternalUpdater {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** {@inheritDoc} */
+ @Override public void update(IgniteCache<K, V> cache,
Collection<Map.Entry<K, V>> entries) {
+ assert cache != null;
+ assert !F.isEmpty(entries);
+
+ Map<K, V> putAll = null;
+ Set<K> rmvAll = null;
+
+ for (Map.Entry<K, V> entry : entries) {
+ K key = entry.getKey();
+
+ assert key != null;
+
+ V val = entry.getValue();
+
+ if (val == null) {
+ if (rmvAll == null)
+ rmvAll = new HashSet<>();
+
+ rmvAll.add(key);
+ }
+ else {
+ if (putAll == null)
+ putAll = new HashMap<>();
+
+ putAll.put(key, val);
+ }
+ }
+
+ updateAll(cache, rmvAll, putAll);
+ }
+ }
+
+ /**
+ * Batched updater. Updates cache using batch operations thus is dead
lock prone.
+ */
- private static class BatchedSorted<K, V> implements
IgniteDataStreamer.Updater<K, V> {
++ private static class BatchedSorted<K, V> implements
IgniteDataStreamer.Updater<K, V>, InternalUpdater {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** {@inheritDoc} */
+ @Override public void update(IgniteCache<K, V> cache,
Collection<Map.Entry<K, V>> entries) {
+ assert cache != null;
+ assert !F.isEmpty(entries);
+
+ Map<K, V> putAll = null;
+ Set<K> rmvAll = null;
+
+ for (Map.Entry<K, V> entry : entries) {
+ K key = entry.getKey();
+
+ assert key instanceof Comparable;
+
+ V val = entry.getValue();
+
+ if (val == null) {
+ if (rmvAll == null)
+ rmvAll = new TreeSet<>();
+
+ rmvAll.add(key);
+ }
+ else {
+ if (putAll == null)
+ putAll = new TreeMap<>();
+
+ putAll.put(key, val);
+ }
+ }
+
+ updateAll(cache, rmvAll, putAll);
+ }
+ }
++
++ /**
++ * Marker interface for updaters which do not need to unwrap cache
objects.
++ */
++ public static interface InternalUpdater {
++ // No-op.
++ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/00fd3c3c/modules/core/src/main/java/org/apache/ignite/internal/processors/datastream/IgniteDataStreamerFuture.java
----------------------------------------------------------------------
diff --cc
modules/core/src/main/java/org/apache/ignite/internal/processors/datastream/IgniteDataStreamerFuture.java
index 91fbdf0,0000000..8ed4271
mode 100644,000000..100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastream/IgniteDataStreamerFuture.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastream/IgniteDataStreamerFuture.java
@@@ -1,66 -1,0 +1,69 @@@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.processors.datastream;
+
+import org.apache.ignite.*;
+import org.apache.ignite.internal.*;
+import org.apache.ignite.internal.util.future.*;
+import org.apache.ignite.internal.util.tostring.*;
+import org.apache.ignite.internal.util.typedef.internal.*;
+
+/**
+ * Data streamer future.
+ */
+class IgniteDataStreamerFuture extends GridFutureAdapter<Object> {
++ /** */
++ private static final long serialVersionUID = 0L;
++
+ /** Data loader. */
+ @GridToStringExclude
+ private IgniteDataStreamerImpl dataLdr;
+
+ /**
+ * Default constructor for {@link java.io.Externalizable} support.
+ */
+ public IgniteDataStreamerFuture() {
+ // No-op.
+ }
+
+ /**
+ * @param ctx Context.
+ * @param dataLdr Data streamer.
+ */
+ IgniteDataStreamerFuture(GridKernalContext ctx, IgniteDataStreamerImpl
dataLdr) {
+ assert dataLdr != null;
+
+ this.dataLdr = dataLdr;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean cancel() throws IgniteCheckedException {
+ if (onCancelled()) {
+ dataLdr.closeEx(true);
+
+ return true;
+ }
+
+ return false;
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(IgniteDataStreamerFuture.class, this,
super.toString());
+ }
+}