ignite-4587 CacheAtomicWriteOrderMode.CLOCK mode is removed
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/247282f3 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/247282f3 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/247282f3 Branch: refs/heads/master Commit: 247282f392f68a45a122015a7b7c752c0f73fb5b Parents: acd21fb Author: Max Kozlov <[email protected]> Authored: Fri Apr 14 18:20:20 2017 +0300 Committer: agura <[email protected]> Committed: Fri Apr 14 19:06:43 2017 +0300 ---------------------------------------------------------------------- .../ignite/codegen/MessageCodeGenerator.java | 4 + .../ignite/cache/CacheAtomicWriteOrderMode.java | 64 --- .../org/apache/ignite/cache/CacheEntry.java | 11 - .../configuration/CacheConfiguration.java | 28 -- .../configuration/IgniteConfiguration.java | 60 --- .../ignite/internal/GridKernalContext.java | 16 - .../ignite/internal/GridKernalContextImpl.java | 31 -- .../apache/ignite/internal/IgniteKernal.java | 44 +- .../communication/GridIoMessageFactory.java | 12 - .../processors/cache/CacheEntryImplEx.java | 8 +- .../cache/GridCacheAtomicVersionComparator.java | 24 +- .../processors/cache/GridCacheMapEntry.java | 21 +- .../processors/cache/GridCacheMvcc.java | 23 +- .../processors/cache/GridCacheProcessor.java | 17 - .../cache/GridCacheSwapEntryImpl.java | 4 +- .../processors/cache/GridCacheUtils.java | 7 +- .../cache/database/tree/io/CacheVersionIO.java | 12 +- .../dht/atomic/GridDhtAtomicCache.java | 19 +- ...idNearAtomicAbstractSingleUpdateRequest.java | 1 - .../atomic/GridNearAtomicFullUpdateRequest.java | 3 +- ...GridNearAtomicSingleUpdateFilterRequest.java | 3 +- ...GridNearAtomicSingleUpdateInvokeRequest.java | 3 +- .../cache/transactions/IgniteTxEntry.java | 8 +- .../cache/transactions/IgniteTxManager.java | 2 +- .../version/GridCachePlainVersionedEntry.java | 5 - .../version/GridCacheRawVersionedEntry.java | 5 - .../cache/version/GridCacheVersion.java | 47 +- .../cache/version/GridCacheVersionEx.java | 19 +- .../cache/version/GridCacheVersionManager.java | 9 +- .../cache/version/GridCacheVersionedEntry.java | 7 - .../clock/GridClockDeltaSnapshot.java | 235 --------- .../clock/GridClockDeltaSnapshotMessage.java | 154 ------ .../processors/clock/GridClockDeltaVersion.java | 194 -------- .../processors/clock/GridClockMessage.java | 171 ------- .../processors/clock/GridClockServer.java | 222 --------- .../processors/clock/GridClockSource.java | 30 -- .../clock/GridClockSyncProcessor.java | 481 ------------------- .../processors/clock/GridJvmClockSource.java | 28 -- .../datastructures/DataStructuresProcessor.java | 2 - .../internal/processors/igfs/IgfsUtils.java | 2 - .../utils/PlatformConfigurationUtils.java | 3 - .../ignite/internal/util/IgniteUtils.java | 26 +- .../visor/cache/VisorCacheConfiguration.java | 13 +- .../ignite/startup/BasicWarmupClosure.java | 3 +- .../resources/META-INF/classnames.properties | 5 +- .../config/websession/example-cache-base.xml | 1 - .../test/config/websession/spring-cache-1.xml | 6 - .../test/config/websession/spring-cache-2.xml | 6 - .../test/config/websession/spring-cache-3.xml | 6 - .../IgniteClientReconnectCacheTest.java | 87 ++-- .../CacheAtomicSingleMessageCountSelfTest.java | 2 - .../cache/CacheEnumOperationsAbstractTest.java | 2 - ...torPartitionCounterRandomOperationsTest.java | 2 - .../CacheStoreUsageMultinodeAbstractTest.java | 2 - .../EntryVersionConsistencyReadThroughTest.java | 2 - ...idAbstractCacheInterceptorRebalanceTest.java | 2 - .../cache/GridCacheAbstractFullApiSelfTest.java | 15 +- .../GridCacheAbstractLocalStoreSelfTest.java | 16 +- .../GridCacheAbstractRemoveFailureTest.java | 9 - .../GridCacheAtomicMessageCountSelfTest.java | 54 +-- .../cache/GridCacheEntryVersionSelfTest.java | 2 - .../cache/GridCacheIncrementTransformTest.java | 2 - .../GridCacheInterceptorAbstractSelfTest.java | 24 +- ...erceptorAtomicPrimaryWriteOrderSelfTest.java | 47 -- ...omicReplicatedPrimaryWriteOrderSelfTest.java | 48 -- ...acheInterceptorAtomicReplicatedSelfTest.java | 8 - .../GridCacheInterceptorAtomicSelfTest.java | 8 - ...GridCacheInterceptorLocalAtomicSelfTest.java | 8 - .../cache/GridCacheMvccFlagsTest.java | 4 +- .../cache/GridCacheMvccPartitionedSelfTest.java | 24 +- .../processors/cache/GridCacheMvccSelfTest.java | 8 +- ...HeapMultiThreadedUpdateAbstractSelfTest.java | 2 - .../GridCacheOffHeapTieredAbstractSelfTest.java | 0 ...heOffHeapTieredEvictionAbstractSelfTest.java | 0 .../GridCacheReturnValueTransferSelfTest.java | 15 +- ...ridCacheStoreManagerDeserializationTest.java | 10 - .../processors/cache/GridCacheTestEntryEx.java | 2 +- ...idCacheValueConsistencyAbstractSelfTest.java | 10 - .../cache/GridCacheVersionMultinodeTest.java | 40 -- .../cache/GridCacheVersionSelfTest.java | 4 +- .../GridCacheVersionTopologyChangeTest.java | 2 - .../cache/IgniteCacheAbstractTest.java | 14 - .../cache/IgniteCacheAtomicInvokeTest.java | 7 - .../cache/IgniteCacheAtomicPeekModesTest.java | 7 - ...eCacheAtomicPrimaryWriteOrderInvokeTest.java | 57 --- ...maryWriteOrderNearEnabledStoreValueTest.java | 31 -- ...heAtomicPrimaryWriteOrderStoreValueTest.java | 32 -- ...micPrimaryWriteOrderWithStoreInvokeTest.java | 32 -- .../cache/IgniteCacheAtomicStoreValueTest.java | 7 - .../IgniteCacheAtomicWithStoreInvokeTest.java | 32 ++ .../IgniteCacheConfigVariationsFullApiTest.java | 6 - .../IgniteCacheEntryListenerAtomicTest.java | 7 - ...niteCacheEntryListenerExpiredEventsTest.java | 2 - .../IgniteCacheEntryProcessorCallTest.java | 3 - .../IgniteCacheInterceptorSelfTestSuite.java | 2 - ...gniteCacheInvokeReadThroughAbstractTest.java | 2 - .../IgniteCacheP2pUnmarshallingErrorTest.java | 6 - .../IgniteCacheReadThroughStoreCallTest.java | 2 - .../IgniteCacheStoreValueAbstractTest.java | 4 - .../cache/IgniteCacheTxPeekModesTest.java | 7 - .../cache/IgniteExchangeFutureHistoryTest.java | 6 - ...logyValidatorPartitionedAtomicCacheTest.java | 7 - ...ologyValidatorReplicatedAtomicCacheTest.java | 7 - ...sExchangeOnDiscoveryHistoryOverflowTest.java | 7 - .../IgniteCacheAtomicExecutionContextTest.java | 7 - ...iteCachePartitionedExecutionContextTest.java | 7 - ...niteCacheReplicatedExecutionContextTest.java | 7 - .../IgniteCacheTxExecutionContextTest.java | 7 - ...CacheAtomicNearUpdateTopologyChangeTest.java | 7 - .../CacheLateAffinityAssignmentTest.java | 2 - ...NearDisabledAtomicInvokeRestartSelfTest.java | 6 - ...dCacheMultithreadedFailoverAbstractTest.java | 18 +- ...chePartitionedReloadAllAbstractSelfTest.java | 11 - .../GridCacheTransformEventSelfTest.java | 2 - .../IgniteCacheAtomicNodeJoinTest.java | 6 - ...niteCacheClientNodeChangingTopologyTest.java | 92 +--- .../IgniteCacheMessageRecoveryAbstractTest.java | 2 - ...tPartitionedOnlyByteArrayValuesSelfTest.java | 2 - .../dht/GridCacheAtomicFullApiSelfTest.java | 19 - .../dht/GridCacheAtomicNearCacheSelfTest.java | 52 +- ...EnabledPrimaryWriteOrderFullApiSelfTest.java | 31 -- ...eAtomicPrimaryWriteOrderFullApiSelfTest.java | 32 -- ...tomicPrimaryWriteOrderReloadAllSelfTest.java | 32 -- .../GridCacheDhtAtomicRemoveFailureTest.java | 7 - .../dht/IgniteCacheConcurrentPutGetRemove.java | 2 - ...artitionedBackupNodeFailureRecoveryTest.java | 7 - .../IgniteCachePutRetryAbstractSelfTest.java | 16 - .../atomic/GridCacheAtomicFailoverSelfTest.java | 3 - ...eAtomicInvalidPartitionHandlingSelfTest.java | 39 +- ...AtomicPrimaryWriteOrderFailoverSelfTest.java | 36 -- ...tomicPrimaryWriteOrderRemoveFailureTest.java | 53 -- .../GridCacheAtomicRemoveFailureTest.java | 7 - ...micPrimaryWriteOrderNearEnabledSelfTest.java | 39 -- ...sistencyAtomicPrimaryWriteOrderSelfTest.java | 32 -- ...PutRetryAtomicPrimaryWriteOrderSelfTest.java | 32 -- ...LateAffDisabledMultiNodeFullApiSelfTest.java | 35 ++ ...imaryWriteOrderMultiNodeFullApiSelfTest.java | 35 -- ...GridCacheAtomicMultiNodeFullApiSelfTest.java | 10 - ...omicMultiNodeP2PDisabledFullApiSelfTest.java | 19 - ...imaryWriteOrderMultiNodeFullApiSelfTest.java | 31 -- .../GridCacheAtomicNearRemoveFailureTest.java | 7 - ...icNoStripedPoolMultiNodeFullApiSelfTest.java | 0 .../GridCacheAtomicOffHeapFullApiSelfTest.java | 0 ...heAtomicOffHeapMultiNodeFullApiSelfTest.java | 0 ...idCacheAtomicPartitionedMetricsSelfTest.java | 2 - ...derFairAffinityMultiNodeFullApiSelfTest.java | 0 ...imaryWriteOrderMultiNodeFullApiSelfTest.java | 32 -- ...rderMultiNodeP2PDisabledFullApiSelfTest.java | 33 -- ...cPrimaryWriteOrderNearRemoveFailureTest.java | 52 -- ...cPrimaryWriteOrderOnheapFullApiSelfTest.java | 28 -- ...riteOrderOnheapMultiNodeFullApiSelfTest.java | 29 -- .../near/GridCacheNearEvictionSelfTest.java | 2 - ...idCacheNearOnlyMultiNodeFullApiSelfTest.java | 2 - ...achePartitionedMultiNodeFullApiSelfTest.java | 4 - .../near/NearCacheSyncUpdateTest.java | 27 +- .../GridCacheRebalancingOrderingTest.java | 2 - ...cheRebalancingPartitionDistributionTest.java | 2 - ...ridCacheAtomicReplicatedMetricsSelfTest.java | 2 - ...eplicatedAtomicMultiNodeFullApiSelfTest.java | 19 - ...imaryWriteOrderMultiNodeFullApiSelfTest.java | 33 -- .../IgniteCacheAtomicExpiryPolicyTest.java | 7 - ...iteCacheAtomicExpiryPolicyWithStoreTest.java | 7 - ...AtomicPrimaryWriteOrderExpiryPolicyTest.java | 32 -- ...maryWriteOrderWithStoreExpiryPolicyTest.java | 32 -- .../IgniteCacheExpiryPolicyAbstractTest.java | 13 +- .../IgniteCacheExpiryPolicyTestSuite.java | 2 - .../IgniteCacheAtomicLoadAllTest.java | 7 - .../IgniteCacheAtomicLoaderWriterTest.java | 7 - ...gniteCacheAtomicNoLoadPreviousValueTest.java | 7 - .../IgniteCacheAtomicNoReadThroughTest.java | 7 - .../IgniteCacheAtomicNoWriteThroughTest.java | 7 - .../IgniteCacheAtomicStoreSessionTest.java | 7 - ...eCacheAtomicStoreSessionWriteBehindTest.java | 7 - ...IgniteCacheJdbcBlobStoreNodeRestartTest.java | 8 - .../GridCacheAtomicLocalMetricsSelfTest.java | 2 - ...rimaryWriteOrderMultiJvmFullApiSelfTest.java | 31 -- ...rimaryWriteOrderMultiJvmFullApiSelfTest.java | 31 -- ...OrderMultiJvmP2PDisabledFullApiSelfTest.java | 31 -- ...WriteOrderOnheapMultiJvmFullApiSelfTest.java | 29 -- ...rimaryWriteOrderMultiJvmFullApiSelfTest.java | 31 -- .../GridCacheSwapScanQueryAbstractSelfTest.java | 0 ...FailoverAtomicPrimaryWriteOrderSelfTest.java | 50 -- ...tinuousQueryAsyncFailoverAtomicSelfTest.java | 43 ++ ...eContinuousQueryAsyncFilterListenerTest.java | 2 - ...acheContinuousQueryExecuteInPrimaryTest.java | 2 - ...ContinuousQueryFailoverAbstractSelfTest.java | 10 - ...ryFailoverAtomicNearEnabledSelfSelfTest.java | 9 +- ...ousQueryFailoverAtomicOffheapTieredTest.java | 0 ...FailoverAtomicPrimaryWriteOrderSelfTest.java | 44 -- ...usQueryFailoverAtomicReplicatedSelfTest.java | 9 +- ...heContinuousQueryFailoverAtomicSelfTest.java | 36 ++ ...ontinuousQueryOperationFromCallbackTest.java | 2 - .../CacheContinuousQueryOperationP2PTest.java | 2 - .../CacheContinuousQueryOrderingEventTest.java | 2 - ...acheContinuousQueryRandomOperationsTest.java | 2 - .../CacheKeepBinaryIterationTest.java | 2 - ...teCacheClientWriteBehindStoreAtomicTest.java | 7 - .../transactions/DepthFirstSearchTest.java | 18 +- .../CacheVersionedEntryAbstractTest.java | 2 - .../clock/GridTimeSyncProcessorSelfTest.java | 224 --------- .../database/FreeListImplSelfTest.java | 2 +- .../DataStreamerUpdateAfterLoadTest.java | 18 +- .../ServicePredicateAccessCacheTest.java | 4 +- .../tcp/TcpCommunicationSpiDropNodesTest.java | 1 - .../TcpCommunicationSpiFaultyClientTest.java | 1 - .../configvariations/ConfigVariations.java | 3 - .../testframework/junits/GridAbstractTest.java | 2 - .../junits/common/GridCommonAbstractTest.java | 18 - .../IgniteCacheFailoverTestSuite.java | 4 - .../IgniteCacheFailoverTestSuite2.java | 2 - .../IgniteCacheFailoverTestSuite3.java | 2 - ...IgniteCacheFullApiMultiJvmSelfTestSuite.java | 10 - .../IgniteCacheFullApiSelfTestSuite.java | 24 +- .../ignite/testsuites/IgniteCacheTestSuite.java | 6 +- .../testsuites/IgniteCacheTestSuite3.java | 4 - .../CacheHibernateBlobStoreNodeRestartTest.java | 8 - .../CacheOperationsWithExpirationTest.java | 2 - .../CacheRandomOperationsMultithreadedTest.java | 2 - .../IgniteCacheCrossCacheJoinRandomTest.java | 2 - ...acheDistributedJoinCollocatedAndNotTest.java | 2 - ...acheDistributedJoinCustomAffinityMapper.java | 2 - .../IgniteCacheDistributedJoinNoIndexTest.java | 2 - ...ributedJoinPartitionedAndReplicatedTest.java | 2 - ...CacheDistributedJoinQueryConditionsTest.java | 2 - ...PartitionedAndReplicatedCollocationTest.java | 2 - ...teCacheJoinPartitionedAndReplicatedTest.java | 2 - .../IgniteCacheQuerySelfTestSuite4.java | 8 +- .../Config/native-client-test-cache.xml | 3 - .../IgniteConfigurationSerializerTest.cs | 1 - .../Apache.Ignite.Core.csproj | 1 - .../Configuration/CacheAtomicWriteOrderMode.cs | 43 -- .../Cache/Configuration/CacheConfiguration.cs | 7 - .../IgniteConfigurationSection.xsd | 12 - .../commands/cache/VisorCacheCommand.scala | 1 - modules/web-console/backend/app/mongo.js | 3 - .../generator/ConfigurationGenerator.js | 5 +- .../generator/PlatformGenerator.js | 1 - .../defaults/Cache.platform.service.js | 4 - .../generator/defaults/Cache.service.js | 3 - .../generator/defaults/Cluster.service.js | 2 - .../states/configuration/caches/concurrency.pug | 11 - .../states/configuration/clusters/time.pug | 10 +- modules/yardstick/README.txt | 1 - .../yardstick/IgniteBenchmarkArguments.java | 15 +- .../org/apache/ignite/yardstick/IgniteNode.java | 3 - 245 files changed, 398 insertions(+), 4510 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/codegen/src/main/java/org/apache/ignite/codegen/MessageCodeGenerator.java ---------------------------------------------------------------------- diff --git a/modules/codegen/src/main/java/org/apache/ignite/codegen/MessageCodeGenerator.java b/modules/codegen/src/main/java/org/apache/ignite/codegen/MessageCodeGenerator.java index 62c8ed2..99ec08a 100644 --- a/modules/codegen/src/main/java/org/apache/ignite/codegen/MessageCodeGenerator.java +++ b/modules/codegen/src/main/java/org/apache/ignite/codegen/MessageCodeGenerator.java @@ -44,6 +44,8 @@ import org.apache.ignite.internal.GridDirectCollection; import org.apache.ignite.internal.GridDirectMap; import org.apache.ignite.internal.GridDirectTransient; import org.apache.ignite.internal.IgniteCodeGeneratingFail; +import org.apache.ignite.internal.processors.cache.version.GridCacheVersion; +import org.apache.ignite.internal.processors.cache.version.GridCacheVersionEx; import org.apache.ignite.internal.util.typedef.internal.SB; import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.lang.IgniteUuid; @@ -231,6 +233,8 @@ public class MessageCodeGenerator { // gen.generateAndWrite(GridH2RowRangeBounds.class); // gen.generateAndWrite(GridH2QueryRequest.class); // gen.generateAndWrite(GridH2RowMessage.class); +// gen.generateAndWrite(GridCacheVersion.class); +// gen.generateAndWrite(GridCacheVersionEx.class); } /** http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/core/src/main/java/org/apache/ignite/cache/CacheAtomicWriteOrderMode.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/cache/CacheAtomicWriteOrderMode.java b/modules/core/src/main/java/org/apache/ignite/cache/CacheAtomicWriteOrderMode.java deleted file mode 100644 index 38b4556..0000000 --- a/modules/core/src/main/java/org/apache/ignite/cache/CacheAtomicWriteOrderMode.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.cache; - -import org.jetbrains.annotations.Nullable; - -/** - * Cache write ordering mode. This enumeration is taken into account only in {@link CacheAtomicityMode#ATOMIC} - * atomicity mode. Write ordering mode determines which node assigns the write version, sender or the primary node. - * <p> - * For example, {@link #CLOCK} mode assigns write versions on a sender node which generally leads to better - * performance in {@link CacheWriteSynchronizationMode#FULL_SYNC} synchronization mode, since in this case - * sender can send write requests to primary and backups at the same time. Otherwise, if ordering mode is - * {@link #PRIMARY}, it would only send request to primary node, which in turn will assign write version - * and forward it to backups. - * <p> - * {@link #CLOCK} mode will be automatically configured only with {@link CacheWriteSynchronizationMode#FULL_SYNC} - * write synchronization mode, as for other synchronization modes it does not render better performance. - */ -public enum CacheAtomicWriteOrderMode { - /** - * In this mode, write versions are assigned on a sender node which generally leads to better - * performance in {@link CacheWriteSynchronizationMode#FULL_SYNC} synchronization mode, since in this case - * sender can send write requests to primary and backups at the same time. - * <p> - * This mode will be automatically configured only with {@link CacheWriteSynchronizationMode#FULL_SYNC} - * write synchronization mode, as for other synchronization modes it does not render better performance. - */ - CLOCK, - - /** - * Cache version is assigned only on primary node. This means that sender will only send write request - * to primary node, which in turn will assign write version and forward it to backups. - */ - PRIMARY; - - /** Enumerated values. */ - private static final CacheAtomicWriteOrderMode[] VALS = values(); - - /** - * Efficiently gets enumerated value from its ordinal. - * - * @param ord Ordinal value. - * @return Enumerated value or {@code null} if ordinal out of range. - */ - @Nullable public static CacheAtomicWriteOrderMode fromOrdinal(byte ord) { - return ord >= 0 && ord < VALS.length ? VALS[ord] : null; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/core/src/main/java/org/apache/ignite/cache/CacheEntry.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/cache/CacheEntry.java b/modules/core/src/main/java/org/apache/ignite/cache/CacheEntry.java index 6284f5b..7b995cd 100644 --- a/modules/core/src/main/java/org/apache/ignite/cache/CacheEntry.java +++ b/modules/core/src/main/java/org/apache/ignite/cache/CacheEntry.java @@ -81,15 +81,4 @@ public interface CacheEntry<K, V> extends Cache.Entry<K, V> { * @return Version of this cache entry. */ public Comparable version(); - - /** - * Returns the time when the cache entry for the given key has been updated or initially created. - * <p> - * It is valid to compare cache entries' update time for the same key. In this case the latter update will - * be represented by higher update time. The result of update time comparison of cache entries of different keys is - * undefined. - * - * @return Time in milliseconds. - */ - public long updateTime(); } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java index cfdfed8..34b3951 100644 --- a/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java @@ -44,7 +44,6 @@ import javax.cache.integration.CacheLoader; import javax.cache.integration.CacheWriter; import org.apache.ignite.Ignite; import org.apache.ignite.IgniteCache; -import org.apache.ignite.cache.CacheAtomicWriteOrderMode; import org.apache.ignite.cache.CacheAtomicityMode; import org.apache.ignite.cache.CacheEntryProcessor; import org.apache.ignite.cache.CacheInterceptor; @@ -269,9 +268,6 @@ public class CacheConfiguration<K, V> extends MutableConfiguration<K, V> { /** Cache atomicity mode. */ private CacheAtomicityMode atomicityMode; - /** Write ordering mode. */ - private CacheAtomicWriteOrderMode atomicWriteOrderMode; - /** Number of backups for cache. */ private int backups = DFLT_BACKUPS; @@ -409,7 +405,6 @@ public class CacheConfiguration<K, V> extends MutableConfiguration<K, V> { aff = cc.getAffinity(); affMapper = cc.getAffinityMapper(); atomicityMode = cc.getAtomicityMode(); - atomicWriteOrderMode = cc.getAtomicWriteOrderMode(); backups = cc.getBackups(); cacheLoaderFactory = cc.getCacheLoaderFactory(); cacheMode = cc.getCacheMode(); @@ -901,29 +896,6 @@ public class CacheConfiguration<K, V> extends MutableConfiguration<K, V> { } /** - * Gets cache write ordering mode. This property can be enabled only for {@link CacheAtomicityMode#ATOMIC} - * cache (for other atomicity modes it will be ignored). - * - * @return Cache write ordering mode. - */ - public CacheAtomicWriteOrderMode getAtomicWriteOrderMode() { - return atomicWriteOrderMode; - } - - /** - * Sets cache write ordering mode. This property can be enabled only for {@link CacheAtomicityMode#ATOMIC} - * cache (for other atomicity modes it will be ignored). - * - * @param atomicWriteOrderMode Cache write ordering mode. - * @return {@code this} for chaining. - */ - public CacheConfiguration<K, V> setAtomicWriteOrderMode(CacheAtomicWriteOrderMode atomicWriteOrderMode) { - this.atomicWriteOrderMode = atomicWriteOrderMode; - - return this; - } - - /** * Gets number of nodes used to back up single partition for {@link CacheMode#PARTITIONED} cache. * <p> * If not set, default value is {@link #DFLT_BACKUPS}. http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java index 44fb311..5d29e0e 100644 --- a/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java @@ -120,12 +120,6 @@ public class IgniteConfiguration { /** Default message send retries count. */ public static final int DFLT_SEND_RETRY_CNT = 3; - /** Default number of clock sync samples. */ - public static final int DFLT_CLOCK_SYNC_SAMPLES = 8; - - /** Default clock synchronization frequency. */ - public static final int DFLT_CLOCK_SYNC_FREQUENCY = 120000; - /** Default discovery startup delay in milliseconds (value is {@code 60,000ms}). */ public static final long DFLT_DISCOVERY_STARTUP_DELAY = 60000; @@ -292,12 +286,6 @@ public class IgniteConfiguration { /** Message send retries delay. */ private int sndRetryCnt = DFLT_SEND_RETRY_CNT; - /** Number of samples for clock synchronization. */ - private int clockSyncSamples = DFLT_CLOCK_SYNC_SAMPLES; - - /** Clock synchronization frequency. */ - private long clockSyncFreq = DFLT_CLOCK_SYNC_FREQUENCY; - /** Metrics history time. */ private int metricsHistSize = DFLT_METRICS_HISTORY_SIZE; @@ -500,8 +488,6 @@ public class IgniteConfiguration { callbackPoolSize = cfg.getAsyncCallbackPoolSize(); classLdr = cfg.getClassLoader(); clientMode = cfg.isClientMode(); - clockSyncFreq = cfg.getClockSyncFrequency(); - clockSyncSamples = cfg.getClockSyncSamples(); connectorCfg = cfg.getConnectorConfiguration(); consistentId = cfg.getConsistentId(); daemon = cfg.isDaemon(); @@ -1449,52 +1435,6 @@ public class IgniteConfiguration { } /** - * Gets number of samples used to synchronize clocks between different nodes. - * <p> - * Clock synchronization is used for cache version assignment in {@code CLOCK} order mode. - * - * @return Number of samples for one synchronization round. - */ - public int getClockSyncSamples() { - return clockSyncSamples; - } - - /** - * Sets number of samples used for clock synchronization. - * - * @param clockSyncSamples Number of samples. - * @return {@code this} for chaining. - */ - public IgniteConfiguration setClockSyncSamples(int clockSyncSamples) { - this.clockSyncSamples = clockSyncSamples; - - return this; - } - - /** - * Gets frequency at which clock is synchronized between nodes, in milliseconds. - * <p> - * Clock synchronization is used for cache version assignment in {@code CLOCK} order mode. - * - * @return Clock synchronization frequency, in milliseconds. - */ - public long getClockSyncFrequency() { - return clockSyncFreq; - } - - /** - * Sets clock synchronization frequency in milliseconds. - * - * @param clockSyncFreq Clock synchronization frequency. - * @return {@code this} for chaining. - */ - public IgniteConfiguration setClockSyncFrequency(long clockSyncFreq) { - this.clockSyncFreq = clockSyncFreq; - - return this; - } - - /** * Gets Max count of threads can be used at rebalancing. * Minimum is 1. * @return count. http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java index 99570b2..6fefb68 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java @@ -35,8 +35,6 @@ import org.apache.ignite.internal.managers.loadbalancer.GridLoadBalancerManager; import org.apache.ignite.internal.processors.affinity.GridAffinityProcessor; import org.apache.ignite.internal.processors.cache.GridCacheProcessor; import org.apache.ignite.internal.processors.cacheobject.IgniteCacheObjectProcessor; -import org.apache.ignite.internal.processors.clock.GridClockSource; -import org.apache.ignite.internal.processors.clock.GridClockSyncProcessor; import org.apache.ignite.internal.processors.closure.GridClosureProcessor; import org.apache.ignite.internal.processors.cluster.ClusterProcessor; import org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor; @@ -171,13 +169,6 @@ public interface GridKernalContext extends Iterable<GridComponent> { public GridTimeoutProcessor timeout(); /** - * Gets time processor. - * - * @return Time processor. - */ - public GridClockSyncProcessor clockSync(); - - /** * Gets resource processor. * * @return Resource processor. @@ -421,13 +412,6 @@ public interface GridKernalContext extends Iterable<GridComponent> { public GridIndexingManager indexing(); /** - * Gets grid time source. - * - * @return Time source. - */ - public GridClockSource timeSource(); - - /** * Gets data structures processor. * * @return Data structures processor. http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java index b681027..664e47c 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java @@ -50,9 +50,6 @@ import org.apache.ignite.internal.processors.cache.CacheConflictResolutionManage import org.apache.ignite.internal.processors.cache.GridCacheProcessor; import org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl; import org.apache.ignite.internal.processors.cacheobject.IgniteCacheObjectProcessor; -import org.apache.ignite.internal.processors.clock.GridClockSource; -import org.apache.ignite.internal.processors.clock.GridClockSyncProcessor; -import org.apache.ignite.internal.processors.clock.GridJvmClockSource; import org.apache.ignite.internal.processors.closure.GridClosureProcessor; import org.apache.ignite.internal.processors.cluster.ClusterProcessor; import org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor; @@ -183,10 +180,6 @@ public class GridKernalContextImpl implements GridKernalContext, Externalizable /** */ @GridToStringInclude - private GridClockSyncProcessor clockSyncProc; - - /** */ - @GridToStringInclude private GridResourceProcessor rsrcProc; /** */ @@ -364,9 +357,6 @@ public class GridKernalContextImpl implements GridKernalContext, Externalizable /** Network segmented flag. */ private volatile boolean segFlag; - /** Time source. */ - private GridClockSource clockSrc = new GridJvmClockSource(); - /** Performance suggestions. */ private final GridPerformanceSuggestions perf = new GridPerformanceSuggestions(); @@ -526,8 +516,6 @@ public class GridKernalContextImpl implements GridKernalContext, Externalizable jobProc = (GridJobProcessor)comp; else if (comp instanceof GridTimeoutProcessor) timeProc = (GridTimeoutProcessor)comp; - else if (comp instanceof GridClockSyncProcessor) - clockSyncProc = (GridClockSyncProcessor)comp; else if (comp instanceof GridResourceProcessor) rsrcProc = (GridResourceProcessor)comp; else if (comp instanceof GridJobMetricsProcessor) @@ -652,11 +640,6 @@ public class GridKernalContextImpl implements GridKernalContext, Externalizable } /** {@inheritDoc} */ - @Override public GridClockSyncProcessor clockSync() { - return clockSyncProc; - } - - /** {@inheritDoc} */ @Override public GridResourceProcessor resource() { return rsrcProc; } @@ -858,20 +841,6 @@ public class GridKernalContextImpl implements GridKernalContext, Externalizable } /** {@inheritDoc} */ - @Override public GridClockSource timeSource() { - return clockSrc; - } - - /** - * Sets time source. For test purposes only. - * - * @param clockSrc Time source. - */ - public void timeSource(GridClockSource clockSrc) { - this.clockSrc = clockSrc; - } - - /** {@inheritDoc} */ @Override public GridPerformanceSuggestions performance() { return perf; } http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java index c991319..b35f9bb 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java @@ -111,7 +111,6 @@ import org.apache.ignite.internal.processors.cache.IgniteInternalCache; import org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl; import org.apache.ignite.internal.processors.cache.database.MemoryPolicy; import org.apache.ignite.internal.processors.cacheobject.IgniteCacheObjectProcessor; -import org.apache.ignite.internal.processors.clock.GridClockSyncProcessor; import org.apache.ignite.internal.processors.closure.GridClosureProcessor; import org.apache.ignite.internal.processors.cluster.ClusterProcessor; import org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor; @@ -909,29 +908,26 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable { // Start processors before discovery manager, so they will // be able to start receiving messages once discovery completes. - try { - startProcessor(createComponent(DiscoveryNodeValidationProcessor.class, ctx)); - startProcessor(new GridClockSyncProcessor(ctx)); - startProcessor(new GridAffinityProcessor(ctx)); - startProcessor(createComponent(GridSegmentationProcessor.class, ctx)); - startProcessor(createComponent(IgniteCacheObjectProcessor.class, ctx)); - startProcessor(new GridCacheProcessor(ctx)); - startProcessor(new GridClusterStateProcessor(ctx)); - startProcessor(new GridQueryProcessor(ctx)); - startProcessor(new OdbcProcessor(ctx)); - startProcessor(new GridServiceProcessor(ctx)); - startProcessor(new GridTaskSessionProcessor(ctx)); - startProcessor(new GridJobProcessor(ctx)); - startProcessor(new GridTaskProcessor(ctx)); - startProcessor((GridProcessor)SCHEDULE.createOptional(ctx)); - startProcessor(new GridRestProcessor(ctx)); - startProcessor(new DataStreamProcessor(ctx)); - startProcessor((GridProcessor)IGFS.create(ctx, F.isEmpty(cfg.getFileSystemConfiguration()))); - startProcessor(new GridContinuousProcessor(ctx)); - startProcessor(createHadoopComponent()); - startProcessor(new DataStructuresProcessor(ctx)); - startProcessor(createComponent(PlatformProcessor.class, ctx)); - startProcessor(new GridMarshallerMappingProcessor(ctx)); + try {startProcessor(createComponent(DiscoveryNodeValidationProcessor.class, ctx)); + startProcessor(new GridAffinityProcessor(ctx)); + startProcessor(createComponent(GridSegmentationProcessor.class, ctx)); + startProcessor(createComponent(IgniteCacheObjectProcessor.class, ctx)); + startProcessor(new GridCacheProcessor(ctx));startProcessor(new GridClusterStateProcessor(ctx)); + startProcessor(new GridQueryProcessor(ctx)); + startProcessor(new OdbcProcessor(ctx)); + startProcessor(new GridServiceProcessor(ctx)); + startProcessor(new GridTaskSessionProcessor(ctx)); + startProcessor(new GridJobProcessor(ctx)); + startProcessor(new GridTaskProcessor(ctx)); + startProcessor((GridProcessor)SCHEDULE.createOptional(ctx)); + startProcessor(new GridRestProcessor(ctx)); + startProcessor(new DataStreamProcessor(ctx)); + startProcessor((GridProcessor)IGFS.create(ctx, F.isEmpty(cfg.getFileSystemConfiguration()))); + startProcessor(new GridContinuousProcessor(ctx)); + startProcessor(createHadoopComponent()); + startProcessor(new DataStructuresProcessor(ctx)); + startProcessor(createComponent(PlatformProcessor.class, ctx)); + startProcessor(new GridMarshallerMappingProcessor(ctx)); // Start plugins. for (PluginProvider provider : ctx.plugins().allProviders()) { http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java index 2891bc5..e1c9511 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java @@ -117,8 +117,6 @@ import org.apache.ignite.internal.processors.cache.transactions.TxLocksResponse; import org.apache.ignite.internal.processors.cache.version.GridCacheRawVersionedEntry; import org.apache.ignite.internal.processors.cache.version.GridCacheVersion; import org.apache.ignite.internal.processors.cache.version.GridCacheVersionEx; -import org.apache.ignite.internal.processors.clock.GridClockDeltaSnapshotMessage; -import org.apache.ignite.internal.processors.clock.GridClockDeltaVersion; import org.apache.ignite.internal.processors.continuous.GridContinuousMessage; import org.apache.ignite.internal.processors.datastreamer.DataStreamerEntry; import org.apache.ignite.internal.processors.datastreamer.DataStreamerRequest; @@ -573,11 +571,6 @@ public class GridIoMessageFactory implements MessageFactory { break; - case 60: - msg = new GridClockDeltaSnapshotMessage(); - - break; - case 61: msg = new GridContinuousMessage(); @@ -668,11 +661,6 @@ public class GridIoMessageFactory implements MessageFactory { break; - case 83: - msg = new GridClockDeltaVersion(); - - break; - case 84: msg = new GridByteArrayList(); http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryImplEx.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryImplEx.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryImplEx.java index af926c6..664b216 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryImplEx.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryImplEx.java @@ -70,11 +70,6 @@ public class CacheEntryImplEx<K, V> extends CacheEntryImpl<K, V> implements Cach } /** {@inheritDoc} */ - @Override public long updateTime() { - return ver.globalTime(); - } - - /** {@inheritDoc} */ @Override public void writeExternal(ObjectOutput out) throws IOException { super.writeExternal(out); @@ -96,8 +91,7 @@ public class CacheEntryImplEx<K, V> extends CacheEntryImpl<K, V> implements Cach if (ver != null && ver != GET_ENTRY_INVALID_VER_AFTER_GET && ver != GET_ENTRY_INVALID_VER_UPDATED) { res += ", topVer=" + ver.topologyVersion() + ", nodeOrder=" + ver.nodeOrder() + - ", order=" + ver.order() + - ", updateTime=" + ver.globalTime(); + ", order=" + ver.order(); } else res += ", ver=n/a"; http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAtomicVersionComparator.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAtomicVersionComparator.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAtomicVersionComparator.java index 08a5b28..95e36bf 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAtomicVersionComparator.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAtomicVersionComparator.java @@ -28,32 +28,24 @@ public class GridCacheAtomicVersionComparator { * * @param one First version. * @param other Second version. - * @param ignoreTime {@code True} if global time should be ignored. * @return Comparison value. */ - public int compare(GridCacheVersion one, GridCacheVersion other, boolean ignoreTime) { + public int compare(GridCacheVersion one, GridCacheVersion other) { int topVer = one.topologyVersion(); int otherTopVer = other.topologyVersion(); if (topVer == otherTopVer) { - long globalTime = one.globalTime(); - long otherGlobalTime = other.globalTime(); + long locOrder = one.order(); + long otherLocOrder = other.order(); - if (globalTime == otherGlobalTime || ignoreTime) { - long locOrder = one.order(); - long otherLocOrder = other.order(); + if (locOrder == otherLocOrder) { + int nodeOrder = one.nodeOrder(); + int otherNodeOrder = other.nodeOrder(); - if (locOrder == otherLocOrder) { - int nodeOrder = one.nodeOrder(); - int otherNodeOrder = other.nodeOrder(); - - return nodeOrder == otherNodeOrder ? 0 : nodeOrder < otherNodeOrder ? -1 : 1; - } - else - return locOrder > otherLocOrder ? 1 : -1; + return nodeOrder == otherNodeOrder ? 0 : nodeOrder < otherNodeOrder ? -1 : 1; } else - return globalTime > otherGlobalTime ? 1 : -1; + return locOrder > otherLocOrder ? 1 : -1; } else return topVer > otherTopVer ? 1 : -1; http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java index 9e2cd70..f4d4258 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java @@ -34,7 +34,6 @@ import org.apache.ignite.IgniteCache; import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.IgniteException; import org.apache.ignite.IgniteLogger; -import org.apache.ignite.cache.CacheAtomicWriteOrderMode; import org.apache.ignite.cache.eviction.EvictableEntry; import org.apache.ignite.internal.pagemem.wal.StorageException; import org.apache.ignite.internal.pagemem.wal.record.DataEntry; @@ -2588,11 +2587,8 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme unswap(false); if (!isNew()) { - if (cctx.atomic()) { - boolean ignoreTime = cctx.config().getAtomicWriteOrderMode() == CacheAtomicWriteOrderMode.PRIMARY; - - update = ATOMIC_VER_COMPARATOR.compare(this.ver, ver, ignoreTime) < 0; - } + if (cctx.atomic()) + update = ATOMIC_VER_COMPARATOR.compare(this.ver, ver) < 0; else update = this.ver.compareTo(ver) < 0; } @@ -4274,7 +4270,6 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme // Incorporate conflict version into new version if needed. if (conflictVer != null && conflictVer != newVer) { newVer = new GridCacheVersionEx(newVer.topologyVersion(), - newVer.globalTime(), newVer.order(), newVer.nodeOrder(), newVer.dataCenterId(), @@ -4651,8 +4646,6 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme assert conflictCtx != null; - boolean ignoreTime = cctx.config().getAtomicWriteOrderMode() == CacheAtomicWriteOrderMode.PRIMARY; - // Use old value? if (conflictCtx.isUseOld()) { GridCacheVersion newConflictVer = conflictVer != null ? conflictVer : newVer; @@ -4661,7 +4654,7 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme if (!entry.isStartVersion() && // Not initial value, verCheck && // and atomic version check, oldConflictVer.dataCenterId() == newConflictVer.dataCenterId() && // and data centers are equal, - ATOMIC_VER_COMPARATOR.compare(oldConflictVer, newConflictVer, ignoreTime) == 0 && // and both versions are equal, + ATOMIC_VER_COMPARATOR.compare(oldConflictVer, newConflictVer) == 0 && // and both versions are equal, cctx.writeThrough() && // and store is enabled, primary) // and we are primary. { @@ -4719,11 +4712,9 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme private void versionCheck(@Nullable IgniteBiTuple<Object, Exception> invokeRes) throws IgniteCheckedException { GridCacheContext cctx = entry.context(); - boolean ignoreTime = cctx.config().getAtomicWriteOrderMode() == CacheAtomicWriteOrderMode.PRIMARY; - if (verCheck) { - if (!entry.isStartVersion() && ATOMIC_VER_COMPARATOR.compare(entry.ver, newVer, ignoreTime) >= 0) { - if (ATOMIC_VER_COMPARATOR.compare(entry.ver, newVer, ignoreTime) == 0 && cctx.writeThrough() && primary) { + if (!entry.isStartVersion() && ATOMIC_VER_COMPARATOR.compare(entry.ver, newVer) >= 0) { + if (ATOMIC_VER_COMPARATOR.compare(entry.ver, newVer) == 0 && cctx.writeThrough() && primary) { if (log.isDebugEnabled()) log.debug("Received entry update with same version as current (will update store) " + "[entry=" + this + ", newVer=" + newVer + ']'); @@ -4758,7 +4749,7 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme } } else - assert entry.isStartVersion() || ATOMIC_VER_COMPARATOR.compare(entry.ver, newVer, ignoreTime) <= 0 : + assert entry.isStartVersion() || ATOMIC_VER_COMPARATOR.compare(entry.ver, newVer) <= 0 : "Invalid version for inner update [isNew=" + entry.isStartVersion() + ", entry=" + this + ", newVer=" + newVer + ']'; } http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvcc.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvcc.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvcc.java index 498584c..28cc8fb 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvcc.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvcc.java @@ -57,26 +57,19 @@ public final class GridCacheMvcc { /** */ private static final Comparator<GridCacheVersion> SER_VER_COMPARATOR = new Comparator<GridCacheVersion>() { @Override public int compare(GridCacheVersion ver1, GridCacheVersion ver2) { - long time1 = ver1.globalTime(); - long time2 = ver2.globalTime(); + int nodeOrder1 = ver1.nodeOrder(); + int nodeOrder2 = ver2.nodeOrder(); - if (time1 == time2) { - int nodeOrder1 = ver1.nodeOrder(); - int nodeOrder2 = ver2.nodeOrder(); + if (nodeOrder1 == nodeOrder2) { + long order1 = ver1.order(); + long order2 = ver2.order(); - if (nodeOrder1 == nodeOrder2) { - long order1 = ver1.order(); - long order2 = ver2.order(); + assert order1 != order2; - assert order1 != order2; - - return order1 > order2 ? 1 : -1; - } - else - return nodeOrder1 > nodeOrder2 ? 1 : -1; + return order1 > order2 ? 1 : -1; } else - return time1 > time2 ? 1 : -1; + return nodeOrder1 > nodeOrder2 ? 1 : -1; } }; http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java index 8799fbb..3f7184e 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java @@ -43,7 +43,6 @@ import javax.management.JMException; import javax.management.MBeanServer; import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.IgniteException; -import org.apache.ignite.cache.CacheAtomicWriteOrderMode; import org.apache.ignite.cache.CacheExistsException; import org.apache.ignite.cache.CacheMode; import org.apache.ignite.cache.CacheRebalanceMode; @@ -285,22 +284,6 @@ public class GridCacheProcessor extends GridProcessorAdapter { assert cfg.getWriteSynchronizationMode() != null; - if (cfg.getAtomicityMode() == ATOMIC) { - if (cfg.getAtomicWriteOrderMode() == null) { - cfg.setAtomicWriteOrderMode(cfg.getWriteSynchronizationMode() == FULL_SYNC ? - CacheAtomicWriteOrderMode.CLOCK : - CacheAtomicWriteOrderMode.PRIMARY); - } - else if (cfg.getWriteSynchronizationMode() != FULL_SYNC && - cfg.getAtomicWriteOrderMode() == CacheAtomicWriteOrderMode.CLOCK) { - cfg.setAtomicWriteOrderMode(CacheAtomicWriteOrderMode.PRIMARY); - - U.warn(log, "Automatically set write order mode to PRIMARY for better performance " + - "[writeSynchronizationMode=" + cfg.getWriteSynchronizationMode() + ", " + - "cacheName=" + U.maskName(cfg.getName()) + ']'); - } - } - if (cfg.getCacheStoreFactory() == null) { Factory<CacheLoader> ldrFactory = cfg.getCacheLoaderFactory(); Factory<CacheWriter> writerFactory = cfg.isWriteThrough() ? cfg.getCacheWriterFactory() : null; http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSwapEntryImpl.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSwapEntryImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSwapEntryImpl.java index 02f74e4..410a6ee 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSwapEntryImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSwapEntryImpl.java @@ -38,10 +38,10 @@ public class GridCacheSwapEntryImpl implements GridCacheSwapEntry { static final int VERSION_OFFSET = 16; /** */ - static final int VERSION_SIZE = 24; + static final int VERSION_SIZE = 16; /** */ - static final int VERSION_EX_SIZE = 48; + static final int VERSION_EX_SIZE = 32; /** */ static final int GUID_SIZE = 24; http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java index 457c895..d20a782 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java @@ -961,12 +961,11 @@ public class GridCacheUtils { public static byte[] versionToBytes(GridCacheVersion ver) { assert ver != null; - byte[] bytes = new byte[28]; + byte[] bytes = new byte[20]; U.intToBytes(ver.topologyVersion(), bytes, 0); - U.longToBytes(ver.globalTime(), bytes, 4); - U.longToBytes(ver.order(), bytes, 12); - U.intToBytes(ver.nodeOrderAndDrIdRaw(), bytes, 20); + U.longToBytes(ver.order(), bytes, 4); + U.intToBytes(ver.nodeOrderAndDrIdRaw(), bytes, 12); return bytes; } http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/CacheVersionIO.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/CacheVersionIO.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/CacheVersionIO.java index 8a630cc..fe5ca04 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/CacheVersionIO.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/tree/io/CacheVersionIO.java @@ -72,7 +72,6 @@ public class CacheVersionIO { buf.put(protoVer); buf.putInt(ver.topologyVersion()); buf.putInt(ver.nodeOrderAndDrIdRaw()); - buf.putLong(ver.globalTime()); buf.putLong(ver.order()); } } @@ -95,8 +94,7 @@ public class CacheVersionIO { PageUtils.putByte(addr, 0, protoVer); PageUtils.putInt(addr, 1, ver.topologyVersion()); PageUtils.putInt(addr, 5, ver.nodeOrderAndDrIdRaw()); - PageUtils.putLong(addr, 9, ver.globalTime()); - PageUtils.putLong(addr, 17, ver.order()); + PageUtils.putLong(addr, 9, ver.order()); } } @@ -158,10 +156,9 @@ public class CacheVersionIO { int topVer = buf.getInt(); int nodeOrderDrId = buf.getInt(); - long globalTime = buf.getLong(); long order = buf.getLong(); - return new GridCacheVersion(topVer, nodeOrderDrId, globalTime, order); + return new GridCacheVersion(topVer, nodeOrderDrId, order); } /** @@ -180,9 +177,8 @@ public class CacheVersionIO { int topVer = PageUtils.getInt(pageAddr, 1); int nodeOrderDrId = PageUtils.getInt(pageAddr, 5); - long globalTime = PageUtils.getLong(pageAddr, 9); - long order = PageUtils.getLong(pageAddr, 17); + long order = PageUtils.getLong(pageAddr, 9); - return new GridCacheVersion(topVer, nodeOrderDrId, globalTime, order); + return new GridCacheVersion(topVer, nodeOrderDrId, order); } } http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java index 2810327..87a5536 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java @@ -698,7 +698,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> { @Override public V tryGetAndPut(K key, V val) throws IgniteCheckedException { A.notNull(key, "key", val, "val"); - return (V) update0( + return (V)update0( key, val, null, @@ -884,8 +884,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> { /** {@inheritDoc} */ @Override public <T> Map<K, EntryProcessorResult<T>> invokeAll(Set<? extends K> keys, EntryProcessor<K, V, T> entryProcessor, - Object... args) throws IgniteCheckedException - { + Object... args) throws IgniteCheckedException { return invokeAll0(false, keys, entryProcessor, args).get(); } @@ -1830,7 +1829,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> { if (req.size() > 1 && // Several keys ... writeThrough() && !req.skipStore() && // and store is enabled ... !ctx.store().isLocal() && // and this is not local store ... - // (conflict resolver should be used for local store) + // (conflict resolver should be used for local store) !ctx.dr().receiveEnabled() // and no DR. ) { // This method can only be used when there are no replicated entries in the batch. @@ -2224,7 +2223,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> { if (intercept) { CacheObject old = entry.innerGet( null, - null, + null, /*read through*/ctx.loadPreviousValue(), /*metrics*/true, /*event*/true, @@ -2836,8 +2835,8 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> { * @param req Request with keys to lock. * @param topVer Topology version to lock on. * @return Collection of locked entries. - * @throws GridDhtInvalidPartitionException If entry does not belong to local node. If exception is thrown, - * locks are released. + * @throws GridDhtInvalidPartitionException If entry does not belong to local node. If exception is thrown, locks + * are released. */ @SuppressWarnings("ForLoopReplaceableByForEach") private List<GridDhtCacheEntry> lockEntries(GridNearAtomicAbstractUpdateRequest req, AffinityTopologyVersion topVer) @@ -2964,8 +2963,8 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> { /** * @param entry Entry to check. * @param req Update request. - * @param res Update response. If filter evaluation failed, key will be added to failed keys and method - * will return false. + * @param res Update response. If filter evaluation failed, key will be added to failed keys and method will return + * false. * @return {@code True} if filter evaluation succeeded. */ private boolean checkFilter(GridCacheEntryEx entry, GridNearAtomicAbstractUpdateRequest req, @@ -3401,7 +3400,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> { } } catch (IgniteCheckedException e) { - U.error(log, "Failed to send deferred DHT update response to remote node [" + + U.error(log, "Failed to send deferredDHT update response to remote node [" + "futIds=" + msg.futureIds() + ", node=" + primaryId + ']', e); } } http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractSingleUpdateRequest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractSingleUpdateRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractSingleUpdateRequest.java index 9887f55..9a6909a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractSingleUpdateRequest.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractSingleUpdateRequest.java @@ -47,7 +47,6 @@ public abstract class GridNearAtomicAbstractSingleUpdateRequest extends GridNear /** * Constructor. - * * @param cacheId Cache ID. * @param nodeId Node ID. * @param futId Future ID. http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicFullUpdateRequest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicFullUpdateRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicFullUpdateRequest.java index 0a9c564..f175ab3 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicFullUpdateRequest.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicFullUpdateRequest.java @@ -117,8 +117,7 @@ public class GridNearAtomicFullUpdateRequest extends GridNearAtomicAbstractUpdat /** * Constructor. - * - * @param cacheId Cache ID. + * @param cacheId Cache ID. * @param nodeId Node ID. * @param futId Future ID. * @param topVer Topology version. http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFilterRequest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFilterRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFilterRequest.java index 0307009..f5bd889 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFilterRequest.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFilterRequest.java @@ -55,8 +55,7 @@ public class GridNearAtomicSingleUpdateFilterRequest extends GridNearAtomicSingl /** * Constructor. - * - * @param cacheId Cache ID. + * @param cacheId Cache ID. * @param nodeId Node ID. * @param futId Future ID. * @param topVer Topology version. http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateInvokeRequest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateInvokeRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateInvokeRequest.java index 7ceab3c..850a0f9 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateInvokeRequest.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateInvokeRequest.java @@ -73,8 +73,7 @@ public class GridNearAtomicSingleUpdateInvokeRequest extends GridNearAtomicSingl /** * Constructor. - * - * @param cacheId Cache ID. + * @param cacheId Cache ID. * @param nodeId Node ID. * @param futId Future ID. * @param topVer Topology version. http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxEntry.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxEntry.java index 2e6fc1d..1f8a107 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxEntry.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxEntry.java @@ -72,16 +72,16 @@ public class IgniteTxEntry implements GridPeerDeployAware, Message { private static final long serialVersionUID = 0L; /** Dummy version for non-existing entry read in SERIALIZABLE transaction. */ - public static final GridCacheVersion SER_READ_EMPTY_ENTRY_VER = new GridCacheVersion(0, 0, 0, 0); + public static final GridCacheVersion SER_READ_EMPTY_ENTRY_VER = new GridCacheVersion(0, 0, 0); /** Dummy version for any existing entry read in SERIALIZABLE transaction. */ - public static final GridCacheVersion SER_READ_NOT_EMPTY_VER = new GridCacheVersion(0, 0, 0, 1); + public static final GridCacheVersion SER_READ_NOT_EMPTY_VER = new GridCacheVersion(0, 0, 1); /** */ - public static final GridCacheVersion GET_ENTRY_INVALID_VER_UPDATED = new GridCacheVersion(0, 0, 0, 2); + public static final GridCacheVersion GET_ENTRY_INVALID_VER_UPDATED = new GridCacheVersion(0, 0, 2); /** */ - public static final GridCacheVersion GET_ENTRY_INVALID_VER_AFTER_GET = new GridCacheVersion(0, 0, 0, 3); + public static final GridCacheVersion GET_ENTRY_INVALID_VER_AFTER_GET = new GridCacheVersion(0, 0, 3); /** Prepared flag updater. */ private static final AtomicIntegerFieldUpdater<IgniteTxEntry> PREPARED_UPD = http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java index a8f841f..da49c06 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java @@ -2356,7 +2356,7 @@ public class IgniteTxManager extends GridCacheSharedManagerAdapter { * @param nearVer Near transaction version. */ private CommittedVersion(GridCacheVersion ver, GridCacheVersion nearVer) { - super(ver.topologyVersion(), ver.globalTime(), ver.order(), ver.nodeOrder(), ver.dataCenterId()); + super(ver.topologyVersion(), ver.order(), ver.nodeOrder(), ver.dataCenterId()); assert nearVer != null; http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCachePlainVersionedEntry.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCachePlainVersionedEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCachePlainVersionedEntry.java index c175e5a..f4d7e08 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCachePlainVersionedEntry.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCachePlainVersionedEntry.java @@ -110,11 +110,6 @@ public class GridCachePlainVersionedEntry<K, V> implements GridCacheVersionedEnt } /** {@inheritDoc} */ - @Override public long globalTime() { - return isStartVer ? 0L : ver.globalTime(); - } - - /** {@inheritDoc} */ @Override public GridCacheVersion version() { return ver; } http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheRawVersionedEntry.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheRawVersionedEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheRawVersionedEntry.java index 57b69d4..1146496 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheRawVersionedEntry.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheRawVersionedEntry.java @@ -170,11 +170,6 @@ public class GridCacheRawVersionedEntry<K, V> extends DataStreamerEntry implemen } /** {@inheritDoc} */ - @Override public long globalTime() { - return ver.globalTime(); - } - - /** {@inheritDoc} */ @Override public GridCacheVersion version() { return ver; } http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersion.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersion.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersion.java index d84e4da..67bd49e 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersion.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersion.java @@ -50,9 +50,6 @@ public class GridCacheVersion implements Message, Comparable<GridCacheVersion>, /** Node order (used as global order) and DR ID. */ private int nodeOrderDrId; - /** Globally adjusted time. */ - private long globalTime; - /** Order. */ private long order; @@ -65,12 +62,11 @@ public class GridCacheVersion implements Message, Comparable<GridCacheVersion>, /** * @param topVer Topology version plus number of seconds from the start time of the first grid node. - * @param globalTime Globally adjusted time. * @param order Version order. * @param nodeOrder Node order. * @param dataCenterId Replication data center ID. */ - public GridCacheVersion(int topVer, long globalTime, long order, int nodeOrder, int dataCenterId) { + public GridCacheVersion(int topVer, long order, int nodeOrder, int dataCenterId) { assert topVer >= 0 : topVer; assert order >= 0 : order; assert nodeOrder >= 0 : nodeOrder; @@ -80,7 +76,6 @@ public class GridCacheVersion implements Message, Comparable<GridCacheVersion>, throw new IllegalArgumentException("Node order overflow: " + nodeOrder); this.topVer = topVer; - this.globalTime = globalTime; this.order = order; nodeOrderDrId = nodeOrder | (dataCenterId << DR_ID_SHIFT); @@ -90,13 +85,11 @@ public class GridCacheVersion implements Message, Comparable<GridCacheVersion>, /** * @param topVer Topology version plus number of seconds from the start time of the first grid node. * @param nodeOrderDrId Node order and DR ID. - * @param globalTime Globally adjusted time. * @param order Version order. */ - public GridCacheVersion(int topVer, int nodeOrderDrId, long globalTime, long order) { + public GridCacheVersion(int topVer, int nodeOrderDrId, long order) { this.topVer = topVer; this.nodeOrderDrId = nodeOrderDrId; - this.globalTime = globalTime; this.order = order; } @@ -117,13 +110,6 @@ public class GridCacheVersion implements Message, Comparable<GridCacheVersion>, } /** - * @return Adjusted time. - */ - public long globalTime() { - return globalTime; - } - - /** * @return Version order. */ public long order() { @@ -187,7 +173,7 @@ public class GridCacheVersion implements Message, Comparable<GridCacheVersion>, * @return Version represented as {@code GridUuid} */ public IgniteUuid asGridUuid() { - return new IgniteUuid(new UUID(((long)topVer << 32) | nodeOrderDrId, globalTime), order); + return new IgniteUuid(new UUID(topVer, nodeOrderDrId), order); } /** {@inheritDoc} */ @@ -198,7 +184,6 @@ public class GridCacheVersion implements Message, Comparable<GridCacheVersion>, /** {@inheritDoc} */ @Override public void writeExternal(ObjectOutput out) throws IOException { out.writeInt(topVer); - out.writeLong(globalTime); out.writeLong(order); out.writeInt(nodeOrderDrId); } @@ -206,7 +191,6 @@ public class GridCacheVersion implements Message, Comparable<GridCacheVersion>, /** {@inheritDoc} */ @Override public void readExternal(ObjectInput in) throws IOException { topVer = in.readInt(); - globalTime = in.readLong(); order = in.readLong(); nodeOrderDrId = in.readInt(); } @@ -264,24 +248,18 @@ public class GridCacheVersion implements Message, Comparable<GridCacheVersion>, switch (writer.state()) { case 0: - if (!writer.writeLong("globalTime", globalTime)) - return false; - - writer.incrementState(); - - case 1: if (!writer.writeInt("nodeOrderDrId", nodeOrderDrId)) return false; writer.incrementState(); - case 2: + case 1: if (!writer.writeLong("order", order)) return false; writer.incrementState(); - case 3: + case 2: if (!writer.writeInt("topVer", topVer)) return false; @@ -301,14 +279,6 @@ public class GridCacheVersion implements Message, Comparable<GridCacheVersion>, switch (reader.state()) { case 0: - globalTime = reader.readLong("globalTime"); - - if (!reader.isLastRead()) - return false; - - reader.incrementState(); - - case 1: nodeOrderDrId = reader.readInt("nodeOrderDrId"); if (!reader.isLastRead()) @@ -316,7 +286,7 @@ public class GridCacheVersion implements Message, Comparable<GridCacheVersion>, reader.incrementState(); - case 2: + case 1: order = reader.readLong("order"); if (!reader.isLastRead()) @@ -324,7 +294,7 @@ public class GridCacheVersion implements Message, Comparable<GridCacheVersion>, reader.incrementState(); - case 3: + case 2: topVer = reader.readInt("topVer"); if (!reader.isLastRead()) @@ -344,13 +314,12 @@ public class GridCacheVersion implements Message, Comparable<GridCacheVersion>, /** {@inheritDoc} */ @Override public byte fieldsCount() { - return 4; + return 3; } /** {@inheritDoc} */ @Override public String toString() { return "GridCacheVersion [topVer=" + topologyVersion() + - ", time=" + globalTime() + ", order=" + order() + ", nodeOrder=" + nodeOrder() + ']'; } http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionEx.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionEx.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionEx.java index f15a545..5eb8c7c 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionEx.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionEx.java @@ -46,15 +46,14 @@ public class GridCacheVersionEx extends GridCacheVersion { * Constructor. * * @param topVer Topology version. - * @param globalTime Global time. * @param order Order. * @param nodeOrder Node order. * @param dataCenterId Data center ID. * @param drVer DR version. */ - public GridCacheVersionEx(int topVer, long globalTime, long order, int nodeOrder, byte dataCenterId, + public GridCacheVersionEx(int topVer, long order, int nodeOrder, byte dataCenterId, GridCacheVersion drVer) { - super(topVer, globalTime, order, nodeOrder, dataCenterId); + super(topVer, order, nodeOrder, dataCenterId); assert drVer != null && !(drVer instanceof GridCacheVersionEx); // DR version can only be plain here. @@ -66,12 +65,11 @@ public class GridCacheVersionEx extends GridCacheVersion { * * @param topVer Topology version. * @param nodeOrderDrId Node order and DR ID. - * @param globalTime Globally adjusted time. * @param order Version order. * @param drVer DR version. */ - public GridCacheVersionEx(int topVer, int nodeOrderDrId, long globalTime, long order, GridCacheVersion drVer) { - super(topVer, nodeOrderDrId, globalTime, order); + public GridCacheVersionEx(int topVer, int nodeOrderDrId, long order, GridCacheVersion drVer) { + super(topVer, nodeOrderDrId, order); assert drVer != null && !(drVer instanceof GridCacheVersionEx); // DR version can only be plain here. @@ -90,7 +88,7 @@ public class GridCacheVersionEx extends GridCacheVersion { /** {@inheritDoc} */ @Override public byte fieldsCount() { - return 5; + return 4; } /** {@inheritDoc} */ @@ -108,7 +106,7 @@ public class GridCacheVersionEx extends GridCacheVersion { } switch (writer.state()) { - case 4: + case 3: if (!writer.writeMessage("drVer", drVer)) return false; @@ -130,7 +128,7 @@ public class GridCacheVersionEx extends GridCacheVersion { return false; switch (reader.state()) { - case 4: + case 3: drVer = reader.readMessage("drVer"); if (!reader.isLastRead()) @@ -162,9 +160,8 @@ public class GridCacheVersionEx extends GridCacheVersion { /** {@inheritDoc} */ @Override public String toString() { return "GridCacheVersionEx [topVer=" + topologyVersion() + - ", time=" + globalTime() + ", order=" + order() + ", nodeOrder=" + nodeOrder() + ", drVer=" + drVer + ']'; } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionManager.java index fe5f562..bc2e49a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionManager.java @@ -82,7 +82,7 @@ public class GridCacheVersionManager extends GridCacheSharedManagerAdapter { /** {@inheritDoc} */ @Override public void start0() throws IgniteCheckedException { - last = new GridCacheVersion(0, 0, order.get(), 0, dataCenterId); + last = new GridCacheVersion(0, order.get(), 0, dataCenterId); cctx.gridEvents().addLocalEventListener(discoLsnr, EVT_NODE_METRICS_UPDATED); } @@ -106,7 +106,7 @@ public class GridCacheVersionManager extends GridCacheSharedManagerAdapter { public void dataCenterId(byte dataCenterId) { this.dataCenterId = dataCenterId; - last = new GridCacheVersion(0, 0, order.get(), 0, dataCenterId); + last = new GridCacheVersion(0, order.get(), 0, dataCenterId); } /** @@ -188,7 +188,7 @@ public class GridCacheVersionManager extends GridCacheSharedManagerAdapter { topVer += (gridStartTime - TOP_VER_BASE_TIME) / 1000; - ISOLATED_STREAMER_VER = new GridCacheVersion((int)topVer, 0, 0, 1, dataCenterId); + ISOLATED_STREAMER_VER = new GridCacheVersion((int)topVer, 0, 1, dataCenterId); } return ISOLATED_STREAMER_VER; @@ -274,8 +274,6 @@ public class GridCacheVersionManager extends GridCacheSharedManagerAdapter { if (topVer == -1) topVer = cctx.kernalContext().discovery().topologyVersion(); - long globalTime = cctx.kernalContext().clockSync().adjustedTime(topVer); - if (addTime) { if (gridStartTime == 0) gridStartTime = cctx.kernalContext().discovery().gridStartTime(); @@ -289,7 +287,6 @@ public class GridCacheVersionManager extends GridCacheSharedManagerAdapter { GridCacheVersion next = new GridCacheVersion( (int)topVer, - globalTime, ord, locNodeOrder, dataCenterId); http://git-wip-us.apache.org/repos/asf/ignite/blob/247282f3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionedEntry.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionedEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionedEntry.java index 06e7999..e685d79 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionedEntry.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionedEntry.java @@ -71,11 +71,4 @@ public interface GridCacheVersionedEntry<K, V> { * @return Entry's order in initiator data center */ public long order(); - - /** - * Gets entry's global time in initiator data center. - * - * @return Entry's global time in initiator data center - */ - public long globalTime(); } \ No newline at end of file
