[ https://issues.apache.org/jira/browse/IGNITE-14974?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ivan Daschinsky updated IGNITE-14974: ------------------------------------- Description: Subj is flaky on latest {{sql-calcite}}, failing during executing select query with following trace: {code} java.lang.IllegalStateException: Getting affinity for too old topology version that is already out of history [locNode=TcpDiscoveryNode [id=0e578517-57f9-4e64-a535-1fa623800001, consistentId=127.0.0.1:47501, addrs=ArrayList [127.0.0.1], sockAddrs=HashSet [/127.0.0.1:47501], discPort=47501, order=2, intOrder=2, lastExchangeTime=1624444115374, loc=true, ver=2.11.0#20210622-sha1:22a4aa1f, isClient=false], grp=SQL_PUBLIC_TEST_TBL, topVer=AffinityTopologyVersion [topVer=6, minorTopVer=0], lastAffChangeTopVer=AffinityTopologyVersion [topVer=5, minorTopVer=1], head=AffinityTopologyVersion [topVer=6, minorTopVer=1], history=[AffinityTopologyVersion [topVer=6, minorTopVer=1]]] at org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.cachedAffinity(GridAffinityAssignmentCache.java:831) at org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.cachedAffinity(GridAffinityAssignmentCache.java:778) at org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.assignments(GridAffinityAssignmentCache.java:618) at org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.assignments(GridCacheAffinityManager.java:131) at org.apache.ignite.internal.processors.query.calcite.schema.TableDescriptorImpl.partitionedGroup(TableDescriptorImpl.java:541) at org.apache.ignite.internal.processors.query.calcite.schema.TableDescriptorImpl.colocationGroup(TableDescriptorImpl.java:529) at org.apache.ignite.internal.processors.query.calcite.schema.IgniteTableImpl.colocationGroup(IgniteTableImpl.java:148) at org.apache.ignite.internal.processors.query.calcite.metadata.IgniteMdFragmentMapping.fragmentMapping(IgniteMdFragmentMapping.java:198) at GeneratedMetadataHandler_FragmentMappingMetadata.fragmentMapping_$(Unknown Source) at GeneratedMetadataHandler_FragmentMappingMetadata.fragmentMapping(Unknown Source) at org.apache.ignite.internal.processors.query.calcite.metadata.RelMetadataQueryEx.fragmentMapping(RelMetadataQueryEx.java:97) at org.apache.ignite.internal.processors.query.calcite.metadata.IgniteMdFragmentMapping._fragmentMapping(IgniteMdFragmentMapping.java:224) at org.apache.ignite.internal.processors.query.calcite.metadata.IgniteMdFragmentMapping.fragmentMapping(IgniteMdFragmentMapping.java:85) at GeneratedMetadataHandler_FragmentMappingMetadata.fragmentMapping_$(Unknown Source) at GeneratedMetadataHandler_FragmentMappingMetadata.fragmentMapping(Unknown Source) at org.apache.ignite.internal.processors.query.calcite.metadata.RelMetadataQueryEx.fragmentMapping(RelMetadataQueryEx.java:97) at org.apache.ignite.internal.processors.query.calcite.metadata.IgniteMdFragmentMapping._fragmentMapping(IgniteMdFragmentMapping.java:224) at org.apache.ignite.internal.processors.query.calcite.prepare.Fragment.mapping(Fragment.java:154) at org.apache.ignite.internal.processors.query.calcite.prepare.Fragment.map(Fragment.java:148) at org.apache.ignite.internal.processors.query.calcite.prepare.QueryTemplate.map(QueryTemplate.java:95) at org.apache.ignite.internal.processors.query.calcite.prepare.QueryTemplate.map(QueryTemplate.java:71) at org.apache.ignite.internal.processors.query.calcite.prepare.AbstractMultiStepPlan.init(AbstractMultiStepPlan.java:92) at org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.executeQuery(ExecutionServiceImpl.java:680) at org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.executePlan(ExecutionServiceImpl.java:654) at org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.executePlans(ExecutionServiceImpl.java:410) at org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.executeQuery(ExecutionServiceImpl.java:392) at org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.query(CalciteQueryProcessor.java:258) at org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessorTest.testInfixTypeCast(CalciteQueryProcessorTest.java:1031) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.apache.ignite.testframework.junits.GridAbstractTest$7.run(GridAbstractTest.java:2432) at java.base/java.lang.Thread.run(Thread.java:829) {code} Workaround is to wait for affinity ready future (i.e {{awaitPartitionMapExchange()}}) was: Subj is flaky on latest {{sql-calcite}}, failing during executing select query with following trace: {code} java.lang.IllegalStateException: Getting affinity for too old topology version that is already out of history [locNode=TcpDiscoveryNode [id=0e578517-57f9-4e64-a535-1fa623800001, consistentId=127.0.0.1:47501, addrs=ArrayList [127.0.0.1], sockAddrs=HashSet [/127.0.0.1:47501], discPort=47501, order=2, intOrder=2, lastExchangeTime=1624444115374, loc=true, ver=2.11.0#20210622-sha1:22a4aa1f, isClient=false], grp=SQL_PUBLIC_TEST_TBL, topVer=AffinityTopologyVersion [topVer=6, minorTopVer=0], lastAffChangeTopVer=AffinityTopologyVersion [topVer=5, minorTopVer=1], head=AffinityTopologyVersion [topVer=6, minorTopVer=1], history=[AffinityTopologyVersion [topVer=6, minorTopVer=1]]] at org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.cachedAffinity(GridAffinityAssignmentCache.java:831) at org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.cachedAffinity(GridAffinityAssignmentCache.java:778) at org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.assignments(GridAffinityAssignmentCache.java:618) at org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.assignments(GridCacheAffinityManager.java:131) at org.apache.ignite.internal.processors.query.calcite.schema.TableDescriptorImpl.partitionedGroup(TableDescriptorImpl.java:541) at org.apache.ignite.internal.processors.query.calcite.schema.TableDescriptorImpl.colocationGroup(TableDescriptorImpl.java:529) at org.apache.ignite.internal.processors.query.calcite.schema.IgniteTableImpl.colocationGroup(IgniteTableImpl.java:148) at org.apache.ignite.internal.processors.query.calcite.metadata.IgniteMdFragmentMapping.fragmentMapping(IgniteMdFragmentMapping.java:198) at GeneratedMetadataHandler_FragmentMappingMetadata.fragmentMapping_$(Unknown Source) at GeneratedMetadataHandler_FragmentMappingMetadata.fragmentMapping(Unknown Source) at org.apache.ignite.internal.processors.query.calcite.metadata.RelMetadataQueryEx.fragmentMapping(RelMetadataQueryEx.java:97) at org.apache.ignite.internal.processors.query.calcite.metadata.IgniteMdFragmentMapping._fragmentMapping(IgniteMdFragmentMapping.java:224) at org.apache.ignite.internal.processors.query.calcite.metadata.IgniteMdFragmentMapping.fragmentMapping(IgniteMdFragmentMapping.java:85) at GeneratedMetadataHandler_FragmentMappingMetadata.fragmentMapping_$(Unknown Source) at GeneratedMetadataHandler_FragmentMappingMetadata.fragmentMapping(Unknown Source) at org.apache.ignite.internal.processors.query.calcite.metadata.RelMetadataQueryEx.fragmentMapping(RelMetadataQueryEx.java:97) at org.apache.ignite.internal.processors.query.calcite.metadata.IgniteMdFragmentMapping._fragmentMapping(IgniteMdFragmentMapping.java:224) at org.apache.ignite.internal.processors.query.calcite.prepare.Fragment.mapping(Fragment.java:154) at org.apache.ignite.internal.processors.query.calcite.prepare.Fragment.map(Fragment.java:148) at org.apache.ignite.internal.processors.query.calcite.prepare.QueryTemplate.map(QueryTemplate.java:95) at org.apache.ignite.internal.processors.query.calcite.prepare.QueryTemplate.map(QueryTemplate.java:71) at org.apache.ignite.internal.processors.query.calcite.prepare.AbstractMultiStepPlan.init(AbstractMultiStepPlan.java:92) at org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.executeQuery(ExecutionServiceImpl.java:680) at org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.executePlan(ExecutionServiceImpl.java:654) at org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.executePlans(ExecutionServiceImpl.java:410) at org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.executeQuery(ExecutionServiceImpl.java:392) at org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.query(CalciteQueryProcessor.java:258) at org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessorTest.testInfixTypeCast(CalciteQueryProcessorTest.java:1031) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.apache.ignite.testframework.junits.GridAbstractTest$7.run(GridAbstractTest.java:2432) at java.base/java.lang.Thread.run(Thread.java:829) {code} > CalciteQueryProcessorTest#testInfixTypeCast frequently fails, getting too old > cached affinity > --------------------------------------------------------------------------------------------- > > Key: IGNITE-14974 > URL: https://issues.apache.org/jira/browse/IGNITE-14974 > Project: Ignite > Issue Type: Bug > Components: sql > Reporter: Ivan Daschinsky > Priority: Major > Labels: calcite, calcite2-required, calcite3-required > > Subj is flaky on latest {{sql-calcite}}, failing during executing select > query with following trace: > {code} > java.lang.IllegalStateException: Getting affinity for too old topology > version that is already out of history [locNode=TcpDiscoveryNode > [id=0e578517-57f9-4e64-a535-1fa623800001, consistentId=127.0.0.1:47501, > addrs=ArrayList [127.0.0.1], sockAddrs=HashSet [/127.0.0.1:47501], > discPort=47501, order=2, intOrder=2, lastExchangeTime=1624444115374, > loc=true, ver=2.11.0#20210622-sha1:22a4aa1f, isClient=false], > grp=SQL_PUBLIC_TEST_TBL, topVer=AffinityTopologyVersion [topVer=6, > minorTopVer=0], lastAffChangeTopVer=AffinityTopologyVersion [topVer=5, > minorTopVer=1], head=AffinityTopologyVersion [topVer=6, minorTopVer=1], > history=[AffinityTopologyVersion [topVer=6, minorTopVer=1]]] > at > org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.cachedAffinity(GridAffinityAssignmentCache.java:831) > at > org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.cachedAffinity(GridAffinityAssignmentCache.java:778) > at > org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.assignments(GridAffinityAssignmentCache.java:618) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.assignments(GridCacheAffinityManager.java:131) > at > org.apache.ignite.internal.processors.query.calcite.schema.TableDescriptorImpl.partitionedGroup(TableDescriptorImpl.java:541) > at > org.apache.ignite.internal.processors.query.calcite.schema.TableDescriptorImpl.colocationGroup(TableDescriptorImpl.java:529) > at > org.apache.ignite.internal.processors.query.calcite.schema.IgniteTableImpl.colocationGroup(IgniteTableImpl.java:148) > at > org.apache.ignite.internal.processors.query.calcite.metadata.IgniteMdFragmentMapping.fragmentMapping(IgniteMdFragmentMapping.java:198) > at > GeneratedMetadataHandler_FragmentMappingMetadata.fragmentMapping_$(Unknown > Source) > at > GeneratedMetadataHandler_FragmentMappingMetadata.fragmentMapping(Unknown > Source) > at > org.apache.ignite.internal.processors.query.calcite.metadata.RelMetadataQueryEx.fragmentMapping(RelMetadataQueryEx.java:97) > at > org.apache.ignite.internal.processors.query.calcite.metadata.IgniteMdFragmentMapping._fragmentMapping(IgniteMdFragmentMapping.java:224) > at > org.apache.ignite.internal.processors.query.calcite.metadata.IgniteMdFragmentMapping.fragmentMapping(IgniteMdFragmentMapping.java:85) > at > GeneratedMetadataHandler_FragmentMappingMetadata.fragmentMapping_$(Unknown > Source) > at > GeneratedMetadataHandler_FragmentMappingMetadata.fragmentMapping(Unknown > Source) > at > org.apache.ignite.internal.processors.query.calcite.metadata.RelMetadataQueryEx.fragmentMapping(RelMetadataQueryEx.java:97) > at > org.apache.ignite.internal.processors.query.calcite.metadata.IgniteMdFragmentMapping._fragmentMapping(IgniteMdFragmentMapping.java:224) > at > org.apache.ignite.internal.processors.query.calcite.prepare.Fragment.mapping(Fragment.java:154) > at > org.apache.ignite.internal.processors.query.calcite.prepare.Fragment.map(Fragment.java:148) > at > org.apache.ignite.internal.processors.query.calcite.prepare.QueryTemplate.map(QueryTemplate.java:95) > at > org.apache.ignite.internal.processors.query.calcite.prepare.QueryTemplate.map(QueryTemplate.java:71) > at > org.apache.ignite.internal.processors.query.calcite.prepare.AbstractMultiStepPlan.init(AbstractMultiStepPlan.java:92) > at > org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.executeQuery(ExecutionServiceImpl.java:680) > at > org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.executePlan(ExecutionServiceImpl.java:654) > at > org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.executePlans(ExecutionServiceImpl.java:410) > at > org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.executeQuery(ExecutionServiceImpl.java:392) > at > org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.query(CalciteQueryProcessor.java:258) > at > org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessorTest.testInfixTypeCast(CalciteQueryProcessorTest.java:1031) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.base/java.lang.reflect.Method.invoke(Method.java:566) > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) > at > org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) > at > org.apache.ignite.testframework.junits.GridAbstractTest$7.run(GridAbstractTest.java:2432) > at java.base/java.lang.Thread.run(Thread.java:829) > {code} > Workaround is to wait for affinity ready future (i.e > {{awaitPartitionMapExchange()}}) -- This message was sent by Atlassian Jira (v8.3.4#803005)