You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Igor Seliverstov (Jira)" <ji...@apache.org> on 2020/08/25 19:02:00 UTC

[jira] [Commented] (IGNITE-13198) Calcite integration. Rework error / cancel logic at execution

    [ https://issues.apache.org/jira/browse/IGNITE-13198?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17184684#comment-17184684 ] 

Igor Seliverstov commented on IGNITE-13198:
-------------------------------------------

Reworked in a next way:

Because a node, having intermediate fragment, may leave there will be nobody who closes upstream fragment execution. Now a root fragment node is responsible for closing(cancelling) all query fragments.

It seems overcomplicated to pass an error through all query fragments, so, an error is sent right to a root fragment node (after the error reaches an Outbox node inside a local execution fragment).

Node left events are processed by Inbox nodes, it allows simpler failover handling and an ability to successfully finish a query in case it got all needed data from a failed node. On node left an error will be passed to a user and query will be automatically closed.

Root node left event is processed by Outbox node, this way a query will be automatically closed.

> Calcite integration. Rework error / cancel logic at execution
> -------------------------------------------------------------
>
>                 Key: IGNITE-13198
>                 URL: https://issues.apache.org/jira/browse/IGNITE-13198
>             Project: Ignite
>          Issue Type: Improvement
>          Components: sql
>            Reporter: Taras Ledkov
>            Assignee: Igor Seliverstov
>            Priority: Major
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> Change error & cancel logic on query execution.
> *Error*
> - propagated from source to downstream nodes.
> - Always propagated to the RootNode;
> - RootNode receive an error and cancel all execution tree.
> *Cancel*
> - propagated from downstream to source;
> - any node may cancel its execution sub-tree;
> - (technical details) to prevent race on Inbox creation Outbox resend Cancel message to Inbox.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)