You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Paul Rogers (JIRA)" <ji...@apache.org> on 2018/01/19 01:59:00 UTC

[jira] [Commented] (DRILL-6098) Make Drill Failure Handling Consistent

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

Paul Rogers commented on DRILL-6098:
------------------------------------

Thanks for taking on this task! Posted a design document from an earlier attempt in case if offers any useful ideas.

> Make Drill Failure Handling Consistent
> --------------------------------------
>
>                 Key: DRILL-6098
>                 URL: https://issues.apache.org/jira/browse/DRILL-6098
>             Project: Apache Drill
>          Issue Type: Improvement
>            Reporter: Timothy Farkas
>            Assignee: Timothy Farkas
>            Priority: Major
>         Attachments: Drill Operator Error Handling Redesign.pdf
>
>
> As described by [~Paul.Rogers]
> "
> We have multiple ways of reporting errors:
>  * Throw a UserException explaining the error
>  * Throw an unchecked exception and and let the fragment executor guess the cause.
>  * Return STOP
>  * Tell the fragment executor to fail. (A we also required to return STOP?)
>  * Return OUT_OF_MEMORY status
> The proposal is to replace them all with a single solution: throw a UserException. Each operator catches other exceptions and translates them to UserException.
> Java unwinds the stack just fine; no reason for us to write code to do it via STOP.
> Then, the Fragment Executor calls close() on all operators. No reason to try to do this cleanup on STOP. (Even if we do, the lower-level operators won't have seen the STOP.)
> Since failures are hard to test, and have cause no end of problems, having multiple ways to do the same thing is really not that helpful to Drill users.
> "



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)