Merge branch 'sprint-1' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into ingite-9655-merge
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/38121645 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/38121645 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/38121645 Branch: refs/heads/sprint-1 Commit: 3812164589467584535db8f01464853cfe0d14bd Parents: 8bc8026 9502c0d Author: Alexey Goncharuk <agoncha...@gridgain.com> Authored: Thu Jan 29 13:58:01 2015 -0800 Committer: Alexey Goncharuk <agoncha...@gridgain.com> Committed: Thu Jan 29 13:58:01 2015 -0800 ---------------------------------------------------------------------- assembly/libs/readme.txt | 111 +- assembly/release-base-fabric.xml | 2 +- docs/core-site.gridgain.xml | 89 - docs/core-site.ignite.xml | 89 + docs/gridgain_readme.md | 149 - docs/gridgain_readme.pdf | Bin 407698 -> 0 bytes docs/hadoop_readme.md | 80 +- docs/hadoop_readme.pdf | Bin 411788 -> 82297 bytes docs/hive-site.gridgain.xml | 36 - docs/hive-site.ignite.xml | 36 + docs/ignite_readme.md | 100 + docs/ignite_readme.pdf | Bin 0 -> 76810 bytes docs/mapred-site.gridgain.xml | 79 - docs/mapred-site.ignite.xml | 79 + examples/config/filesystem/readme.txt | 4 +- .../hibernate/example-hibernate-L2-cache.xml | 14 +- examples/config/hibernate/readme.txt | 4 +- examples/config/servlet/readme.txt | 2 +- .../ComputeFibonacciContinuationExample.java | 13 +- .../compute/ComputeRunnableExample.java | 7 +- .../datagrid/CacheDataLoaderExample.java | 15 +- .../HibernateL2CacheExampleNodeStartup.java | 6 +- .../examples/ScalarContinuationExample.scala | 11 +- ipc/readme.txt | 4 +- ipc/shmem/Makefile.am | 2 +- ipc/shmem/Makefile.in | 2 +- ipc/shmem/configure | 4 +- ipc/shmem/configure.ac | 2 +- ipc/shmem/ggshmem/Makefile.am | 23 - ipc/shmem/ggshmem/Makefile.in | 589 -- ..._util_ipc_shmem_GridIpcSharedMemoryUtils.cpp | 882 -- ipc/shmem/igniteshmem/Makefile.am | 23 + ipc/shmem/igniteshmem/Makefile.in | 589 ++ ...rnal_util_ipc_shmem_IpcSharedMemoryUtils.cpp | 882 ++ ipc/shmem/include/Makefile.am | 2 +- ipc/shmem/include/Makefile.in | 2 +- ...ternal_util_ipc_shmem_IpcSharedMemoryUtils.h | 117 + ...id_util_ipc_shmem_GridIpcSharedMemoryUtils.h | 117 - ipc/shmem/readme.txt | 17 +- modules/aop/readme.txt | 12 +- .../apache/ignite/gridify/AbstractAopTest.java | 2 +- .../apache/ignite/gridify/TestGridifyTask.java | 2 +- .../singlesplit/SingleSplitsLoadTest.java | 2 +- modules/aws/readme.txt | 12 +- .../spi/checkpoint/s3/S3CheckpointSpi.java | 4 +- .../ClientAbstractMultiThreadedSelfTest.java | 8 +- .../ignite/client/ClientStartNodeTask.java | 2 +- .../ClientPropertiesConfigurationSelfTest.java | 4 +- .../ClientAbstractMultiNodeSelfTest.java | 5 +- .../integration/ClientAbstractSelfTest.java | 8 +- .../rest/RestBinaryProtocolSelfTest.java | 2 +- .../rest/RestProcessorStartSelfTest.java | 3 +- .../rest/TaskCommandHandlerSelfTest.java | 2 +- .../java/META-INF/native/linux64/libggshmem.so | Bin 138023 -> 0 bytes .../META-INF/native/linux64/libigniteshmem.so | Bin 0 -> 138345 bytes .../java/META-INF/native/osx/libggshmem.dylib | Bin 32940 -> 0 bytes .../META-INF/native/osx/libigniteshmem.dylib | Bin 0 -> 33116 bytes .../java/org/apache/ignite/IgniteCache.java | 40 +- .../apache/ignite/IgniteCheckedException.java | 2 +- .../java/org/apache/ignite/IgniteCluster.java | 2 +- .../java/org/apache/ignite/IgniteCompute.java | 2 +- .../org/apache/ignite/IgniteDataLoader.java | 14 +- .../java/org/apache/ignite/IgniteEvents.java | 2 +- .../java/org/apache/ignite/IgniteException.java | 2 +- .../main/java/org/apache/ignite/IgniteFs.java | 2 +- .../java/org/apache/ignite/IgniteManaged.java | 2 +- .../java/org/apache/ignite/IgniteMessaging.java | 2 +- .../java/org/apache/ignite/IgniteScheduler.java | 6 +- .../apache/ignite/IgniteSystemProperties.java | 6 +- .../main/java/org/apache/ignite/Ignition.java | 38 +- .../org/apache/ignite/cache/CacheEntry.java | 27 +- .../java/org/apache/ignite/cache/CacheLock.java | 57 - .../org/apache/ignite/cache/CacheManager.java | 10 +- .../apache/ignite/cache/CacheProjection.java | 43 +- .../apache/ignite/cache/CachingProvider.java | 2 +- .../java/org/apache/ignite/cache/GridCache.java | 5 +- .../ignite/cache/GridCacheVersionedEntry.java | 82 + .../apache/ignite/cache/query/CacheQueries.java | 7 +- .../ignite/cache/query/CacheQueryFuture.java | 4 +- .../ignite/compute/ComputeTaskFuture.java | 4 +- .../ignite/compute/ComputeTaskSession.java | 3 +- .../ignite/fs/mapreduce/IgniteFsTask.java | 2 +- .../org/apache/ignite/hadoop/GridHadoop.java | 6 +- .../ignite/internal/ClusterGroupAdapter.java | 2 +- .../internal/ClusterNodeLocalMapImpl.java | 2 +- .../java/org/apache/ignite/internal/GridEx.java | 143 - .../org/apache/ignite/internal/GridGainEx.java | 2399 ----- .../ignite/internal/GridJobSessionImpl.java | 2 +- .../org/apache/ignite/internal/GridKernal.java | 3322 ------- .../ignite/internal/GridKernalContext.java | 2 +- .../ignite/internal/GridKernalContextImpl.java | 8 +- .../apache/ignite/internal/GridLoggerProxy.java | 2 +- .../ignite/internal/GridTaskSessionImpl.java | 2 +- .../ignite/internal/GridUpdateNotifier.java | 2 +- .../ignite/internal/IgniteClusterAsyncImpl.java | 13 +- .../ignite/internal/IgniteComputeImpl.java | 70 +- .../ignite/internal/IgniteEventsImpl.java | 9 +- .../org/apache/ignite/internal/IgniteEx.java | 143 + .../ignite/internal/IgniteInternalFuture.java | 190 + .../apache/ignite/internal/IgniteKernal.java | 3322 +++++++ .../ignite/internal/IgniteManagedImpl.java | 2 +- .../ignite/internal/IgniteMessagingImpl.java | 12 +- .../ignite/internal/IgniteSchedulerImpl.java | 6 +- .../org/apache/ignite/internal/IgnitionEx.java | 2396 +++++ .../internal/executor/GridExecutorService.java | 46 +- .../managers/communication/GridIoManager.java | 3 +- .../discovery/GridDiscoveryManager.java | 2 +- .../eventstorage/GridEventStorageManager.java | 4 +- .../affinity/GridAffinityAssignmentCache.java | 5 +- .../affinity/GridAffinityProcessor.java | 8 +- .../processors/affinity/GridAffinityUtils.java | 2 +- .../processors/cache/CacheLockImpl.java | 134 +- .../processors/cache/GridCacheAdapter.java | 376 +- .../cache/GridCacheAffinityManager.java | 8 +- .../cache/GridCacheAtomicVersionComparator.java | 2 + .../cache/GridCacheBatchSwapEntry.java | 1 + .../cache/GridCacheClearAllRunnable.java | 1 + .../processors/cache/GridCacheContext.java | 60 +- .../cache/GridCacheDeploymentManager.java | 2 +- .../processors/cache/GridCacheEntryEx.java | 9 + .../processors/cache/GridCacheEntryImpl.java | 27 +- .../processors/cache/GridCacheEntryInfo.java | 1 + .../cache/GridCacheEvictionEntry.java | 27 +- .../cache/GridCacheEvictionManager.java | 5 +- .../cache/GridCacheEvictionRequest.java | 1 + .../cache/GridCacheExplicitLockSpan.java | 5 +- .../cache/GridCacheFilterEvaluationEntry.java | 27 +- .../processors/cache/GridCacheFuture.java | 4 +- .../processors/cache/GridCacheIoManager.java | 15 +- .../cache/GridCacheLockTimeoutException.java | 2 + .../processors/cache/GridCacheMapEntry.java | 117 +- .../cache/GridCacheMultiTxFuture.java | 6 +- .../processors/cache/GridCacheMvcc.java | 1 + .../cache/GridCacheMvccCandidate.java | 5 +- .../processors/cache/GridCacheMvccManager.java | 30 +- .../cache/GridCacheOffheapSwapEntry.java | 1 + .../GridCachePartitionExchangeManager.java | 9 +- .../processors/cache/GridCachePreloader.java | 7 +- .../cache/GridCachePreloaderAdapter.java | 9 +- .../processors/cache/GridCacheProcessor.java | 10 +- .../processors/cache/GridCacheProjectionEx.java | 28 +- .../cache/GridCacheProjectionImpl.java | 70 +- .../processors/cache/GridCacheProxyImpl.java | 74 +- .../cache/GridCacheSharedContext.java | 14 +- .../processors/cache/GridCacheStoreManager.java | 19 +- .../processors/cache/GridCacheSwapEntry.java | 1 + .../cache/GridCacheSwapEntryImpl.java | 1 + .../processors/cache/GridCacheSwapManager.java | 1 + .../processors/cache/GridCacheTtlManager.java | 1 + .../cache/GridCacheUpdateAtomicResult.java | 7 +- .../processors/cache/GridCacheUtils.java | 8 +- .../processors/cache/GridCacheVersion.java | 256 - .../processors/cache/GridCacheVersionEx.java | 104 - .../cache/GridCacheVersionManager.java | 281 - .../processors/cache/GridCacheVersionable.java | 28 - .../processors/cache/GridDrResolveResult.java | 63 - .../cache/IgniteCacheExpiryPolicy.java | 1 + .../processors/cache/IgniteCacheProxy.java | 70 +- .../GridCacheAtomicSequenceImpl.java | 3 +- .../GridCacheDataStructuresManager.java | 4 +- .../distributed/GridCacheCommittedTxInfo.java | 2 +- .../distributed/GridCacheMappedVersion.java | 2 +- ...ridCacheOptimisticCheckPreparedTxFuture.java | 8 +- ...idCacheOptimisticCheckPreparedTxRequest.java | 2 +- ...dCacheOptimisticCheckPreparedTxResponse.java | 2 +- .../distributed/GridCacheTtlUpdateRequest.java | 1 + .../distributed/GridCacheTxFinishSync.java | 8 +- .../distributed/GridDistributedBaseMessage.java | 1 + .../GridDistributedCacheAdapter.java | 8 +- .../distributed/GridDistributedCacheEntry.java | 1 + .../distributed/GridDistributedLockRequest.java | 1 + .../GridDistributedLockResponse.java | 1 + .../GridDistributedTxFinishRequest.java | 1 + .../GridDistributedTxFinishResponse.java | 1 + .../distributed/GridDistributedTxMapping.java | 1 + .../GridDistributedTxPrepareRequest.java | 1 + .../GridDistributedTxPrepareResponse.java | 1 + .../GridDistributedTxRemoteAdapter.java | 65 +- .../distributed/dht/GridDhtCacheAdapter.java | 13 +- .../distributed/dht/GridDhtCacheEntry.java | 8 +- .../distributed/dht/GridDhtEmbeddedFuture.java | 8 +- .../cache/distributed/dht/GridDhtFuture.java | 4 +- .../cache/distributed/dht/GridDhtGetFuture.java | 12 +- .../distributed/dht/GridDhtLocalPartition.java | 6 +- .../distributed/dht/GridDhtLockFuture.java | 12 +- .../distributed/dht/GridDhtLockRequest.java | 1 + .../distributed/dht/GridDhtLockResponse.java | 1 + .../distributed/dht/GridDhtTopologyFuture.java | 4 +- .../dht/GridDhtTransactionalCacheAdapter.java | 30 +- .../distributed/dht/GridDhtTxFinishFuture.java | 12 +- .../distributed/dht/GridDhtTxFinishRequest.java | 1 + .../dht/GridDhtTxFinishResponse.java | 2 +- .../cache/distributed/dht/GridDhtTxLocal.java | 20 +- .../distributed/dht/GridDhtTxLocalAdapter.java | 12 +- .../distributed/dht/GridDhtTxPrepareFuture.java | 12 +- .../dht/GridDhtTxPrepareRequest.java | 1 + .../dht/GridDhtTxPrepareResponse.java | 1 + .../cache/distributed/dht/GridDhtTxRemote.java | 1 + .../dht/GridPartitionedGetFuture.java | 33 +- .../dht/atomic/GridDhtAtomicCache.java | 129 +- .../GridDhtAtomicDeferredUpdateResponse.java | 1 + .../dht/atomic/GridDhtAtomicUpdateFuture.java | 1 + .../dht/atomic/GridDhtAtomicUpdateRequest.java | 1 + .../dht/atomic/GridDhtAtomicUpdateResponse.java | 1 + .../dht/atomic/GridNearAtomicUpdateFuture.java | 35 +- .../dht/atomic/GridNearAtomicUpdateRequest.java | 1 + .../atomic/GridNearAtomicUpdateResponse.java | 1 + .../dht/colocated/GridDhtColocatedCache.java | 25 +- .../colocated/GridDhtColocatedLockFuture.java | 24 +- .../colocated/GridDhtDetachedCacheEntry.java | 1 + .../dht/preloader/GridDhtForceKeysFuture.java | 7 +- .../preloader/GridDhtPartitionDemandPool.java | 13 +- .../GridDhtPartitionsAbstractMessage.java | 1 + .../GridDhtPartitionsExchangeFuture.java | 21 +- .../preloader/GridDhtPartitionsFullMessage.java | 1 + .../GridDhtPartitionsSingleMessage.java | 1 + .../dht/preloader/GridDhtPreloader.java | 29 +- .../distributed/near/GridNearAtomicCache.java | 46 +- .../distributed/near/GridNearCacheAdapter.java | 16 +- .../near/GridNearCacheClearAllRunnable.java | 1 + .../distributed/near/GridNearCacheEntry.java | 1 + .../distributed/near/GridNearGetFuture.java | 37 +- .../distributed/near/GridNearGetRequest.java | 1 + .../distributed/near/GridNearGetResponse.java | 1 + .../distributed/near/GridNearLockFuture.java | 24 +- .../distributed/near/GridNearLockRequest.java | 1 + .../distributed/near/GridNearLockResponse.java | 1 + .../near/GridNearTransactionalCache.java | 10 +- .../near/GridNearTxFinishFuture.java | 18 +- .../near/GridNearTxFinishRequest.java | 2 +- .../near/GridNearTxFinishResponse.java | 1 + .../cache/distributed/near/GridNearTxLocal.java | 57 +- .../near/GridNearTxPrepareFuture.java | 18 +- .../near/GridNearTxPrepareResponse.java | 1 + .../distributed/near/GridNearTxRemote.java | 1 + .../cache/dr/GridCacheDrExpirationInfo.java | 2 +- .../processors/cache/dr/GridCacheDrInfo.java | 2 +- .../processors/cache/dr/GridCacheDrManager.java | 58 +- .../cache/dr/os/GridOsCacheDrManager.java | 36 +- .../extras/GridCacheAttributesEntryExtras.java | 1 + .../GridCacheAttributesMvccEntryExtras.java | 1 + ...dCacheAttributesMvccObsoleteEntryExtras.java | 1 + ...cheAttributesMvccObsoleteTtlEntryExtras.java | 1 + .../GridCacheAttributesMvccTtlEntryExtras.java | 1 + .../GridCacheAttributesObsoleteEntryExtras.java | 1 + ...idCacheAttributesObsoleteTtlEntryExtras.java | 1 + .../GridCacheAttributesTtlEntryExtras.java | 1 + .../cache/extras/GridCacheEntryExtras.java | 1 + .../extras/GridCacheEntryExtrasAdapter.java | 1 + .../cache/extras/GridCacheMvccEntryExtras.java | 1 + .../GridCacheMvccObsoleteEntryExtras.java | 1 + .../GridCacheMvccObsoleteTtlEntryExtras.java | 1 + .../extras/GridCacheMvccTtlEntryExtras.java | 1 + .../extras/GridCacheObsoleteEntryExtras.java | 1 + .../extras/GridCacheObsoleteTtlEntryExtras.java | 1 + .../cache/extras/GridCacheTtlEntryExtras.java | 1 + .../processors/cache/local/GridLocalCache.java | 8 +- .../cache/local/GridLocalCacheEntry.java | 1 + .../cache/local/GridLocalLockFuture.java | 1 + .../processors/cache/local/GridLocalTx.java | 12 +- .../cache/local/GridLocalTxFuture.java | 1 + .../local/atomic/GridLocalAtomicCache.java | 140 +- .../GridCacheDistributedFieldsQueryFuture.java | 4 +- .../query/GridCacheDistributedQueryManager.java | 9 +- .../query/GridCacheFieldsQueryErrorFuture.java | 3 +- .../query/GridCacheLocalFieldsQueryFuture.java | 4 +- .../cache/query/GridCacheLocalQueryFuture.java | 3 +- .../cache/query/GridCacheQueriesEx.java | 6 +- .../cache/query/GridCacheQueriesImpl.java | 11 +- .../cache/query/GridCacheQueriesProxy.java | 11 +- .../cache/query/GridCacheQueryManager.java | 54 +- .../query/GridCacheQueryMetadataAware.java | 4 +- .../GridCacheContinuousQueryEntry.java | 27 +- .../jdbc/GridCacheQueryJdbcMetadataTask.java | 2 +- .../query/jdbc/GridCacheQueryJdbcTask.java | 2 +- .../transactions/IgniteTransactionsImpl.java | 3 +- .../cache/transactions/IgniteTxAdapter.java | 59 +- .../cache/transactions/IgniteTxEntry.java | 1 + .../cache/transactions/IgniteTxEx.java | 10 +- .../cache/transactions/IgniteTxHandler.java | 43 +- .../transactions/IgniteTxLocalAdapter.java | 167 +- .../cache/transactions/IgniteTxLocalEx.java | 18 +- .../cache/transactions/IgniteTxManager.java | 10 +- .../cache/transactions/IgniteTxProxyImpl.java | 11 +- .../cache/transactions/IgniteTxRemoteEx.java | 2 +- .../version/GridCachePlainVersionedEntry.java | 131 + .../version/GridCacheRawVersionedEntry.java | 238 + .../cache/version/GridCacheVersion.java | 256 + ...ridCacheVersionAbstractConflictResolver.java | 56 + .../GridCacheVersionConflictContext.java | 73 + .../GridCacheVersionConflictContextImpl.java | 188 + .../GridCacheVersionConflictResolver.java | 59 + .../cache/version/GridCacheVersionEx.java | 104 + .../cache/version/GridCacheVersionManager.java | 282 + .../cache/version/GridCacheVersionable.java | 28 + .../version/GridCacheVersionedEntryEx.java | 31 + .../closure/GridClosureProcessor.java | 56 +- .../continuous/GridContinuousProcessor.java | 4 +- .../dataload/GridDataLoaderProcessor.java | 5 +- .../dataload/IgniteDataLoaderImpl.java | 87 +- .../dr/GridDrDataLoadCacheUpdater.java | 8 +- .../processors/dr/GridRawVersionedEntry.java | 210 - .../processors/dr/GridVersionedEntry.java | 80 - .../email/IgniteEmailProcessorAdapter.java | 5 +- .../email/IgniteNoopEmailProcessor.java | 5 +- .../processors/fs/GridGgfsAsyncImpl.java | 10 +- .../processors/fs/GridGgfsDataManager.java | 30 +- .../internal/processors/fs/GridGgfsEx.java | 3 +- .../internal/processors/fs/GridGgfsImpl.java | 20 +- .../processors/fs/GridGgfsInputStreamImpl.java | 19 +- .../processors/fs/GridGgfsIpcHandler.java | 4 +- .../processors/fs/GridGgfsMetaManager.java | 9 +- .../internal/processors/fs/GridGgfsServer.java | 34 +- .../processors/fs/GridGgfsServerHandler.java | 4 +- .../processors/fs/GridGgfsServerManager.java | 8 +- .../processors/fs/IgniteFsNoopProcessor.java | 2 +- .../processors/fs/IgniteFsOutputStreamImpl.java | 3 +- .../processors/fs/IgniteFsProcessor.java | 4 +- .../processors/fs/IgniteFsProcessorAdapter.java | 2 +- .../hadoop/IgniteHadoopNoopProcessor.java | 5 +- .../hadoop/IgniteHadoopProcessorAdapter.java | 5 +- .../processors/query/GridQueryIndexing.java | 4 +- .../processors/query/GridQueryProcessor.java | 12 +- .../resource/GridResourceProcessor.java | 2 +- .../resource/GridSpringResourceContext.java | 2 +- .../processors/rest/GridRestProcessor.java | 18 +- .../rest/GridRestProtocolHandler.java | 4 +- .../rest/handlers/GridRestCommandHandler.java | 4 +- .../handlers/cache/GridCacheCommandHandler.java | 64 +- .../cache/GridCacheQueryCommandHandler.java | 16 +- .../handlers/log/GridLogCommandHandler.java | 3 +- .../metadata/GridPortableMetadataHandler.java | 3 +- .../handlers/task/GridTaskCommandHandler.java | 14 +- .../top/GridTopologyCommandHandler.java | 3 +- .../version/GridVersionCommandHandler.java | 3 +- .../tcp/GridTcpMemcachedNioListener.java | 17 +- .../protocols/tcp/GridTcpRestNioListener.java | 5 +- .../service/GridServiceProcessor.java | 22 +- .../processors/service/GridServiceProxy.java | 2 +- .../processors/streamer/IgniteStreamerImpl.java | 4 +- .../apache/ignite/internal/util/GridUtils.java | 9109 ----------------- .../ignite/internal/util/IgniteUtils.java | 9141 ++++++++++++++++++ .../GridTcpCommunicationMessageAdapter.java | 1 + .../GridTcpCommunicationMessageState.java | 3 +- .../util/future/GridCompoundFuture.java | 28 +- .../util/future/GridCompoundIdentityFuture.java | 2 +- .../util/future/GridEmbeddedFuture.java | 38 +- .../util/future/GridFinishedFuture.java | 8 +- .../util/future/GridFinishedFutureEx.java | 9 +- .../internal/util/future/GridFutureAdapter.java | 30 +- .../util/future/GridFutureAdapterEx.java | 31 +- .../util/future/GridFutureChainListener.java | 8 +- .../internal/util/ipc/GridIpcEndpoint.java | 49 - .../util/ipc/GridIpcEndpointBindException.java | 47 - .../util/ipc/GridIpcEndpointFactory.java | 84 - .../internal/util/ipc/GridIpcEndpointType.java | 29 - .../util/ipc/GridIpcServerEndpoint.java | 73 - .../ipc/GridIpcServerEndpointDeserializer.java | 66 - .../internal/util/ipc/GridIpcToNioAdapter.java | 250 - .../ignite/internal/util/ipc/IpcEndpoint.java | 49 + .../util/ipc/IpcEndpointBindException.java | 47 + .../internal/util/ipc/IpcEndpointFactory.java | 84 + .../internal/util/ipc/IpcEndpointType.java | 29 + .../internal/util/ipc/IpcServerEndpoint.java | 73 + .../util/ipc/IpcServerEndpointDeserializer.java | 66 + .../internal/util/ipc/IpcToNioAdapter.java | 250 + .../ipc/loopback/GridIpcClientTcpEndpoint.java | 87 - .../ipc/loopback/GridIpcServerTcpEndpoint.java | 179 - .../util/ipc/loopback/IpcClientTcpEndpoint.java | 87 + .../util/ipc/loopback/IpcServerTcpEndpoint.java | 179 + .../GridIpcOutOfSystemResourcesException.java | 59 - .../GridIpcSharedMemoryClientEndpoint.java | 336 - .../shmem/GridIpcSharedMemoryInitRequest.java | 67 - .../shmem/GridIpcSharedMemoryInitResponse.java | 171 - .../shmem/GridIpcSharedMemoryInputStream.java | 99 - .../shmem/GridIpcSharedMemoryNativeLoader.java | 242 - ...cSharedMemoryOperationTimedoutException.java | 59 - .../shmem/GridIpcSharedMemoryOutputStream.java | 80 - .../GridIpcSharedMemoryServerEndpoint.java | 707 -- .../ipc/shmem/GridIpcSharedMemorySpace.java | 374 - .../ipc/shmem/GridIpcSharedMemoryUtils.java | 242 - .../shmem/IpcOutOfSystemResourcesException.java | 59 + .../shmem/IpcSharedMemoryClientEndpoint.java | 336 + .../ipc/shmem/IpcSharedMemoryInitRequest.java | 67 + .../ipc/shmem/IpcSharedMemoryInitResponse.java | 171 + .../ipc/shmem/IpcSharedMemoryInputStream.java | 99 + .../ipc/shmem/IpcSharedMemoryNativeLoader.java | 261 + ...cSharedMemoryOperationTimedoutException.java | 59 + .../ipc/shmem/IpcSharedMemoryOutputStream.java | 80 + .../shmem/IpcSharedMemoryServerEndpoint.java | 707 ++ .../util/ipc/shmem/IpcSharedMemorySpace.java | 374 + .../util/ipc/shmem/IpcSharedMemoryUtils.java | 242 + .../ignite/internal/util/lang/GridFunc.java | 53 +- .../ignite/internal/util/nio/GridNioFuture.java | 2 +- .../util/nio/GridShmemCommunicationClient.java | 4 +- .../apache/ignite/internal/util/typedef/X.java | 6 +- .../internal/util/typedef/internal/U.java | 4 +- .../apache/ignite/internal/visor/VisorJob.java | 2 +- .../internal/visor/VisorMultiNodeTask.java | 2 +- .../ignite/internal/visor/cache/VisorCache.java | 2 +- .../visor/cache/VisorCachePreloadTask.java | 6 +- .../compute/VisorComputeMonitoringHolder.java | 10 +- .../visor/misc/VisorResolveHostNameTask.java | 2 +- .../visor/node/VisorBasicConfiguration.java | 2 +- .../visor/node/VisorGridConfiguration.java | 2 +- .../visor/node/VisorNodeDataCollectorJob.java | 6 +- .../internal/visor/query/VisorQueryTask.java | 2 +- .../internal/visor/query/VisorQueryUtils.java | 4 +- .../apache/ignite/lang/IgniteAsyncSupport.java | 6 +- .../ignite/lang/IgniteAsyncSupportAdapter.java | 25 +- .../ignite/lang/IgniteAsyncSupported.java | 2 +- .../org/apache/ignite/lang/IgniteFuture.java | 189 - .../optimized/IgniteOptimizedMarshaller.java | 2 +- .../ignite/scheduler/SchedulerFuture.java | 4 +- .../communication/tcp/TcpCommunicationSpi.java | 24 +- .../spi/discovery/tcp/TcpDiscoverySpi.java | 4 +- .../StreamerCacheAffinityEventRouter.java | 2 +- .../ignite/GridExceptionHelpLinksSelfTest.java | 106 - .../ignite/GridExternalizableAbstractTest.java | 41 - .../org/apache/ignite/GridTestTaskSession.java | 4 +- .../ignite/IgniteCacheAffinitySelfTest.java | 283 + .../apache/ignite/IgniteCacheAffinityTest.java | 266 - .../IgniteExceptionHelpLinksSelfTest.java | 105 + .../IgniteExternalizableAbstractTest.java | 41 + ...CachePartitionFairAffinityNodesSelfTest.java | 6 +- .../store/GridCacheBalancingStoreSelfTest.java | 3 +- ...CacheJdbcBlobStoreMultithreadedSelfTest.java | 7 +- .../fs/GridGgfsEventsAbstractSelfTest.java | 2 +- .../ignite/fs/GridGgfsFragmentizerSelfTest.java | 2 +- .../internal/GridCancelOnGridStopSelfTest.java | 2 +- .../GridCancelledJobsMetricsSelfTest.java | 2 +- .../internal/GridContinuousTaskSelfTest.java | 4 +- .../internal/GridDiscoveryEventSelfTest.java | 3 +- .../ignite/internal/GridDiscoverySelfTest.java | 4 +- .../GridEventStorageCheckAllEventsSelfTest.java | 4 +- .../internal/GridExecutorServiceTest.java | 315 - .../GridExplicitImplicitDeploymentSelfTest.java | 476 - .../GridFailoverCustomTopologySelfTest.java | 2 +- .../GridJobMasterLeaveAwareSelfTest.java | 90 +- .../ignite/internal/GridKernalTestUtils.java | 3 +- .../internal/GridListenActorSelfTest.java | 3 +- .../internal/GridMultipleJobsSelfTest.java | 8 +- .../internal/GridProjectionAbstractTest.java | 40 +- .../ignite/internal/GridReduceSelfTest.java | 4 +- .../GridTaskCancelSingleNodeSelfTest.java | 2 +- .../internal/GridTaskExecutionSelfTest.java | 2 +- .../GridTaskFutureImplStopGridSelfTest.java | 5 +- .../GridTaskInstanceExecutionSelfTest.java | 2 +- .../internal/GridTaskJobRejectSelfTest.java | 2 +- .../internal/GridTaskListenerSelfTest.java | 4 +- .../GridTopicExternalizableSelfTest.java | 3 +- .../GridTopologyBuildVersionSelfTest.java | 2 +- .../internal/GridUpdateNotifierSelfTest.java | 3 +- .../internal/IgniteExecutorServiceTest.java | 315 + ...gniteExplicitImplicitDeploymentSelfTest.java | 476 + .../GridCheckpointManagerAbstractSelfTest.java | 4 +- .../GridCommunicationSendMessageSelfTest.java | 4 +- .../GridDeploymentMessageCountSelfTest.java | 4 +- .../GridDiscoveryManagerAliveCacheSelfTest.java | 2 +- .../discovery/GridDiscoveryManagerSelfTest.java | 6 +- .../events/GridEventStorageManagerSelfTest.java | 3 +- .../swapspace/GridSwapSpaceManagerSelfTest.java | 2 +- .../GridAffinityProcessorAbstractSelfTest.java | 6 +- .../GridCacheAbstractFailoverSelfTest.java | 3 +- .../cache/GridCacheAbstractFlagsTest.java | 4 +- ...cheAbstractFullApiMultithreadedSelfTest.java | 5 +- .../cache/GridCacheAbstractFullApiSelfTest.java | 473 +- .../GridCacheAbstractIteratorsSelfTest.java | 10 +- .../cache/GridCacheAbstractMetricsSelfTest.java | 28 +- .../GridCacheAbstractProjectionSelfTest.java | 50 + .../GridCacheAbstractRemoveFailureTest.java | 6 +- .../cache/GridCacheAbstractSelfTest.java | 2 +- .../cache/GridCacheAffinityApiSelfTest.java | 4 +- .../GridCacheAsyncOperationsLimitSelfTest.java | 8 +- .../cache/GridCacheBasicApiAbstractTest.java | 229 +- .../cache/GridCacheConcurrentMapTest.java | 6 +- .../GridCacheConcurrentTxMultiNodeTest.java | 6 +- .../cache/GridCacheEntryVersionSelfTest.java | 7 +- .../GridCacheFinishPartitionsSelfTest.java | 52 +- ...CacheFullTextQueryMultithreadedSelfTest.java | 6 +- ...idCacheGetAndTransformStoreAbstractTest.java | 4 +- .../GridCacheGroupLockAbstractSelfTest.java | 19 +- .../GridCacheGroupLockFailoverSelfTest.java | 7 +- .../cache/GridCacheIncrementTransformTest.java | 4 +- .../processors/cache/GridCacheLeakTest.java | 2 +- .../cache/GridCacheLuceneQueryIndexTest.java | 18 +- .../GridCacheMissingCommitVersionSelfTest.java | 3 +- ...GridCacheMixedPartitionExchangeSelfTest.java | 6 +- .../cache/GridCacheMultiUpdateLockSelfTest.java | 5 +- .../cache/GridCacheMvccFlagsTest.java | 5 +- .../cache/GridCacheMvccManagerSelfTest.java | 4 +- .../cache/GridCacheMvccPartitionedSelfTest.java | 5 +- .../processors/cache/GridCacheMvccSelfTest.java | 5 +- .../cache/GridCacheNestedTxAbstractTest.java | 15 +- .../cache/GridCacheObjectToStringSelfTest.java | 2 +- ...HeapMultiThreadedUpdateAbstractSelfTest.java | 5 +- .../GridCacheOffHeapTieredAbstractSelfTest.java | 11 +- .../GridCacheOrderedPreloadingSelfTest.java | 2 +- .../cache/GridCacheP2PUndeploySelfTest.java | 6 +- .../cache/GridCachePartitionedGetSelfTest.java | 2 +- .../GridCachePreloadingEvictionsSelfTest.java | 8 +- .../cache/GridCachePutAllFailoverSelfTest.java | 17 +- .../GridCacheQueryInternalKeysSelfTest.java | 2 +- .../GridCacheReferenceCleanupSelfTest.java | 6 +- ...ridCacheReplicatedSynchronousCommitTest.java | 4 +- .../GridCacheReturnValueTransferSelfTest.java | 2 +- .../cache/GridCacheSlowTxWarnTest.java | 4 +- .../processors/cache/GridCacheStopSelfTest.java | 6 +- .../cache/GridCacheStoreValueBytesSelfTest.java | 4 +- .../cache/GridCacheSwapPreloadSelfTest.java | 4 +- .../cache/GridCacheSwapReloadSelfTest.java | 2 +- .../processors/cache/GridCacheTestEntryEx.java | 6 + .../cache/GridCacheTtlManagerLoadTest.java | 5 +- .../cache/GridCacheTtlManagerSelfTest.java | 2 +- .../GridCacheVariableTopologySelfTest.java | 4 +- .../cache/GridCacheVersionSelfTest.java | 1 + ...idCacheWriteBehindStoreAbstractSelfTest.java | 4 +- .../GridCacheWriteBehindStoreAbstractTest.java | 4 +- .../GridCacheWriteBehindStoreSelfTest.java | 6 +- .../IgniteCacheEntryListenerAbstractTest.java | 7 +- .../cache/IgniteCacheInvokeAbstractTest.java | 14 +- .../processors/cache/IgniteTxAbstractTest.java | 2 +- .../IgniteTxConcurrentGetAbstractTest.java | 3 +- .../IgniteTxExceptionAbstractSelfTest.java | 2 +- .../cache/IgniteTxMultiNodeAbstractTest.java | 6 +- .../IgniteTxMultiThreadedAbstractTest.java | 6 +- .../IgniteTxStoreExceptionAbstractSelfTest.java | 2 +- ...eAbstractDataStructuresFailoverSelfTest.java | 27 +- ...actQueueFailoverDataConsistencySelfTest.java | 9 +- .../GridCacheCountDownLatchSelfTest.java | 10 +- .../GridCacheQueueCleanupSelfTest.java | 5 +- ...ridCacheQueueJoinedNodeSelfAbstractTest.java | 11 +- ...GridCacheQueueMultiNodeAbstractSelfTest.java | 17 +- .../GridCacheSetAbstractSelfTest.java | 15 +- .../GridCacheSetFailoverAbstractSelfTest.java | 6 +- ...PartitionedQueueCreateMultiNodeSelfTest.java | 6 +- ...dCachePartitionedQueueEntryMoveSelfTest.java | 6 +- .../GridCacheAbstractJobExecutionTest.java | 8 +- .../GridCacheAtomicTimeoutSelfTest.java | 11 +- .../GridCacheBasicOpAbstractTest.java | 7 +- .../distributed/GridCacheEventAbstractTest.java | 2 +- ...heExpiredEntriesPreloadAbstractSelfTest.java | 2 +- .../distributed/GridCacheLockAbstractTest.java | 68 +- .../GridCacheMultiNodeAbstractTest.java | 15 +- .../GridCacheMultiNodeLockAbstractTest.java | 141 +- ...dCacheMultithreadedFailoverAbstractTest.java | 4 +- .../GridCacheNodeFailureAbstractTest.java | 6 +- ...iteTxConsistencyRestartAbstractSelfTest.java | 4 +- ...xOriginatingNodeFailureAbstractSelfTest.java | 10 +- ...cOriginatingNodeFailureAbstractSelfTest.java | 24 +- .../IgniteTxPreloadAbstractTest.java | 4 +- .../dht/GridCacheAtomicFullApiSelfTest.java | 11 +- .../dht/GridCacheAtomicNearCacheSelfTest.java | 2 +- .../dht/GridCacheColocatedDebugTest.java | 54 +- .../dht/GridCacheDhtEntrySelfTest.java | 2 +- ...GridCacheDhtEvictionNearReadersSelfTest.java | 10 +- .../dht/GridCacheDhtEvictionSelfTest.java | 12 +- .../dht/GridCacheDhtMappingSelfTest.java | 2 +- .../dht/GridCacheDhtPreloadDelayedSelfTest.java | 2 +- .../dht/GridCacheDhtPreloadPutGetSelfTest.java | 6 +- .../dht/GridCacheDhtPreloadSelfTest.java | 5 +- .../GridCacheDhtPreloadStartStopSelfTest.java | 5 +- .../dht/GridCacheGlobalLoadTest.java | 2 +- ...dCachePartitionedTopologyChangeSelfTest.java | 60 +- ...itionedTxOriginatingNodeFailureSelfTest.java | 8 +- ...eAtomicInvalidPartitionHandlingSelfTest.java | 6 +- .../atomic/GridCacheAtomicPreloadSelfTest.java | 4 +- ...GridCacheValueConsistencyAtomicSelfTest.java | 2 +- .../near/GridCacheNearMultiNodeSelfTest.java | 31 +- .../near/GridCacheNearOneNodeSelfTest.java | 42 +- .../near/GridCacheNearReadersSelfTest.java | 17 +- .../near/GridCacheNearTxMultiNodeSelfTest.java | 2 +- .../near/GridCachePartitionedBasicApiTest.java | 4 +- .../GridCachePartitionedEntryLockSelfTest.java | 7 +- ...titionedExplicitLockNodeFailureSelfTest.java | 6 +- .../GridCachePartitionedFullApiSelfTest.java | 4 +- .../GridCachePartitionedLoadCacheSelfTest.java | 2 +- ...achePartitionedMultiNodeCounterSelfTest.java | 2 +- ...achePartitionedMultiNodeFullApiSelfTest.java | 7 +- .../GridCachePartitionedProjectionSelfTest.java | 4 +- ...hePartitionedQueryMultiThreadedSelfTest.java | 6 +- .../GridCachePartitionedTxSalvageSelfTest.java | 5 +- .../GridCacheReplicatedBasicApiTest.java | 4 +- .../GridCacheReplicatedEvictionSelfTest.java | 5 +- .../GridCacheBatchEvictUnswapSelfTest.java | 5 +- ...heConcurrentEvictionConsistencySelfTest.java | 4 +- .../GridCacheConcurrentEvictionsSelfTest.java | 4 +- .../GridCacheEvictionLockUnlockSelfTest.java | 7 +- .../cache/eviction/GridCacheMockEntry.java | 27 +- ...cheSynchronousEvictionsFailoverSelfTest.java | 4 +- .../IgniteCacheExpiryPolicyAbstractTest.java | 2 +- .../local/GridCacheLocalBasicApiSelfTest.java | 4 +- .../cache/local/GridCacheLocalLockSelfTest.java | 81 +- .../GridCacheLocalMultithreadedSelfTest.java | 85 +- ...ridCacheContinuousQueryAbstractSelfTest.java | 4 +- .../clock/GridTimeSyncProcessorSelfTest.java | 6 +- .../closure/GridClosureProcessorSelfTest.java | 43 +- .../continuous/GridEventConsumeSelfTest.java | 18 +- .../continuous/GridMessageListenSelfTest.java | 4 +- .../GridDataLoaderProcessorSelfTest.java | 23 +- .../processors/fs/GridGgfsAbstractSelfTest.java | 6 +- .../fs/GridGgfsDataManagerSelfTest.java | 9 +- .../processors/fs/GridGgfsModesSelfTest.java | 4 +- .../fs/GridGgfsProcessorSelfTest.java | 2 +- ...IpcEndpointRegistrationAbstractSelfTest.java | 6 +- ...pcEndpointRegistrationOnWindowsSelfTest.java | 4 +- .../processors/fs/GridGgfsSizeSelfTest.java | 8 +- .../processors/fs/GridGgfsTaskSelfTest.java | 7 +- .../cache/GridCacheCommandHandlerSelfTest.java | 13 +- .../GridServiceProcessorAbstractSelfTest.java | 38 +- .../GridServiceProcessorMultiNodeSelfTest.java | 14 +- .../GridServiceReassignmentSelfTest.java | 2 +- .../streamer/GridStreamerFailoverSelfTest.java | 4 +- .../streamer/GridStreamerSelfTest.java | 2 +- .../timeout/GridTimeoutProcessorSelfTest.java | 5 +- ...artupWithSpecifiedWorkDirectorySelfTest.java | 2 +- ...tartupWithUndefinedGridGainHomeSelfTest.java | 4 +- .../internal/util/GridTestClockTimer.java | 6 +- .../ignite/internal/util/GridUtilsSelfTest.java | 717 -- .../internal/util/IgniteUtilsSelfTest.java | 728 ++ .../util/future/GridCompoundFutureSelfTest.java | 8 +- .../util/future/GridEmbeddedFutureSelfTest.java | 7 +- .../util/future/GridFinishedFutureSelfTest.java | 9 +- .../util/future/GridFutureAdapterSelfTest.java | 23 +- .../future/GridFutureListenPerformanceTest.java | 5 +- ...idIpcServerEndpointDeserializerSelfTest.java | 160 - .../IpcServerEndpointDeserializerSelfTest.java | 160 + .../ipc/shmem/GgfsSharedMemoryTestClient.java | 76 + .../ipc/shmem/GgfsSharedMemoryTestServer.java | 71 + .../shmem/GridGgfsSharedMemoryTestClient.java | 76 - .../shmem/GridGgfsSharedMemoryTestServer.java | 71 - ...idIpcSharedMemoryCrashDetectionSelfTest.java | 500 - .../shmem/GridIpcSharedMemoryFakeClient.java | 36 - .../shmem/GridIpcSharedMemoryNodeStartup.java | 87 - .../shmem/GridIpcSharedMemorySpaceSelfTest.java | 259 - .../shmem/GridIpcSharedMemoryUtilsSelfTest.java | 84 - .../IpcSharedMemoryCrashDetectionSelfTest.java | 500 + .../ipc/shmem/IpcSharedMemoryFakeClient.java | 36 + .../IpcSharedMemoryNativeLoaderSelfTest.java | 78 + .../ipc/shmem/IpcSharedMemoryNodeStartup.java | 87 + .../ipc/shmem/IpcSharedMemorySpaceSelfTest.java | 267 + .../ipc/shmem/IpcSharedMemoryUtilsSelfTest.java | 84 + .../LoadWithCorruptedLibFileTestRunner.java | 65 + .../GridIpcSharedMemoryBenchmarkParty.java | 35 - .../GridIpcSharedMemoryBenchmarkReader.java | 133 - .../GridIpcSharedMemoryBenchmarkWriter.java | 125 - .../IpcSharedMemoryBenchmarkParty.java | 35 + .../IpcSharedMemoryBenchmarkReader.java | 133 + .../IpcSharedMemoryBenchmarkWriter.java | 125 + .../internal/util/nio/GridNioSelfTest.java | 8 +- .../offheap/GridOffHeapMapAbstractSelfTest.java | 7 +- ...idOffHeapPartitionedMapAbstractSelfTest.java | 3 +- ...apPartitionedMapPerformanceAbstractTest.java | 10 +- .../unsafe/GridUnsafeMemorySelfTest.java | 6 +- .../ignite/jvmtest/ConcurrentMapTest.java | 4 +- .../ignite/jvmtest/NetworkFailureTest.java | 16 +- .../QueueSizeCounterMultiThreadedTest.java | 4 +- .../jvmtest/ReadWriteLockMultiThreadedTest.java | 10 +- .../ignite/lang/GridBasicPerformanceTest.java | 5 +- .../apache/ignite/lang/GridFuncSelfTest.java | 13 +- .../lang/GridFutureListenPerformanceTest.java | 5 +- .../ignite/lang/GridSetWrapperSelfTest.java | 2 +- .../loadtest/GridSingleExecutionTest.java | 2 +- ...idFileSwapSpaceSpiMultithreadedLoadTest.java | 6 +- .../cache/GridCacheAbstractLoadTest.java | 6 +- .../cache/GridCachePutRemoveLoadTest.java | 2 +- .../loadtests/cache/GridCacheSwapLoadTest.java | 13 +- .../GridCacheWriteBehindStoreLoadTest.java | 4 +- .../loadtests/colocation/GridTestMain.java | 12 +- .../communication/GridIoManagerBenchmark.java | 10 +- .../communication/GridIoManagerBenchmark0.java | 22 +- .../GridContinuousOperationsLoadTest.java | 4 +- .../multisplit/GridMultiSplitsLoadTest.java | 2 +- ...ridSingleSplitsNewNodesAbstractLoadTest.java | 2 +- .../ignite/loadtests/dsi/GridDsiClient.java | 2 +- .../ignite/loadtests/dsi/GridDsiPerfJob.java | 2 +- .../loadtests/hashmap/GridCacheTestContext.java | 1 + .../loadtests/hashmap/GridHashMapLoadTest.java | 1 + ...GridJobExecutionLoadTestClientSemaphore.java | 7 +- ...JobExecutionSingleNodeSemaphoreLoadTest.java | 9 +- .../loadtests/job/GridJobLoadTestSubmitter.java | 2 +- .../mergesort/GridMergeSortLoadTask.java | 8 +- ...apPartitionedMapPerformanceAbstractTest.java | 10 +- .../streamer/GridStreamerIndexLoadTest.java | 8 +- .../marshaller/GridMarshallerAbstractTest.java | 20 +- .../ignite/messaging/GridMessagingSelfTest.java | 10 +- .../GridP2PContinuousDeploymentSelfTest.java | 4 +- .../p2p/GridP2PLocalDeploymentSelfTest.java | 10 +- .../GridP2PMissedResourceCacheSizeSelfTest.java | 8 +- .../ignite/p2p/GridP2PTimeoutSelfTest.java | 8 +- .../ignite/p2p/GridP2PUndeploySelfTest.java | 2 +- ...idSessionFutureWaitJobAttributeSelfTest.java | 2 +- ...GridSessionSetJobAttributeOrderSelfTest.java | 2 +- ...sionSetJobAttributeWaitListenerSelfTest.java | 2 +- .../GridSessionSetTaskAttributeSelfTest.java | 2 +- ...GridSessionTaskWaitJobAttributeSelfTest.java | 2 +- .../GridSessionWaitAttributeSelfTest.java | 2 +- ...redFsCheckpointSpiMultiThreadedSelfTest.java | 8 +- .../collision/GridTestCollisionTaskSession.java | 3 +- .../tcp/GridCacheDhtLockBackupSelfTest.java | 21 +- ...mmunicationSpiConcurrentConnectSelfTest.java | 3 +- .../tcp/GridTcpCommunicationSpiLanTest.java | 3 +- ...cpCommunicationSpiMultithreadedSelfTest.java | 9 +- ...GridTcpCommunicationSpiRecoverySelfTest.java | 7 +- ...ClusterMetricsSnapshotSerializeSelfTest.java | 52 +- .../tcp/GridTcpDiscoveryMultiThreadedTest.java | 7 +- .../discovery/tcp/GridTcpDiscoverySelfTest.java | 14 +- .../file/GridFileSwapSpaceSpiSelfTest.java | 7 +- .../GridCacheStoreValueBytesTest.java | 7 +- .../index/GridStreamerIndexSelfTest.java | 8 +- .../window/GridStreamerWindowSelfTest.java | 4 +- .../ignite/testframework/GridTestUtils.java | 12 +- .../testframework/junits/GridAbstractTest.java | 22 +- .../junits/GridTestKernalContext.java | 2 +- .../cache/GridAbstractCacheStoreSelfTest.java | 5 +- .../junits/common/GridCommonAbstractTest.java | 34 +- .../ignite/testsuites/IgniteBasicTestSuite.java | 2 +- .../ignite/testsuites/IgniteCacheTestSuite.java | 1 + .../testsuites/IgniteComputeGridTestSuite.java | 4 +- .../ignite/testsuites/IgniteFsTestSuite.java | 2 +- .../IgniteIpcSharedMemorySelfTestSuite.java | 7 +- .../testsuites/IgniteUtilSelfTestSuite.java | 2 +- ...dConcurrentLinkedDequeMultiThreadedTest.java | 6 +- ...rrentLinkedHashMapMultiThreadedSelfTest.java | 10 +- .../apache/ignite/util/GridIndexFillTest.java | 4 +- .../ignite/util/GridSnapshotLockSelfTest.java | 6 +- .../util/GridSpinReadWriteLockSelfTest.java | 4 +- modules/core/src/test/resources/readme.txt | 2 +- modules/email/readme.txt | 12 +- .../processors/email/IgniteEmailProcessor.java | 5 +- modules/hadoop/readme.txt | 12 +- .../GridHadoopClientProtocolProvider.java | 8 +- .../internal/fs/hadoop/GridGgfsHadoopIpcIo.java | 10 +- .../hadoop/GridHadoopClassLoader.java | 2 +- .../processors/hadoop/GridHadoopImpl.java | 6 +- .../hadoop/IgniteHadoopProcessor.java | 5 +- .../hadoop/jobtracker/GridHadoopJobTracker.java | 19 +- .../GridHadoopDefaultMapReducePlanner.java | 2 +- .../proto/GridHadoopProtocolJobStatusTask.java | 7 +- .../hadoop/shuffle/GridHadoopShuffle.java | 2 +- .../hadoop/shuffle/GridHadoopShuffleJob.java | 7 +- .../GridHadoopExternalTaskExecutor.java | 16 +- .../child/GridHadoopChildProcessRunner.java | 18 +- .../GridHadoopExternalCommunication.java | 26 +- .../GridHadoopIpcToNioAdapter.java | 6 +- ...doop20FileSystemLoopbackPrimarySelfTest.java | 2 +- ...sHadoop20FileSystemShmemPrimarySelfTest.java | 2 +- .../GridGgfsHadoopFileSystemClientSelfTest.java | 4 +- ...idGgfsHadoopFileSystemHandshakeSelfTest.java | 2 +- ...ridGgfsHadoopFileSystemIpcCacheSelfTest.java | 2 +- ...adoopFileSystemLoopbackAbstractSelfTest.java | 2 +- ...fsHadoopFileSystemShmemAbstractSelfTest.java | 8 +- .../fs/GridGgfsNearOnlyMultiNodeSelfTest.java | 4 +- .../ignite/fs/IgniteFsEventsTestSuite.java | 4 +- .../hadoop/GridHadoopPopularWordsTest.java | 4 +- ...idHadoopDefaultMapReducePlannerSelfTest.java | 16 +- .../hadoop/GridHadoopJobTrackerSelfTest.java | 5 +- .../GridHadoopMapReduceEmbeddedSelfTest.java | 4 +- .../hadoop/GridHadoopMapReduceTest.java | 4 +- .../hadoop/GridHadoopTaskExecutionSelfTest.java | 12 +- .../GridHadoopExecutorServiceTest.java | 4 +- ...GridHadoopExternalTaskExecutionSelfTest.java | 6 +- .../ggfs/GridGgfsPerformanceBenchmark.java | 4 +- modules/hibernate/readme.txt | 14 +- .../hibernate/GridHibernateRegionFactory.java | 10 +- modules/indexing/readme.txt | 12 +- .../processors/query/h2/IgniteH2Indexing.java | 4 +- .../h2/twostep/GridReduceQueryExecutor.java | 2 +- .../cache/GridCacheAbstractQuerySelfTest.java | 6 +- .../cache/GridCacheOffHeapAndSwapSelfTest.java | 8 +- .../cache/GridCacheQueryLoadSelfTest.java | 2 +- .../GridCacheQueryMultiThreadedSelfTest.java | 24 +- ...idCacheReduceQueryMultithreadedSelfTest.java | 6 +- .../near/GridCacheQueryNodeRestartSelfTest.java | 5 +- .../GridCacheReplicatedFieldsQuerySelfTest.java | 2 +- .../GridCacheReplicatedQuerySelfTest.java | 6 +- .../query/h2/GridH2IndexRebuildTest.java | 7 +- .../query/h2/GridH2IndexingGeoSelfTest.java | 6 +- .../query/h2/sql/GridQueryParsingTest.java | 2 +- .../tcp/GridOrderedMessageCancelSelfTest.java | 4 +- modules/jcl/readme.txt | 12 +- modules/jta/readme.txt | 12 +- .../GridTmLookupLifecycleAwareSelfTest.java | 2 +- modules/log4j/readme.txt | 12 +- modules/rest-http/readme.txt | 12 +- modules/scalar/readme.txt | 8 +- .../scalar/pimps/ScalarProjectionPimp.scala | 33 +- modules/schedule/readme.txt | 12 +- .../processors/schedule/ScheduleFutureImpl.java | 22 +- .../schedule/GridScheduleSelfTest.java | 13 +- modules/slf4j/readme.txt | 12 +- modules/spring/readme.txt | 12 +- .../java/org/apache/ignite/IgniteSpring.java | 8 +- .../cache/spring/SpringDynamicCacheManager.java | 2 +- modules/ssh/readme.txt | 12 +- .../GridProjectionStartStopRestartSelfTest.java | 2 +- modules/urideploy/readme.txt | 12 +- .../GridTaskUriDeploymentDeadlockSelfTest.java | 2 +- .../ignite/visor/commands/VisorConsole.scala | 6 +- .../commands/alert/VisorAlertCommand.scala | 2 +- .../config/VisorConfigurationCommand.scala | 6 +- .../commands/deploy/VisorDeployCommand.scala | 4 +- .../commands/disco/VisorDiscoveryCommand.scala | 4 +- .../commands/events/VisorEventsCommand.scala | 4 +- .../visor/commands/node/VisorNodeCommand.scala | 4 +- .../commands/start/VisorStartCommand.scala | 4 +- .../commands/tasks/VisorTasksCommand.scala | 4 +- .../commands/top/VisorTopologyCommand.scala | 6 +- .../visor/commands/vvm/VisorVvmCommand.scala | 8 +- .../scala/org/apache/ignite/visor/visor.scala | 26 +- .../commands/tasks/VisorTasksCommandSpec.scala | 2 +- modules/web/readme.txt | 16 +- .../GridServletContextListenerStartup.java | 4 +- .../startup/servlet/GridServletStartup.java | 4 +- .../internal/websession/WebSessionSelfTest.java | 4 +- pom.xml | 4 +- 816 files changed, 30305 insertions(+), 28705 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/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 216c13c,2658b9a..7eb2aac --- 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 @@@ -4299,26 -4297,15 +4297,26 @@@ public abstract class GridCacheAdapter< holder.lock(); try { - IgniteFuture fut = holder.future(); + IgniteInternalFuture fut = holder.future(); - if (fut != null && !fut.isDone()) { - final IgniteTxLocalAdapter<K, V> tx0 = tx; + final IgniteTxLocalAdapter<K, V> tx0 = tx; + if (fut != null && !fut.isDone()) { - IgniteFuture<T> f = new GridEmbeddedFuture<>(fut, - new C2<T, Exception, IgniteFuture<T>>() { - @Override public IgniteFuture<T> apply(T t, Exception e) { - return op.op(tx0).chain(new CX1<IgniteFuture<T>, T>() { - @Override public T applyx(IgniteFuture<T> tFut) throws IgniteCheckedException { + IgniteInternalFuture<T> f = new GridEmbeddedFuture<>(fut, + new C2<T, Exception, IgniteInternalFuture<T>>() { + @Override public IgniteInternalFuture<T> apply(T t, Exception e) { - return op.op(tx0); ++ return op.op(tx0).chain(new CX1<IgniteInternalFuture<T>, T>() { ++ @Override public T applyx(IgniteInternalFuture<T> tFut) throws IgniteCheckedException { + try { + return tFut.get(); + } + catch (IgniteCheckedException e1) { + tx0.rollbackAsync(); + + throw e1; + } + } + }); } }, ctx.kernalContext()); @@@ -4327,18 -4314,7 +4325,18 @@@ return f; } - IgniteFuture<T> f = op.op(tx).chain(new CX1<IgniteFuture<T>, T>() { - @Override public T applyx(IgniteFuture<T> tFut) throws IgniteCheckedException { - IgniteInternalFuture<T> f = op.op(tx); ++ IgniteInternalFuture<T> f = op.op(tx).chain(new CX1<IgniteInternalFuture<T>, T>() { ++ @Override public T applyx(IgniteInternalFuture<T> tFut) throws IgniteCheckedException { + try { + return tFut.get(); + } + catch (IgniteCheckedException e1) { + tx0.rollbackAsync(); + + throw e1; + } + } + }); saveFuture(holder, f); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManager.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManager.java index d92db74,61408cb..d89a670 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManager.java @@@ -21,8 -21,8 +21,9 @@@ import org.apache.ignite.* import org.apache.ignite.cache.*; import org.apache.ignite.cache.store.*; import org.apache.ignite.internal.*; + import org.apache.ignite.internal.processors.cache.version.*; import org.apache.ignite.internal.util.*; +import org.apache.ignite.internal.util.tostring.*; import org.apache.ignite.lang.*; import org.apache.ignite.lifecycle.*; import org.apache.ignite.transactions.*; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheCommittedTxInfo.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockRequest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxFinishRequest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareRequest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java index a3ea0502,c417e9d..4a11e8e --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java @@@ -503,33 -505,47 +505,46 @@@ public class GridDistributedTxRemoteAda GridCacheVersion explicitVer = txEntry.drVersion(); - if (finalizationStatus() == FinalizationStatus.RECOVERY_FINISH || optimistic()) { - // Primary node has left the grid so we have to process conflicts on backups. - if (explicitVer == null) - explicitVer = writeVersion(); // Force write version to be used. - // Primary node has left the grid so we have to process conflicts on backups. - if (explicitVer == null) - explicitVer = writeVersion(); // Force write version to be used. - - GridDrResolveResult<V> drRes = cacheCtx.dr().resolveTx(cached, - txEntry, - explicitVer, - op, - val, - valBytes, - txEntry.ttl(), - txEntry.drExpireTime()); - - if (drRes != null) { - op = drRes.operation(); - val = drRes.value(); - valBytes = drRes.valueBytes(); - - if (drRes.isMerge()) - explicitVer = writeVersion(); - else if (op == NOOP) - txEntry.ttl(-1L); + boolean drNeedResolve = + cacheCtx.conflictNeedResolve(cached.version(), explicitVer); + + if (drNeedResolve) { + IgniteBiTuple<GridCacheOperation, GridCacheVersionConflictContextImpl<K, V>> + drRes = conflictResolve(op, txEntry.key(), val, valBytes, + txEntry.ttl(), txEntry.drExpireTime(), explicitVer, cached); + + assert drRes != null; + + GridCacheVersionConflictContextImpl<K, V> drCtx = drRes.get2(); + + if (drCtx.isUseOld()) + op = NOOP; + else if (drCtx.isUseNew()) { + txEntry.ttl(drCtx.ttl()); + + if (drCtx.newEntry().dataCenterId() != cacheCtx.dataCenterId()) + txEntry.drExpireTime(drCtx.expireTime()); + else + txEntry.drExpireTime(-1L); + } + else if (drCtx.isMerge()) { + op = drRes.get1(); + val = drCtx.mergeValue(); + valBytes = null; + explicitVer = writeVersion(); + + txEntry.ttl(drCtx.ttl()); + txEntry.drExpireTime(-1L); + } + } + else + // Nullify explicit version so that innerSet/innerRemove will work as usual. + explicitVer = null; } + else + // Nullify explicit version so that innerSet/innerRemove will work as usual. + explicitVer = null; if (op == CREATE || op == UPDATE) { // Invalidate only for near nodes (backups cannot be invalidated). http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockRequest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java index 2642769,64c0811..0b7c7c8 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java @@@ -821,11 -830,16 +823,11 @@@ public abstract class GridDhtTransactio if (log.isDebugEnabled()) log.debug("Performing DHT lock [tx=" + tx + ", entries=" + entries + ']'); - IgniteFuture<GridCacheReturn<V>> txFut = tx.lockAllAsync( - assert req.writeEntries() == null || req.writeEntries().size() == entries.size(); - + IgniteInternalFuture<GridCacheReturn<V>> txFut = tx.lockAllAsync( cacheCtx, entries, - req.writeEntries(), req.onePhaseCommit(), - req.drVersions(), req.messageId(), - req.implicitTx(), req.txRead(), req.accessTtl()); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocal.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java index b78561a,c3e8729..33509ab --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java @@@ -509,12 -482,14 +511,12 @@@ public abstract class GridDhtTxLocalAda * @param accessTtl TTL for read operation. * @return Lock future. */ + @SuppressWarnings("ForLoopReplaceableByForEach") - IgniteFuture<GridCacheReturn<V>> lockAllAsync( + IgniteInternalFuture<GridCacheReturn<V>> lockAllAsync( GridCacheContext<K, V> cacheCtx, - Collection<GridCacheEntryEx<K, V>> entries, - List<IgniteTxEntry<K, V>> writeEntries, + List<GridCacheEntryEx<K, V>> entries, boolean onePhaseCommit, - GridCacheVersion[] drVers, long msgId, - boolean implicit, final boolean read, long accessTtl ) { http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareRequest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxRemote.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockRequest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTransactionalCache.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishFuture.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishRequest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java index 21e804d,ac5404b..f006508 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java @@@ -688,8 -694,8 +689,8 @@@ public class GridNearTxLocal<K, V> exte } /** {@inheritDoc} */ - @Override public IgniteFuture<IgniteTxEx<K, V>> prepareAsync() { + @Override public IgniteInternalFuture<IgniteTxEx<K, V>> prepareAsync() { - IgniteInternalFuture<IgniteTxEx<K, V>> fut = prepFut.get(); + GridNearTxPrepareFuture<K, V> fut = (GridNearTxPrepareFuture<K, V>)prepFut.get(); if (fut == null) { // Future must be created before any exception can be thrown. @@@ -873,9 -890,11 +874,9 @@@ * @return Future that will be completed when locks are acquired. */ @SuppressWarnings("TypeMayBeWeakened") - public IgniteFuture<IgniteTxEx<K, V>> prepareAsyncLocal(@Nullable Collection<IgniteTxEntry<K, V>> reads, + public IgniteInternalFuture<IgniteTxEx<K, V>> prepareAsyncLocal(@Nullable Collection<IgniteTxEntry<K, V>> reads, @Nullable Collection<IgniteTxEntry<K, V>> writes, Map<UUID, Collection<UUID>> txNodes, boolean last, Collection<UUID> lastBackups) { - assert optimistic(); - if (state() != PREPARING) { if (timedOut()) return new GridFinishedFuture<>(cctx.kernalContext(), http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareFuture.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareFuture.java index 521c0e7,8df91e0..6c10ed4 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareFuture.java @@@ -330,69 -325,65 +332,69 @@@ public final class GridNearTxPrepareFut * Waits for topology exchange future to be ready and then prepares user transaction. */ public void prepare() { - GridDhtTopologyFuture topFut = topologyReadLock(); + if (tx.optimistic()) { + GridDhtTopologyFuture topFut = topologyReadLock(); - try { - if (topFut.isDone()) { - try { - if (!tx.state(PREPARING)) { - if (tx.setRollbackOnly()) { - if (tx.timedOut()) - onError(null, null, new IgniteTxTimeoutException("Transaction timed out and " + - "was rolled back: " + this)); + try { + if (topFut.isDone()) { + try { + if (!tx.state(PREPARING)) { + if (tx.setRollbackOnly()) { + if (tx.timedOut()) + onError(null, null, new IgniteTxTimeoutException("Transaction timed out and " + + "was rolled back: " + this)); + else + onError(null, null, new IgniteCheckedException("Invalid transaction state for prepare " + + "[state=" + tx.state() + ", tx=" + this + ']')); + } else - onError(null, null, new IgniteCheckedException("Invalid transaction state for prepare " + - "[state=" + tx.state() + ", tx=" + this + ']')); + onError(null, null, new IgniteTxRollbackException("Invalid transaction state for " + + "prepare [state=" + tx.state() + ", tx=" + this + ']')); + + return; } - else - onError(null, null, new IgniteTxRollbackException("Invalid transaction state for " + - "prepare [state=" + tx.state() + ", tx=" + this + ']')); - return; - } + GridDiscoveryTopologySnapshot snapshot = topFut.topologySnapshot(); - GridDiscoveryTopologySnapshot snapshot = topFut.topologySnapshot(); + tx.topologyVersion(snapshot.topologyVersion()); + tx.topologySnapshot(snapshot); - tx.topologyVersion(snapshot.topologyVersion()); - tx.topologySnapshot(snapshot); + // Make sure to add future before calling prepare. + cctx.mvcc().addFuture(this); - // Make sure to add future before calling prepare. - cctx.mvcc().addFuture(this); + prepare0(); + } + catch (IgniteTxTimeoutException | IgniteTxOptimisticException e) { + onError(cctx.localNodeId(), null, e); + } + catch (IgniteCheckedException e) { + tx.setRollbackOnly(); - prepare0(); - } - catch (IgniteTxTimeoutException | IgniteTxOptimisticException e) { - onError(cctx.localNodeId(), null, e); - } - catch (IgniteCheckedException e) { - tx.setRollbackOnly(); + String msg = "Failed to prepare transaction (will attempt rollback): " + this; - String msg = "Failed to prepare transaction (will attempt rollback): " + this; + U.error(log, msg, e); - U.error(log, msg, e); + tx.rollbackAsync(); - tx.rollbackAsync(); + onError(null, null, new IgniteTxRollbackException(msg, e)); + } + } + else { + topFut.syncNotify(false); - topFut.listenAsync(new CI1<IgniteFuture<Long>>() { - @Override public void apply(IgniteFuture<Long> t) { - onError(null, null, new IgniteTxRollbackException(msg, e)); ++ topFut.listenAsync(new CI1<IgniteInternalFuture<Long>>() { ++ @Override public void apply(IgniteInternalFuture<Long> t) { + prepare(); + } + }); } } - else { - topFut.syncNotify(false); - - topFut.listenAsync(new CI1<IgniteInternalFuture<Long>>() { - @Override public void apply(IgniteInternalFuture<Long> t) { - prepare(); - } - }); + finally { + topologyReadUnlock(); } } - finally { - topologyReadUnlock(); - } + else + preparePessimistic(); } /** http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareResponse.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxEntry.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxEx.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java index fa1e345,fb94cd2..6dfa1ff --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java @@@ -273,19 -284,7 +274,19 @@@ public class IgniteTxHandler<K, V> } if (tx != null) { + tx.transactionNodes(req.transactionNodes()); + + if (req.onePhaseCommit()) { + assert req.last(); + assert F.isEmpty(req.lastBackups()) || req.lastBackups().size() <= 1; + + tx.onePhaseCommit(true); + } + + if (req.returnValue()) + tx.needReturnValue(true); + - IgniteFuture<IgniteTxEx<K, V>> fut = tx.prepareAsync(req.reads(), req.writes(), + IgniteInternalFuture<IgniteTxEx<K, V>> fut = tx.prepareAsync(req.reads(), req.writes(), req.dhtVersions(), req.messageId(), req.miniId(), req.transactionNodes(), req.last(), req.lastBackups()); @@@ -427,10 -427,14 +428,10 @@@ if (locTx != null && locTx.colocatedLocallyMapped()) colocatedFinishFut = finishColocatedLocal(req.commit(), locTx); - IgniteFuture<IgniteTx> nearFinishFut = null; + IgniteInternalFuture<IgniteTx> nearFinishFut = null; - if (locTx == null || locTx.nearLocallyMapped()) { - if (locTx != null) - req.cloneEntries(); - + if (locTx == null || locTx.nearLocallyMapped()) nearFinishFut = finishDhtLocal(nodeId, locTx, req); - } if (colocatedFinishFut != null && nearFinishFut != null) { GridCompoundFuture<IgniteTx, IgniteTx> res = new GridCompoundFuture<>(ctx.kernalContext()); @@@ -544,8 -548,22 +545,8 @@@ tx.nearFinishFutureId(req.futureId()); tx.nearFinishMiniId(req.miniId()); - tx.recoveryWrites(req.recoveryWrites()); - - Collection<IgniteTxEntry<K, V>> writeEntries = req.writes(); - - if (!F.isEmpty(writeEntries)) { - // In OPTIMISTIC mode, we get the values at PREPARE stage. - assert tx.concurrency() == PESSIMISTIC; - - for (IgniteTxEntry<K, V> entry : writeEntries) - tx.addEntry(req.messageId(), entry); - } - - if (tx.pessimistic()) - tx.prepare(); - IgniteFuture<IgniteTx> commitFut = tx.commitAsync(); + IgniteInternalFuture<IgniteTx> commitFut = tx.commitAsync(); // Only for error logging. commitFut.listenAsync(CU.errorLogger(log)); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java index d1a2be5,502c058..7789023 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java @@@ -19,8 -19,9 +19,10 @@@ package org.apache.ignite.internal.proc import org.apache.ignite.*; import org.apache.ignite.cache.*; + import org.apache.ignite.internal.*; +import org.apache.ignite.cluster.*; import org.apache.ignite.internal.processors.cache.*; + import org.apache.ignite.internal.processors.cache.version.*; import org.apache.ignite.internal.util.*; import org.apache.ignite.lang.*; import org.apache.ignite.plugin.security.*; @@@ -2690,34 -2636,13 +2709,34 @@@ public abstract class IgniteTxLocalAdap cctx.kernalContext()); } else { - return loadFut.chain(new CX1<IgniteInternalFuture<Set<K>>, GridCacheReturn<V>>() { - @Override public GridCacheReturn<V> applyx(IgniteInternalFuture<Set<K>> f) throws IgniteCheckedException { - f.get(); + if (implicit()) { + // Should never load missing values for implicit transaction as values will be returned + // with prepare response, if required. + assert loadFut.isDone(); - return ret; + try { + loadFut.get(); } - }); + catch (IgniteCheckedException e) { + return new GridFinishedFutureEx<>(new GridCacheReturn<V>(), e); + } + - return commitAsync().chain(new CX1<IgniteFuture<IgniteTx>, GridCacheReturn<V>>() { - @Override public GridCacheReturn<V> applyx(IgniteFuture<IgniteTx> txFut) throws IgniteCheckedException { ++ return commitAsync().chain(new CX1<IgniteInternalFuture<IgniteTx>, GridCacheReturn<V>>() { ++ @Override public GridCacheReturn<V> applyx(IgniteInternalFuture<IgniteTx> txFut) throws IgniteCheckedException { + txFut.get(); + + return implicitRes; + } + }); + } + else - return loadFut.chain(new CX1<IgniteFuture<Set<K>>, GridCacheReturn<V>>() { - @Override public GridCacheReturn<V> applyx(IgniteFuture<Set<K>> f) throws IgniteCheckedException { ++ return loadFut.chain(new CX1<IgniteInternalFuture<Set<K>>, GridCacheReturn<V>>() { ++ @Override public GridCacheReturn<V> applyx(IgniteInternalFuture<Set<K>> f) throws IgniteCheckedException { + f.get(); + + return ret; + } + }); } } catch (IgniteCheckedException e) { @@@ -2914,27 -2836,13 +2933,27 @@@ cctx.kernalContext()); } else { - return loadFut.chain(new CX1<IgniteInternalFuture<Set<K>>, GridCacheReturn<V>>() { - @Override public GridCacheReturn<V> applyx(IgniteInternalFuture<Set<K>> f) throws IgniteCheckedException { - f.get(); + if (implicit()) { + // Should never load missing values for implicit transaction as values will be returned + // with prepare response, if required. + assert loadFut.isDone(); - return commitAsync().chain(new CX1<IgniteFuture<IgniteTx>, GridCacheReturn<V>>() { - @Override public GridCacheReturn<V> applyx(IgniteFuture<IgniteTx> txFut) throws IgniteCheckedException { - return ret; - } - }); ++ return commitAsync().chain(new CX1<IgniteInternalFuture<IgniteTx>, GridCacheReturn<V>>() { ++ @Override public GridCacheReturn<V> applyx(IgniteInternalFuture<IgniteTx> txFut) throws IgniteCheckedException { + txFut.get(); + + return implicitRes; + } + }); + } + else - return loadFut.chain(new CX1<IgniteFuture<Set<K>>, GridCacheReturn<V>>() { - @Override public GridCacheReturn<V> applyx(IgniteFuture<Set<K>> f) throws IgniteCheckedException { ++ return loadFut.chain(new CX1<IgniteInternalFuture<Set<K>>, GridCacheReturn<V>>() { ++ @Override public GridCacheReturn<V> applyx(IgniteInternalFuture<Set<K>> f) throws IgniteCheckedException { + f.get(); + + return ret; + } + }); } } catch (IgniteCheckedException e) { http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalEx.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/38121645/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxProxyImpl.java ----------------------------------------------------------------------