Merge remote-tracking branch 'remotes/origin/ignite-sprint-4' into ignite-80
Conflicts: modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.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/1b73d466 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/1b73d466 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/1b73d466 Branch: refs/heads/ignite-80 Commit: 1b73d46637f8fe0f22055c5101cb50581532cc56 Parents: e7b1629 8e31b7c Author: sboikov <sboi...@gridgain.com> Authored: Thu Apr 23 08:56:30 2015 +0300 Committer: sboikov <sboi...@gridgain.com> Committed: Thu Apr 23 08:56:30 2015 +0300 ---------------------------------------------------------------------- DEVNOTES.txt | 49 + examples/README.txt | 2 +- examples/pom.xml | 2 +- .../hibernate/CacheHibernateStoreExample.java | 3 - .../store/jdbc/CacheJdbcStoreExample.java | 3 - .../examples/ScalarContinuationExample.scala | 10 +- modules/aop/pom.xml | 2 +- modules/aws/pom.xml | 2 +- .../s3/S3CheckpointManagerSelfTest.java | 2 +- .../checkpoint/s3/S3CheckpointSpiSelfTest.java | 2 +- .../s3/S3SessionCheckpointSelfTest.java | 2 +- modules/clients/pom.xml | 2 +- modules/codegen/pom.xml | 2 +- modules/core/pom.xml | 2 +- .../apache/ignite/IgniteSystemProperties.java | 6 - .../apache/ignite/cache/CacheInterceptor.java | 9 +- .../cache/eviction/fifo/FifoEvictionPolicy.java | 7 +- .../igfs/IgfsPerBlockLruEvictionPolicy.java | 3 +- .../cache/eviction/lru/LruEvictionPolicy.java | 5 +- .../eviction/sorted/SortedEvictionPolicy.java | 431 +++++ .../sorted/SortedEvictionPolicyMBean.java | 66 + .../cache/eviction/sorted/package-info.java | 21 + .../apache/ignite/cache/query/QueryMetrics.java | 4 +- .../ignite/compute/ComputeJobContinuation.java | 2 + .../configuration/CacheConfiguration.java | 13 +- .../configuration/IgniteConfiguration.java | 107 ++ .../ignite/internal/GridJobContextImpl.java | 100 +- .../org/apache/ignite/internal/IgniteEx.java | 10 +- .../apache/ignite/internal/IgniteKernal.java | 10 +- .../org/apache/ignite/internal/IgnitionEx.java | 8 +- .../ignite/internal/MarshallerContextImpl.java | 2 +- .../connection/GridClientNioTcpConnection.java | 9 +- .../internal/managers/GridManagerAdapter.java | 8 +- .../managers/communication/GridIoManager.java | 33 +- .../GridLifecycleAwareMessageFilter.java | 35 + .../discovery/GridDiscoveryManager.java | 70 +- .../affinity/GridAffinityAssignmentCache.java | 7 +- .../processors/cache/CacheEntryImpl.java | 29 +- .../processors/cache/CacheLockImpl.java | 20 +- .../processors/cache/CacheOperationContext.java | 170 ++ .../processors/cache/CacheProjection.java | 1614 ---------------- .../cache/CacheVersionedEntryImpl.java | 29 +- .../internal/processors/cache/GridCache.java | 224 --- .../processors/cache/GridCacheAdapter.java | 740 +++---- .../processors/cache/GridCacheAtomicFuture.java | 7 - .../cache/GridCacheConcurrentMap.java | 26 +- .../processors/cache/GridCacheContext.java | 66 +- .../cache/GridCacheEvictionManager.java | 11 +- .../processors/cache/GridCacheGateway.java | 119 +- .../processors/cache/GridCacheMapAdapter.java | 238 --- .../processors/cache/GridCacheProcessor.java | 21 +- .../processors/cache/GridCacheProjectionEx.java | 480 ----- .../cache/GridCacheProjectionImpl.java | 932 --------- .../processors/cache/GridCacheProxy.java | 27 - .../processors/cache/GridCacheProxyImpl.java | 845 ++------ .../processors/cache/GridCacheSwapManager.java | 4 +- .../processors/cache/GridCacheUtils.java | 34 +- .../processors/cache/IgniteCacheProxy.java | 469 ++--- .../processors/cache/IgniteInternalCache.java | 1816 ++++++++++++++++++ .../cache/affinity/GridCacheAffinityProxy.java | 30 +- .../CacheDataStructuresManager.java | 12 +- .../GridDistributedCacheAdapter.java | 15 +- .../dht/GridDhtAffinityAssignmentResponse.java | 21 +- .../distributed/dht/GridDhtCacheAdapter.java | 27 +- .../dht/GridDhtTransactionalCacheAdapter.java | 5 +- .../distributed/dht/GridDhtTxFinishFuture.java | 2 +- .../distributed/dht/GridDhtTxPrepareFuture.java | 2 +- .../dht/GridPartitionedGetFuture.java | 20 +- .../dht/atomic/GridDhtAtomicCache.java | 188 +- .../dht/atomic/GridDhtAtomicUpdateFuture.java | 19 - .../dht/atomic/GridNearAtomicUpdateFuture.java | 12 - .../dht/colocated/GridDhtColocatedCache.java | 28 +- .../distributed/near/GridNearAtomicCache.java | 136 +- .../distributed/near/GridNearCacheAdapter.java | 57 +- .../distributed/near/GridNearCacheEntry.java | 16 +- .../distributed/near/GridNearGetFuture.java | 20 +- .../near/GridNearTransactionalCache.java | 15 +- .../processors/cache/local/GridLocalCache.java | 16 +- .../local/atomic/GridLocalAtomicCache.java | 141 +- .../processors/cache/query/CacheQueries.java | 143 -- .../processors/cache/query/CacheQuery.java | 12 +- .../CacheQueryCloseableScanBiPredicate.java | 30 + .../cache/query/GridCacheQueriesEx.java | 68 - .../cache/query/GridCacheQueriesImpl.java | 217 --- .../cache/query/GridCacheQueriesProxy.java | 285 --- .../cache/query/GridCacheQueryManager.java | 118 +- .../jdbc/GridCacheQueryJdbcMetadataTask.java | 4 +- .../cache/transactions/IgniteTxAdapter.java | 2 - .../transactions/IgniteTxLocalAdapter.java | 28 +- .../cache/transactions/IgniteTxManager.java | 44 - .../IgniteCacheObjectProcessorImpl.java | 2 +- .../datastreamer/DataStreamerCacheUpdaters.java | 15 +- .../datastreamer/DataStreamerImpl.java | 81 +- .../datastreamer/DataStreamerUpdateJob.java | 16 +- .../datastructures/DataStructuresProcessor.java | 38 +- .../GridAtomicCacheQueueImpl.java | 12 +- .../datastructures/GridCacheAtomicLongImpl.java | 20 +- .../GridCacheAtomicReferenceImpl.java | 8 +- .../GridCacheAtomicSequenceImpl.java | 6 +- .../GridCacheAtomicStampedImpl.java | 8 +- .../GridCacheCountDownLatchImpl.java | 6 +- .../datastructures/GridCacheSetImpl.java | 6 +- .../GridTransactionalCacheQueueImpl.java | 8 +- .../dr/IgniteDrDataStreamerCacheUpdater.java | 2 - .../processors/igfs/IgfsDataManager.java | 12 +- .../processors/igfs/IgfsMetaManager.java | 47 +- .../processors/job/GridJobHoldListener.java | 6 +- .../processors/job/GridJobProcessor.java | 28 +- .../internal/processors/job/GridJobWorker.java | 23 +- .../processors/rest/GridRestCommand.java | 11 +- .../processors/rest/GridRestProcessor.java | 9 - .../message/GridClientCacheQueryRequest.java | 366 ---- .../cache/GridCacheClientQueryResult.java | 97 - .../handlers/cache/GridCacheCommandHandler.java | 78 +- .../cache/GridCacheQueryCommandHandler.java | 480 ----- .../protocols/tcp/GridTcpRestNioListener.java | 24 - .../rest/request/GridRestCacheQueryRequest.java | 143 -- .../service/GridServiceProcessor.java | 15 +- .../processors/task/GridTaskProcessor.java | 8 +- .../util/future/GridCompoundFuture.java | 9 +- .../visor/cache/VisorCacheMetadataTask.java | 9 +- .../internal/visor/cache/VisorCacheMetrics.java | 4 +- .../visor/cache/VisorCacheRebalanceTask.java | 4 +- .../visor/cache/VisorCacheResetMetricsTask.java | 2 +- .../visor/cache/VisorCacheSwapBackupsTask.java | 2 +- .../org/apache/ignite/spi/IgniteSpiAdapter.java | 5 + .../org/apache/ignite/spi/IgniteSpiContext.java | 6 + .../communication/tcp/TcpCommunicationSpi.java | 70 +- .../tcp/TcpCommunicationSpiMBean.java | 9 - .../ignite/spi/discovery/DiscoverySpi.java | 7 + .../discovery/tcp/TcpClientDiscoverySpi.java | 12 + .../spi/discovery/tcp/TcpDiscoverySpi.java | 32 +- .../ignite/startup/BasicWarmupClosure.java | 32 +- .../TransactionSynchronization.java | 45 - .../resources/META-INF/classnames.properties | 41 +- .../internal/GridCacheProjectionRemoveTest.java | 41 - .../internal/GridContinuousTaskSelfTest.java | 114 ++ ...ridFailFastNodeFailureDetectionSelfTest.java | 117 ++ .../internal/GridLifecycleBeanSelfTest.java | 36 + .../internal/IgniteInternalCacheRemoveTest.java | 41 + .../GridDiscoveryManagerAliveCacheSelfTest.java | 6 +- .../GridCacheAbstractFailoverSelfTest.java | 44 +- .../cache/GridCacheAbstractFullApiSelfTest.java | 50 +- .../GridCacheConcurrentTxMultiNodeTest.java | 2 +- ...CacheFullTextQueryMultithreadedSelfTest.java | 6 +- .../processors/cache/GridCacheOffHeapTest.java | 4 +- .../GridCachePreloadingEvictionsSelfTest.java | 4 +- .../cache/GridCachePutAllFailoverSelfTest.java | 14 +- .../processors/cache/GridCachePutAllTask.java | 56 +- ...IgniteCacheAtomicPutAllFailoverSelfTest.java | 32 + .../cache/IgniteDynamicCacheStartSelfTest.java | 2 +- .../cache/IgniteTxMultiNodeAbstractTest.java | 35 +- .../GridCacheSequenceApiSelfAbstractTest.java | 2 +- ...GridCachePartitionedNodeRestartSelfTest.java | 67 - .../GridCacheAbstractNodeRestartSelfTest.java | 23 +- .../GridCacheAtomicTimeoutSelfTest.java | 314 --- .../GridCacheMultiNodeLockAbstractTest.java | 14 +- ...ridCachePartitionNotLoadedEventSelfTest.java | 22 +- .../IgniteCacheAtomicMessageRecoveryTest.java | 32 + .../IgniteCacheAtomicNodeRestartTest.java | 33 + .../IgniteCacheMessageRecoveryAbstractTest.java | 175 ++ .../IgniteCachePutGetRestartAbstractTest.java | 234 +++ .../IgniteCacheSystemTransactionsSelfTest.java | 4 +- .../IgniteCacheTxFairAffinityNodeJoinTest.java | 35 + .../IgniteCacheTxMessageRecoveryTest.java | 32 + ...iteCacheTxNearDisabledPutGetRestartTest.java | 30 + ...GridCacheDhtEvictionNearReadersSelfTest.java | 2 +- .../dht/GridCacheDhtEvictionSelfTest.java | 4 +- .../dht/GridCacheDhtPreloadPutGetSelfTest.java | 8 +- .../dht/GridCacheDhtPreloadSelfTest.java | 4 +- ...ledFairAffinityMultiNodeFullApiSelfTest.java | 36 + .../dht/IgniteCacheMultiTxLockSelfTest.java | 2 +- ...eAtomicInvalidPartitionHandlingSelfTest.java | 14 +- ...nlyFairAffinityMultiNodeFullApiSelfTest.java | 36 + ...micFairAffinityMultiNodeFullApiSelfTest.java | 35 + ...ledFairAffinityMultiNodeFullApiSelfTest.java | 36 + ...derFairAffinityMultiNodeFullApiSelfTest.java | 36 + ...nlyFairAffinityMultiNodeFullApiSelfTest.java | 35 + ...idCacheNearOnlyMultiNodeFullApiSelfTest.java | 1 + .../GridCachePartitionedFullApiSelfTest.java | 2 +- .../GridCachePartitionedNodeRestartTest.java | 1 + ...achePartitionedPreloadLifecycleSelfTest.java | 2 +- .../GridCachePartitionedTxSalvageSelfTest.java | 4 + ...nedFairAffinityMultiNodeFullApiSelfTest.java | 37 + .../GridCacheReplicatedNodeRestartSelfTest.java | 2 + ...dezvousAffinityMultiNodeFullApiSelfTest.java | 35 - ...acheAtomicReplicatedNodeRestartSelfTest.java | 32 + ...CacheReplicatedPreloadLifecycleSelfTest.java | 2 +- .../GridCacheReplicatedPreloadSelfTest.java | 4 +- ...dCacheSortedBatchEvictionPolicySelfTest.java | 385 ++++ ...acheSortedEvictionPolicyPerformanceTest.java | 135 ++ .../GridCacheSortedEvictionPolicySelfTest.java | 373 ++++ .../GridCacheSwapScanQueryAbstractSelfTest.java | 38 +- .../processors/igfs/IgfsSizeSelfTest.java | 2 +- .../processors/igfs/IgfsStreamsSelfTest.java | 2 +- .../cache/GridCacheCommandHandlerSelfTest.java | 10 +- .../GridServiceReassignmentSelfTest.java | 2 +- .../GridContinuousOperationsLoadTest.java | 3 +- .../GridTcpCommunicationSpiConfigSelfTest.java | 1 - .../testframework/GridSpiTestContext.java | 5 + .../testframework/junits/GridAbstractTest.java | 15 + .../junits/common/GridCommonAbstractTest.java | 36 +- .../ignite/testsuites/IgniteBasicTestSuite.java | 1 + .../IgniteCacheEvictionSelfTestSuite.java | 3 + .../IgniteCacheFailoverTestSuite.java | 5 +- .../IgniteCacheFullApiSelfTestSuite.java | 9 +- .../testsuites/IgniteCacheRestartTestSuite.java | 20 +- .../ignite/testsuites/IgniteCacheTestSuite.java | 3 +- .../ignite/util/TestTcpCommunicationSpi.java | 54 + modules/extdata/p2p/pom.xml | 2 +- modules/extdata/uri/pom.xml | 2 +- modules/geospatial/pom.xml | 2 +- .../query/h2/GridH2IndexingGeoSelfTest.java | 70 +- modules/hadoop/pom.xml | 2 +- .../hadoop/jobtracker/HadoopJobTracker.java | 16 +- .../HadoopDefaultMapReducePlannerSelfTest.java | 8 +- modules/hibernate/pom.xml | 2 +- .../HibernateAccessStrategyAdapter.java | 14 +- .../hibernate/HibernateCollectionRegion.java | 2 +- .../cache/hibernate/HibernateEntityRegion.java | 2 +- .../hibernate/HibernateGeneralDataRegion.java | 4 +- .../hibernate/HibernateNaturalIdRegion.java | 2 +- .../HibernateNonStrictAccessStrategy.java | 6 +- .../hibernate/HibernateQueryResultsRegion.java | 2 +- .../HibernateReadOnlyAccessStrategy.java | 4 +- .../HibernateReadWriteAccessStrategy.java | 10 +- .../ignite/cache/hibernate/HibernateRegion.java | 6 +- .../cache/hibernate/HibernateRegionFactory.java | 10 +- .../hibernate/HibernateTimestampsRegion.java | 2 +- .../HibernateTransactionalAccessStrategy.java | 12 +- .../HibernateTransactionalDataRegion.java | 2 +- .../HibernateL2CacheConfigurationSelfTest.java | 2 +- .../hibernate/HibernateL2CacheSelfTest.java | 2 +- modules/indexing/pom.xml | 2 +- .../processors/query/h2/IgniteH2Indexing.java | 7 +- .../query/h2/sql/GridSqlFunction.java | 6 +- .../query/h2/sql/GridSqlPlaceholder.java | 51 + .../query/h2/sql/GridSqlQueryParser.java | 6 +- .../GridCacheAbstractFieldsQuerySelfTest.java | 78 +- .../cache/GridCacheCrossCacheQuerySelfTest.java | 74 +- .../cache/GridCacheQueryMetricsSelfTest.java | 32 +- .../GridCacheQuerySerializationSelfTest.java | 144 ++ ...idCacheReduceQueryMultithreadedSelfTest.java | 12 +- .../cache/GridIndexingWithNoopSwapSelfTest.java | 19 +- .../IgniteCacheQueryMultiThreadedSelfTest.java | 4 + ...GridCachePartitionedFieldsQuerySelfTest.java | 4 +- .../GridCacheReplicatedFieldsQuerySelfTest.java | 8 +- ...dCacheAbstractReduceFieldsQuerySelfTest.java | 11 +- ...cheReduceFieldsQueryPartitionedSelfTest.java | 5 +- .../query/h2/GridH2IndexRebuildTest.java | 18 +- .../h2/sql/AbstractH2CompareQueryTest.java | 49 +- .../query/h2/sql/GridQueryParsingTest.java | 9 + .../query/h2/sql/H2CompareBigQueryTest.java | 2 +- .../IgniteCacheQuerySelfTestSuite.java | 4 + .../processors/query/h2/sql/bigQuery.sql | 2 +- modules/jcl/pom.xml | 2 +- modules/jta/pom.xml | 2 +- modules/log4j/pom.xml | 2 +- modules/rest-http/pom.xml | 2 +- modules/scalar/pom.xml | 2 +- modules/schedule/pom.xml | 2 +- modules/schema-import/pom.xml | 2 +- .../ignite/schema/generator/CodeGenerator.java | 60 +- modules/slf4j/pom.xml | 2 +- modules/spring/pom.xml | 2 +- modules/ssh/pom.xml | 2 +- modules/tools/pom.xml | 2 +- modules/urideploy/pom.xml | 2 +- modules/visor-console/pom.xml | 6 +- .../ignite/visor/commands/VisorConsole.scala | 20 +- modules/visor-plugins/pom.xml | 2 +- modules/web/pom.xml | 2 +- modules/yardstick/pom.xml | 2 +- .../cache/IgniteCacheAbstractBenchmark.java | 2 +- .../jdbc/IgniteJdbcStoreAbstractBenchmark.java | 4 +- pom.xml | 16 +- 276 files changed, 7718 insertions(+), 8815 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1b73d466/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1b73d466/modules/core/src/main/java/org/apache/ignite/internal/managers/GridManagerAdapter.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1b73d466/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1b73d466/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1b73d466/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1b73d466/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1b73d466/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/1b73d466/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1b73d466/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java index 2131155,974a197..8cd42c1 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java @@@ -137,12 -136,6 +137,9 @@@ public class GridNearAtomicUpdateFutur /** Task name hash. */ private final int taskNameHash; - /** Map time. */ - private volatile long mapTime; - + /** Topology locked flag. Set if atomic update is performed inside a TX or explicit lock. */ + private boolean topLocked; + /** * @param cctx Cache context. * @param cache Cache instance. http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1b73d466/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/1b73d466/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java index 3fa1c9f,72911af..6ea717d --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java @@@ -94,10 -94,10 +94,10 @@@ public final class DataStructuresProces private final AtomicConfiguration atomicCfg; /** */ - private GridCacheProjectionEx<CacheDataStructuresConfigurationKey, Map<String, DataStructureInfo>> dsInfoView; - private IgniteInternalCache<CacheDataStructuresConfigurationKey, Map<String, DataStructureInfo>> utilityCache; ++ private IgniteInternalCache<CacheDataStructuresConfigurationKey, Map<String, DataStructureInfo>> dsInfoView; /** */ - private GridCacheProjectionEx<CacheDataStructuresCacheKey, List<CacheCollectionInfo>> dsCacheInfoView; - private IgniteInternalCache<CacheDataStructuresCacheKey, List<CacheCollectionInfo>> utilityDataCache; ++ private IgniteInternalCache<CacheDataStructuresCacheKey, List<CacheCollectionInfo>> dsCacheInfoView; /** * @param ctx Context. @@@ -116,27 -116,31 +116,27 @@@ if (ctx.config().isDaemon()) return; - GridCache atomicsCache = ctx.cache().atomicsCache(); - utilityCache = (IgniteInternalCache)ctx.cache().utilityCache(); ++ IgniteInternalCache atomicsCache = ctx.cache().atomicsCache(); - utilityDataCache = (IgniteInternalCache)ctx.cache().utilityCache(); + assert atomicsCache != null; - dsInfoView = (GridCacheProjectionEx)atomicsCache; - assert utilityCache != null; ++ dsInfoView = (IgniteInternalCache)atomicsCache; - dsCacheInfoView = (GridCacheProjectionEx)atomicsCache; - if (atomicCfg != null) { - IgniteInternalCache atomicsCache = ctx.cache().atomicsCache(); ++ dsCacheInfoView = (IgniteInternalCache)atomicsCache; - assert atomicsCache != null; + dsView = atomicsCache; - dsView = atomicsCache; + cntDownLatchView = atomicsCache; - cntDownLatchView = atomicsCache; + atomicLongView = atomicsCache; - atomicLongView = atomicsCache; + atomicRefView = atomicsCache; - atomicRefView = atomicsCache; + atomicStampedView = atomicsCache; - atomicStampedView = atomicsCache; + seqView = atomicsCache; - seqView = atomicsCache; - - dsCacheCtx = ctx.cache().internalCache(CU.ATOMICS_CACHE_NAME).context(); - } + dsCacheCtx = ctx.cache().internalCache(CU.ATOMICS_CACHE_NAME).context(); } /** @@@ -896,25 -960,38 +896,25 @@@ assert name != null; assert dsCacheCtx != null; - removeDataStructure(new IgniteCallable<Void>() { - @Override - public Void call() throws Exception { + removeDataStructure(new IgniteClosureX<IgniteInternalTx, Void>() { + @Override public Void applyx(IgniteInternalTx tx) throws IgniteCheckedException { GridCacheInternal key = new GridCacheInternalKeyImpl(name); - dsCacheCtx.gate().enter(); - - try (IgniteInternalTx tx = CU.txStartInternal(dsCacheCtx, dsView, PESSIMISTIC, REPEATABLE_READ)) { - // Check correctness type of removable object. - GridCacheCountDownLatchValue val = - cast(dsView.get(key), GridCacheCountDownLatchValue.class); - - if (val != null) { - if (val.get() > 0) { - throw new IgniteCheckedException("Failed to remove count down latch " + - "with non-zero count: " + val.get()); - } - - dsView.remove(key); - - tx.commit(); - } else - tx.setRollbackOnly(); + // Check correctness type of removable object. + GridCacheCountDownLatchValue val = + cast(dsView.get(key), GridCacheCountDownLatchValue.class); - return null; - } catch (Error | Exception e) { - U.error(log, "Failed to remove data structure: " + key, e); + if (val != null) { + if (val.get() > 0) + throw new IgniteCheckedException("Failed to remove count down latch " + + "with non-zero count: " + val.get()); - dsView.removex(key); - throw e; - } finally { - dsCacheCtx.gate().leave(); ++ dsView.remove(key); } + else + tx.setRollbackOnly(); + + return null; } }, name, COUNT_DOWN_LATCH, null); } @@@ -928,21 -1004,33 +928,21 @@@ * @return Method returns true if sequence has been removed and false if it's not cached. * @throws IgniteCheckedException If removing failed or class of object is different to expected class. */ - private <R> boolean removeInternal(final GridCacheInternal key, final Class<R> cls) throws IgniteCheckedException { - return CU.outTx( - new Callable<Boolean>() { - @Override public Boolean call() throws Exception { - try (IgniteInternalTx tx = CU.txStartInternal(dsCacheCtx, dsView, PESSIMISTIC, REPEATABLE_READ)) { - // Check correctness type of removable object. - R val = cast(dsView.get(key), cls); - - if (val != null) { - dsView.remove(key); - - tx.commit(); - } - else - tx.setRollbackOnly(); + private <R> boolean removeInternal( + IgniteInternalTx tx, + GridCacheInternal key, + final Class<R> cls) + throws IgniteCheckedException + { + // Check correctness type of removable object. + R val = cast(dsView.get(key), cls); - return val != null; - } - catch (Error | Exception e) { - U.error(log, "Failed to remove data structure: " + key, e); + if (val != null) - dsView.removex(key); ++ dsView.remove(key); + else + tx.setRollbackOnly(); - throw e; - } - } - }, - dsCacheCtx - ); + return val != null; } /** @@@ -1049,12 -1137,11 +1049,12 @@@ assert name != null; assert cctx != null; - IgniteCallable<GridCacheSetHeader> rmv = new IgniteCallable<GridCacheSetHeader>() { - @Override public GridCacheSetHeader call() throws Exception { - return (GridCacheSetHeader)retryRemove(cctx.cache(), new GridCacheSetHeaderKey(name)); - } - }; + IgniteClosureX<IgniteInternalTx, GridCacheSetHeader> rmv = + new IgniteClosureX<IgniteInternalTx, GridCacheSetHeader>() { + @Override public GridCacheSetHeader applyx(IgniteInternalTx tx) throws IgniteCheckedException { - return (GridCacheSetHeader)cctx.cache().remove(new GridCacheSetHeaderKey(name), null); ++ return (GridCacheSetHeader)cctx.cache().getAndRemove(new GridCacheSetHeaderKey(name)); + } + }; CIX1<GridCacheSetHeader> afterRmv = new CIX1<GridCacheSetHeader>() { @Override public void applyx(GridCacheSetHeader hdr) throws IgniteCheckedException { http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1b73d466/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1b73d466/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1b73d466/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1b73d466/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteDynamicCacheStartSelfTest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1b73d466/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java ----------------------------------------------------------------------