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/