[
https://issues.apache.org/jira/browse/IGNITE-26564?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sergey Korotkov reassigned IGNITE-26564:
----------------------------------------
Assignee: Sergey Korotkov
> "Getting affinity for too old topology version" error on SQL query
> ------------------------------------------------------------------
>
> Key: IGNITE-26564
> URL: https://issues.apache.org/jira/browse/IGNITE-26564
> Project: Ignite
> Issue Type: Task
> Reporter: Sergey Korotkov
> Assignee: Sergey Korotkov
> Priority: Minor
> Labels: ise
> Attachments: SqlAffinityHistoryTest.java
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> The error {{Getting affinity for too old topology version that is already out
> of history (try to increase 'IGNITE_AFFINITY_HISTORY_SIZE' system property)}}
> may occure on SQL query execution if query is started before the partitions
> exchange is completed for some just created cache mentioned in SQL statement.
> It may be so if cache is created and queried from different threads and/or
> applications.
> Reproducer attached.
> Initial topology version for cache is [topVer=3, minorTopVer=2] but query is
> started the moment the cluster topology is still [topVer=3, minorTopVer=1].
>
> Full stack (from the thin client):
> {noformat}
> org.apache.ignite.IgniteCheckedException: Ignite failed to process request
> [3]: 50000: Getting affinity for too old topology version that is already out
> of history (try to increase 'IGNITE_AFFINITY_HISTORY_SIZE' system property)
> [locNode=TcpDiscoveryNode [id=dc084b3f-7955-405a-b356-2d3b1c300001,
> 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, loc=true,
> ver=2.18.0#20250930-sha1:52fdebf9, isClient=false], grp=SQL_TABLE,
> topVer=AffinityTopologyVersion [topVer=3, minorTopVer=1],
> lastAffChangeTopVer=AffinityTopologyVersion [topVer=3, minorTopVer=1],
> head=AffinityTopologyVersion [topVer=3, minorTopVer=2],
> history=[AffinityTopologyVersion [topVer=3, minorTopVer=2]],
> maxNonShallowHistorySize=25] (server status code [1])
> at
> org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:5018)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:263)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:194)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:144)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.client.thin.TcpClientChannel.receive(TcpClientChannel.java:422)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.client.thin.TcpClientChannel.service(TcpClientChannel.java:324)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.client.thin.ReliableChannel.lambda$service$0(ReliableChannel.java:213)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.client.thin.ReliableChannel.applyOnDefaultChannel(ReliableChannel.java:908)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.client.thin.ReliableChannel.applyOnDefaultChannel(ReliableChannel.java:854)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.client.thin.ReliableChannel.service(ReliableChannel.java:213)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.client.thin.ReliableChannel.service(ReliableChannel.java:194)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.client.thin.GenericQueryPager.next(GenericQueryPager.java:107)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.client.thin.ClientQueryCursor$1.nextPage(ClientQueryCursor.java:93)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.client.thin.ClientQueryCursor$1.hasNext(ClientQueryCursor.java:76)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.client.thin.ClientQueryCursor.getAll(ClientQueryCursor.java:47)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.processors.cache.SqlAffinityHistoryTest.lambda$testConcurrentCacheCreateAndSqlQueryFromThinClient$f431304b$1(SqlAffinityHistoryTest.java:79)
> ~[test-classes/:?]
> at
> org.apache.ignite.internal.util.lang.RunnableX.run(RunnableX.java:37)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.testframework.GridTestUtils.lambda$runAsync$3(GridTestUtils.java:1212)
> ~[ignite-core-2.18.0-SNAPSHOT-tests.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.testframework.GridTestUtils.lambda$runAsync$4(GridTestUtils.java:1268)
> ~[ignite-core-2.18.0-SNAPSHOT-tests.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.testframework.GridTestUtils$7.call(GridTestUtils.java:1609)
> [ignite-core-2.18.0-SNAPSHOT-tests.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.testframework.GridTestThread.run(GridTestThread.java:88)
> [ignite-core-2.18.0-SNAPSHOT-tests.jar:2.18.0-SNAPSHOT]
> Caused by: org.apache.ignite.internal.client.thin.ClientServerError: Ignite
> failed to process request [3]: 50000: Getting affinity for too old topology
> version that is already out of history (try to increase
> 'IGNITE_AFFINITY_HISTORY_SIZE' system property) [locNode=TcpDiscoveryNode
> [id=dc084b3f-7955-405a-b356-2d3b1c300001, 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, loc=true,
> ver=2.18.0#20250930-sha1:52fdebf9, isClient=false], grp=SQL_TABLE,
> topVer=AffinityTopologyVersion [topVer=3, minorTopVer=1],
> lastAffChangeTopVer=AffinityTopologyVersion [topVer=3, minorTopVer=1],
> head=AffinityTopologyVersion [topVer=3, minorTopVer=2],
> history=[AffinityTopologyVersion [topVer=3, minorTopVer=2]],
> maxNonShallowHistorySize=25] (server status code [1])
> at
> org.apache.ignite.internal.client.thin.TcpClientChannel.processNextMessage(TcpClientChannel.java:577)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.client.thin.TcpClientChannel.onMessage(TcpClientChannel.java:263)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.client.thin.io.gridnioserver.GridNioClientConnection.onMessage(GridNioClientConnection.java:96)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.client.thin.io.gridnioserver.GridNioClientListener.onMessage(GridNioClientListener.java:56)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.client.thin.io.gridnioserver.GridNioClientListener.onMessage(GridNioClientListener.java:30)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onMessageReceived(GridNioFilterChain.java:279)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:109)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.util.nio.GridNioCodecFilter.onMessageReceived(GridNioCodecFilter.java:116)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:109)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.util.nio.GridNioServer$HeadFilter.onMessageReceived(GridNioServer.java:3730)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.util.nio.GridNioFilterChain.onMessageReceived(GridNioFilterChain.java:175)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.util.nio.GridNioServer$ByteBufferNioClientWorker.processRead(GridNioServer.java:1211)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.processSelectedKeysOptimized(GridNioServer.java:2518)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.bodyInternal(GridNioServer.java:2273)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.body(GridNioServer.java:1904)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:125)
> ~[ignite-core-2.18.0-SNAPSHOT.jar:2.18.0-SNAPSHOT]
> at java.base/java.lang.Thread.run(Thread.java:829) ~[?:?]
> {noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)