Andrey, Alexey, please review PR - https://github.com/apache/ignite/pull/1521 <https://github.com/apache/ignite/pull/1521> tests - http://ci.ignite.apache.org/viewType.html?buildTypeId=IgniteTests_RunAll&branch_IgniteTests=pull%2F1521%2Fhead&tab=buildTypeStatusDiv <http://ci.ignite.apache.org/viewType.html?buildTypeId=IgniteTests_RunAll&branch_IgniteTests=pull/1521/head&tab=buildTypeStatusDiv>
> 7 марта 2017 г., в 14:15, Andrey Gura <ag...@apache.org> написал(а): > > Maxim, > > all GridClockSyncProcessor related code should be remove (objects, > messages, etc) > > On Tue, Mar 7, 2017 at 12:23 PM, Kozlov Maxim <dreamx....@gmail.com> wrote: >> Andrey, or better remove GridTimeSyncProcessorSelfTest class? >> >>> 7 марта 2017 г., в 12:21, Kozlov Maxim <dreamx....@gmail.com> написал(а): >>> >>> Andrey, in GridTimeSyncProcessorSelfTest class methods: testTimeSync() and >>> testTimeSyncChangeCoordinator() also removed? >>> >>> >>>> 6 марта 2017 г., в 18:42, Andrey Gura <ag...@apache.org> написал(а): >>>> >>>> Maxim, >>>> >>>> About SER_VER_COMPARATOR. You can use code branch that executes when >>>> times are equal: >>>> >>>> int nodeOrder1 = ver1.nodeOrder(); >>>> int nodeOrder2 = ver2.nodeOrder(); >>>> >>>> if (nodeOrder1 == nodeOrder2) { >>>> long order1 = ver1.order(); >>>> long order2 = ver2.order(); >>>> >>>> assert order1 != order2; >>>> >>>> return order1 > order2 ? 1 : -1; >>>> } >>>> else >>>> return nodeOrder1 > nodeOrder2 ? 1 : -1; >>>> >>>> On Mon, Mar 6, 2017 at 6:32 PM, Alexey Goncharuk >>>> <alexey.goncha...@gmail.com> wrote: >>>>> Maxim, >>>>> >>>>> Global time comparison is only needed for CLOCK mode, so you should modify >>>>> the code as if ignoreTime is always true. >>>>> >>>>> 2017-03-06 18:13 GMT+03:00 Kozlov Maxim <dreamx....@gmail.com>: >>>>> >>>>>> ok, >>>>>> in GridCacheAtomicVersionComparator class, method >>>>>> compare(GridCacheVersion one, GridCacheVersion other, boolean ignoreTime) >>>>>> if (globalTime == otherGlobalTime || ignoreTime) { // => if >>>>>> (ignoreTime) { >>>>>> ..... >>>>>> } >>>>>> else >>>>>> return globalTime > otherGlobalTime ? 1 : -1; // => return -1; >>>>>> >>>>>> and, >>>>>> GridCacheMvcc class, >>>>>> SER_VER_COMPARATOR is comparator by globalTime var. His remove and remove >>>>>> compareSerializableVersion? >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> 6 марта 2017 г., в 16:51, Andrey Gura <ag...@apache.org> написал(а): >>>>>>> >>>>>>> Maxim, >>>>>>> >>>>>>> updateTime() method should be removed. >>>>>>> >>>>>>> On Mon, Mar 6, 2017 at 12:12 PM, Kozlov Maxim <dreamx....@gmail.com> >>>>>> wrote: >>>>>>>> In CacheEntryImplEx class use ver.globalTime() in >>>>>>>> >>>>>>>> @Override public long updateTime() { >>>>>>>> return ver.globalTime(); >>>>>>>> } >>>>>>>> >>>>>>>> Than is better to replace this variable? >>>>>>>> >>>>>>>> >>>>>>>>> 3 марта 2017 г., в 19:19, Andrey Gura <ag...@apache.org> написал(а): >>>>>>>>> >>>>>>>>> Maxim, >>>>>>>>> >>>>>>>>> I think the next implementation will be good enough: >>>>>>>>> >>>>>>>>> public IgniteUuid asGridUuid() { >>>>>>>>> return new IgniteUuid(new UUID(nodeOrderDrId, topVer), order); >>>>>>>>> } >>>>>>>>> >>>>>>>>> >>>>>>>>> Serialization/deserialization of GridCacheVersion.globalTime field >>>>>>>>> should be removed. >>>>>>>>> >>>>>>>>> On Fri, Mar 3, 2017 at 5:57 PM, Kozlov Maxim <dreamx....@gmail.com> >>>>>> wrote: >>>>>>>>>> Alexey, >>>>>>>>>> >>>>>>>>>> public IgniteUuid asGridUuid() { >>>>>>>>>> return new IgniteUuid(new UUID(nodeOrderDrId << 32, topVer << 32), >>>>>> order); >>>>>>>>>> } >>>>>>>>>> >>>>>>>>>> So you want to change or not? >>>>>>>>>> >>>>>>>>>> And >>>>>>>>>> - GridCacheVersion.writeTo(ByteBuffer buf, MessageWriter writer) >>>>>>>>>> - GridCacheVersion.readFrom(ByteBuffer buf, MessageReader reader) >>>>>>>>>> >>>>>>>>>> use globalTime variable, must be removed case 0: (in both methods) or >>>>>> replace globalTime? >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> 2 марта 2017 г., в 16:58, Andrey Gura <ag...@apache.org> написал(а): >>>>>>>>>>> >>>>>>>>>>> +1 >>>>>>>>>>> >>>>>>>>>>> Removing of asGridUuid() method can lead to much code changes but it >>>>>>>>>>> should be avoided on this step. >>>>>>>>>>> >>>>>>>>>>> On Thu, Mar 2, 2017 at 4:56 PM, Alexey Goncharuk >>>>>>>>>>> <alexey.goncha...@gmail.com> wrote: >>>>>>>>>>>> Maxim, >>>>>>>>>>>> >>>>>>>>>>>> I see several usages of asGridUuid() method, so I would just remove >>>>>> global >>>>>>>>>>>> time and use nodeOrderDrId and topVer as different parts of high >>>>>> and low >>>>>>>>>>>> parts of the embedded UUID. >>>>>>>>>>>> >>>>>>>>>>>> --AG >>>>>>>>>>>> >>>>>>>>>>>> 2017-03-02 12:39 GMT+03:00 Kozlov Maxim <dreamx....@gmail.com>: >>>>>>>>>>>> >>>>>>>>>>>>> Andrey, >>>>>>>>>>>>> >>>>>>>>>>>>> When removed parameter globalTime, in method: >>>>>>>>>>>>> >>>>>>>>>>>>> public IgniteUuid asGridUuid() { >>>>>>>>>>>>> return new IgniteUuid(new UUID(((long)topVer << 32) | >>>>>> nodeOrderDrId, >>>>>>>>>>>>> globalTime), order); >>>>>>>>>>>>> } >>>>>>>>>>>>> >>>>>>>>>>>>> globalTime parameter replaced by something or remove this method? >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>>> 2 марта 2017 г., в 12:07, Kozlov Maxim <dreamx....@gmail.com> >>>>>>>>>>>>> написал(а): >>>>>>>>>>>>>> >>>>>>>>>>>>>> Andrey, >>>>>>>>>>>>>> >>>>>>>>>>>>>> Please review PR again. >>>>>>>>>>>>>> >>>>>>>>>>>>>>> 1 марта 2017 г., в 18:47, Andrey Gura <ag...@apache.org> >>>>>> написал(а): >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> I think that it is ok. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Wed, Mar 1, 2017 at 6:34 PM, Kozlov Maxim < >>>>>> dreamx....@gmail.com> >>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>> Ok. What do you say for the rest? >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> 1 марта 2017 г., в 18:15, Andrey Gura <ag...@apache.org> >>>>>> написал(а): >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Maxim, >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I think that during renaming we should not lose "Atomic" >>>>>> prefix. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On Wed, Mar 1, 2017 at 5:16 PM, Kozlov Maxim < >>>>>> dreamx....@gmail.com> >>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>> Andrey, ok. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Also remove in the modules/platform/dotnet >>>>>>>>>>>>> CacheAtomicWriteOrderMode.cs? >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Rename classes: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> GridCacheAtomicNearCacheSelfTest.startGrids -> >>>>>>>>>>>>> GridCacheAtomicNearCacheSelfTest.startGridsLocal (commit) >>>>>>>>>>>>>>>>>> IgniteCacheAtomicPrimaryWriteOrderWithStoreInvokeTest -> >>>>>>>>>>>>> IgniteCacheWithStoreInvokeTest >>>>>>>>>>>>>>>>>> IgniteCacheAtomicPrimaryWriteOrderInvokeTest -> >>>>>>>>>>>>> IgniteCacheInvokeTest >>>>>>>>>>>>>>>>>> IgniteCacheAtomicPrimaryWriteOrderNearEnabledStoreValueTest >>>>>> -> >>>>>>>>>>>>> IgniteCacheNearEnabledStoreValueTest >>>>>>>>>>>>>>>>>> GridCacheAtomicPrimaryWriteOrderNearRemoveFailureTest -> >>>>>>>>>>>>> GridCacheNearRemoveFailureTest >>>>>>>>>>>>>>>>>> GridCacheAtomicPrimaryWriteOrderRemoveFailureTest -> >>>>>>>>>>>>> GridCacheRemoveFailureTest >>>>>>>>>>>>>>>>>> GridCacheAtomicPrimaryWriteOrderFailoverSelfTest -> >>>>>>>>>>>>> GridCacheFailoverSelfTest >>>>>>>>>>>>>>>>>> GridCacheValueConsistencyAtomicPrimaryWriteOrderNearEnabledS >>>>>> elfTest >>>>>>>>>>>>> -> GridCacheValueConsistencyNearEnabledSelfTest >>>>>>>>>>>>>>>>>> CacheContinuousQueryAsyncFailoverAtomicPrimaryWriteOrderSelfTest >>>>>> -> >>>>>>>>>>>>> CacheContinuousQueryAsyncFailoverSelfTest >>>>>>>>>>>>>>>>>> CacheContinuousQueryFailoverAtomicPrimaryWriteOrderSelfTest >>>>>> -> >>>>>>>>>>>>> CacheContinuousQueryFailoverSelfTest >>>>>>>>>>>>>>>>>> GridCacheAtomicNearCacheSelfTest.testNoBackupsPrimaryWriteOrder >>>>>> -> >>>>>>>>>>>>> GridCacheAtomicNearCacheSelfTest.testNoBackups >>>>>>>>>>>>>>>>>> GridCacheAtomicNearCacheSelfTest. >>>>>> testWithBackupsPrimaryWriteOrder >>>>>>>>>>>>> -> GridCacheAtomicNearCacheSelfTest.testWithBackups >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Remove classes: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> IgniteCacheAtomicPrimaryWriteOrderStoreValueTest >>>>>>>>>>>>>>>>>> GridCacheReplicatedAtomicPrimaryWriteOrderMultiNodeFullApiSe >>>>>> lfTest >>>>>>>>>>>>>>>>>> GridCacheAtomicPrimaryWriteOrderMultiNodeFullApiSelfTest >>>>>>>>>>>>>>>>>> GridCacheAtomicPrimaryWriteOrderMultiNodeP2PDisabledFullApiS >>>>>> elfTest >>>>>>>>>>>>>>>>>> GridCacheAtomicPrimaryWrityOrderOffHeapMultiNodeFullApiSelfT >>>>>> est >>>>>>>>>>>>>>>>>> GridCacheAtomicPrimaryWriteOrderOffHeapFullApiSelfTest >>>>>>>>>>>>>>>>>> GridCacheAtomicPrimaryWriteOrderFullApiSelfTest >>>>>>>>>>>>>>>>>> GridCacheAtomicPrimaryWriteOrderReloadAllSelfTest >>>>>>>>>>>>>>>>>> IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest >>>>>>>>>>>>>>>>>> GridCacheValueConsistencyAtomicPrimaryWriteOrderSelfTest >>>>>>>>>>>>>>>>>> IgniteCacheAtomicPrimaryWriteOrderExpiryPolicyTest >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> ok? :) >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> 1 марта 2017 г., в 2:04, Andrey Gura <ag...@apache.org> >>>>>> написал(а): >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> No, it should be removed. If somebody use entry last update >>>>>> time >>>>>>>>>>>>> (e.g. >>>>>>>>>>>>>>>>>>> for conflict resolving) they should store this time as entry >>>>>> field. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> On Wed, Mar 1, 2017 at 12:57 AM, Dmitriy Setrakyan >>>>>>>>>>>>>>>>>>> <dsetrak...@apache.org> wrote: >>>>>>>>>>>>>>>>>>>> Do we still need GridClockSyncProcessor? >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> On Tue, Feb 28, 2017 at 5:26 AM, Andrey Gura < >>>>>> ag...@apache.org> >>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> Maxim, >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> Yes, this setting doesn't make sense anymore. So we need >>>>>> remove >>>>>>>>>>>>> all >>>>>>>>>>>>>>>>>>>>> related methods. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> Also there is component called GridClockSyncProcessor that >>>>>> also >>>>>>>>>>>>> should >>>>>>>>>>>>>>>>>>>>> be removed. It will lead to removing globalTime field from >>>>>>>>>>>>>>>>>>>>> GridCacheVersion class and some related methods. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> On Tue, Feb 28, 2017 at 3:21 PM, Kozlov Maxim < >>>>>>>>>>>>> dreamx....@gmail.com> >>>>>>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>>>>> Valentin, >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> Then there is no need for setting CacheConfiguration. >>>>>>>>>>>>> atomicWriteOrderMode. >>>>>>>>>>>>>>>>>>>>> What do you think, remove it and and related methods? >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> 28 февр. 2017 г., в 2:49, Valentin Kulichenko < >>>>>>>>>>>>>>>>>>>>> valentin.kuliche...@gmail.com> написал(а): >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Hi Max, >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> In case we remove the CLOCK mode, I think we should >>>>>> remove the >>>>>>>>>>>>> enum >>>>>>>>>>>>>>>>>>>>> too, as >>>>>>>>>>>>>>>>>>>>>>> well as configuration properties and other code using >>>>>> this >>>>>>>>>>>>> enum. Having >>>>>>>>>>>>>>>>>>>>>>> enum with one value doesn't make sense to me. >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> -Val >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> On Mon, Feb 27, 2017 at 5:09 AM, Kozlov Maxim < >>>>>>>>>>>>> dreamx....@gmail.com> >>>>>>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Hi Igniters, >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> After remove CLOCK mode, CacheAtomicWriteOrderMode enum >>>>>>>>>>>>> contains now >>>>>>>>>>>>>>>>>>>>> only >>>>>>>>>>>>>>>>>>>>>>>> one value PRIMARY. Andrey Gura, proposition remove >>>>>>>>>>>>>>>>>>>>>>>> CacheAtomicWriteOrderMode enum. Will there be something >>>>>>>>>>>>> special for >>>>>>>>>>>>>>>>>>>>> this >>>>>>>>>>>>>>>>>>>>>>>> purpose is enum? >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> jira: https://issues.apache.org/jira/browse/IGNITE-4587 >>>>>> < >>>>>>>>>>>>>>>>>>>>>>>> https://issues.apache.org/jira/browse/IGNITE-4587> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>>>>> Best Regards, >>>>>>>>>>>>>>>>>>>>>>>> Max K. >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>>> Best Regards, >>>>>>>>>>>>>>>>>>>>>> Max K. >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>> Best Regards, >>>>>>>>>>>>>>>>>> Max K. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>> Best Regards, >>>>>>>>>>>>>>>> Max K. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> -- >>>>>>>>>>>>>> Best Regards, >>>>>>>>>>>>>> Max K. >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> Best Regards, >>>>>>>>>>>>> Max K. >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Best Regards, >>>>>>>>>> Max K. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Best Regards, >>>>>>>> Max K. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>> >>>>>> -- >>>>>> Best Regards, >>>>>> Max K. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>> >>> -- >>> Best Regards, >>> Max K. >>> >>> >>> >>> >> >> -- >> Best Regards, >> Max K. >> >> >> >> -- Best Regards, Max K.