[
https://issues.apache.org/jira/browse/IGNITE-22969?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Evgeny Stanilovsky updated IGNITE-22969:
----------------------------------------
Ignite Flags: (was: Docs Required,Release Notes Required)
> 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
> Priority: Major
> Labels: ignite-3
>
> 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)