Hello igniters,

We've recently upgraded from ignite 2.7.6 to 2.10. With the cluster start
we've seen that all indexes are rebuilded which went very well -> no data
loss :)

After upgrade we've run some tests and encountered following problem; we've
following parameter in one of our objects

    @QuerySqlField(index = true, descending = true)
    protected Timestamp lastUpdateTime;

but this parameter is persisted as followings;
write -> binaryWriter.writeDate("lastUpdateTime", lastUpdateTime != null ?
new Date(lastUpdateTime.getTime()) : null);
read -> Date h = binaryReader.readDate("lastUpdateTime");
            lastUpdateTime = (h != null) ? new Timestamp(h.getTime()) :
null;

so after upgrade operation we're getting following error, my question here
is the following: can i somehow update the parameter to Date and update all
the indexes on the cluster without any data loss? Any help appriciated.

javax.cache.processor.EntryProcessorException: class
org.apache.ignite.IgniteCheckedException: Type for a column 'lastUpdateTime'
is not compatible with index definition. Expected 'Timestamp', actual type
'Date'
        at
org.apache.ignite.internal.processors.cache.CacheInvokeResult.get(CacheInvokeResult.java:108)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.invoke(IgniteCacheProxyImpl.java:1715)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.invoke(IgniteCacheProxyImpl.java:1759)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.invoke(GatewayProtectedCacheProxy.java:1264)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
com.segmentify.lotr.gimli.model.push.LastVisitReminderCampaign.runPrioritized(LastVisitReminderCampaign.java:180)
~[classes!/:0.0.1-SNAPSHOT]
        at
com.segmentify.lotr.gimli.campaign.PushManager.executePrioritizedCamps(PushManager.java:264)
~[classes!/:0.0.1-SNAPSHOT]
        at
com.segmentify.lotr.gimli.campaign.PushManager.lambda$executeCampaigns$1(PushManager.java:146)
~[classes!/:0.0.1-SNAPSHOT]
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[?:1.8.0_261]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
[?:1.8.0_261]
        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[?:1.8.0_261]
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[?:1.8.0_261]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_261]
Caused by: org.apache.ignite.IgniteCheckedException: Type for a column
'lastUpdateTime' is not compatible with index definition. Expected
'Timestamp', actual type 'Date'
        at 
org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7587)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.GridCacheContext.validateKeyAndValue(GridCacheContext.java:1916)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.GridCacheMapEntry$AtomicCacheUpdateClosure.call(GridCacheMapEntry.java:6204)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.GridCacheMapEntry$AtomicCacheUpdateClosure.call(GridCacheMapEntry.java:5923)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Invoke.invokeClosure(BPlusTree.java:4019)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Invoke.access$5700(BPlusTree.java:3913)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invokeDown(BPlusTree.java:2042)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invokeDown(BPlusTree.java:2013)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invoke(BPlusTree.java:1920)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke0(IgniteCacheOffheapManagerImpl.java:1758)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke(IgniteCacheOffheapManagerImpl.java:1741)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.invoke(GridCacheOffheapManager.java:2766)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.invoke(IgniteCacheOffheapManagerImpl.java:439)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.GridCacheMapEntry.innerUpdate(GridCacheMapEntry.java:2338)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateSingle(GridDhtAtomicCache.java:2654)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.update(GridDhtAtomicCache.java:2114)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1931)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal(GridDhtAtomicCache.java:1724)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.processNearAtomicUpdateRequest(GridDhtAtomicCache.java:3293)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.access$400(GridDhtAtomicCache.java:146)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$5.apply(GridDhtAtomicCache.java:287)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$5.apply(GridDhtAtomicCache.java:282)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1142)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:591)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:392)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:318)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:109)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:308)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1908)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1529)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.managers.communication.GridIoManager.access$5300(GridIoManager.java:242)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.managers.communication.GridIoManager$9.execute(GridIoManager.java:1422)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:55)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:569)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
~[ignite-core-2.10.0.jar!/:2.10.0]
        ... 1 more
Caused by: org.apache.ignite.internal.processors.query.IgniteSQLException:
Type for a column 'lastUpdateTime' is not compatible with index definition.
Expected 'Timestamp', actual type 'Date'
        at
org.apache.ignite.internal.processors.query.QueryTypeDescriptorImpl.validateIndexes(QueryTypeDescriptorImpl.java:714)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.query.QueryTypeDescriptorImpl.validateKeyAndValue(QueryTypeDescriptorImpl.java:589)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.query.GridQueryProcessor.validateKeyAndValue(GridQueryProcessor.java:3582)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.GridCacheContext.validateKeyAndValue(GridCacheContext.java:1913)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.GridCacheMapEntry$AtomicCacheUpdateClosure.call(GridCacheMapEntry.java:6204)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.GridCacheMapEntry$AtomicCacheUpdateClosure.call(GridCacheMapEntry.java:5923)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Invoke.invokeClosure(BPlusTree.java:4019)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Invoke.access$5700(BPlusTree.java:3913)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invokeDown(BPlusTree.java:2042)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invokeDown(BPlusTree.java:2013)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invoke(BPlusTree.java:1920)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke0(IgniteCacheOffheapManagerImpl.java:1758)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke(IgniteCacheOffheapManagerImpl.java:1741)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.invoke(GridCacheOffheapManager.java:2766)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.invoke(IgniteCacheOffheapManagerImpl.java:439)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.GridCacheMapEntry.innerUpdate(GridCacheMapEntry.java:2338)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateSingle(GridDhtAtomicCache.java:2654)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.update(GridDhtAtomicCache.java:2114)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1931)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal(GridDhtAtomicCache.java:1724)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.processNearAtomicUpdateRequest(GridDhtAtomicCache.java:3293)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.access$400(GridDhtAtomicCache.java:146)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$5.apply(GridDhtAtomicCache.java:287)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$5.apply(GridDhtAtomicCache.java:282)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1142)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:591)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:392)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:318)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:109)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:308)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1908)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1529)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.managers.communication.GridIoManager.access$5300(GridIoManager.java:242)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.managers.communication.GridIoManager$9.execute(GridIoManager.java:1422)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:55)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:569)
~[ignite-core-2.10.0.jar!/:2.10.0]
        at
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
~[ignite-core-2.10.0.jar!/:2.10.0]


Thanks for all your help and contributions, please keep what you are doing
:) looking forward to see v3.0.0 relase



-----
İbrahim Halil Altun
Senior Software Engineer @ Segmentify
--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Reply via email to