You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Ivan Daschinsky (Jira)" <ji...@apache.org> on 2021/06/23 10:35:00 UTC

[jira] [Updated] (IGNITE-14974) CalciteQueryProcessorTest#testInfixTypeCast frequently fails, getting too old cached affinity

     [ 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)