Andrey Mashenkov created IGNITE-22969:
-----------------------------------------

             Summary: Sql. Replanning query on unstable topology
                 Key: IGNITE-22969
                 URL: https://issues.apache.org/jira/browse/IGNITE-22969
             Project: Ignite
          Issue Type: Improvement
          Components: sql
            Reporter: Andrey Mashenkov


ExecutionTargetFactory implementations calculates execution nodes for the query 
fragments and then effectively finds colocated fragments operating with nodes 
order (int) instead of nodes ids (string).

To do that, we need to know all available nodes. So, we read LogicalTopology 
before mapping query fragments. Then we read assignments for all the tables 
used in the query.
On unstable topology, we may observe a node in assignment, which wasn't part of 
LogicalTopology at the previous step. E.g. the missed node can be just failed 
node or can be just joined node.

In IGNITE-22861 was decide to ignore unknown nodes.

So, possible solution
* left "as is"
* throw an exception when unknown node was found, then restart query planning 
phase
* add a relation between LogicalTopology and partition Assignments to avoid 
this case
* use single source (e.g. assignments) for getting cluster nodes.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to