[
https://issues.apache.org/jira/browse/DRILL-5730?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16330028#comment-16330028
]
ASF GitHub Bot commented on DRILL-5730:
---------------------------------------
Github user paul-rogers commented on a diff in the pull request:
https://github.com/apache/drill/pull/1045#discussion_r162244374
--- Diff:
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/WriterRecordBatch.java
---
@@ -118,7 +118,7 @@ public IterOutcome innerNext() {
} catch(IOException ex) {
logger.error("Failure during query", ex);
kill(false);
- context.fail(ex);
+ context.getExecutorState().fail(ex);
--- End diff --
At some point, you may want to lead a cleanup of Drill's failure reporting
design. I took a crack a while back. 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.
> Fix Unit Test failures on JDK 8 And Some JDK 7 versions
> -------------------------------------------------------
>
> Key: DRILL-5730
> URL: https://issues.apache.org/jira/browse/DRILL-5730
> Project: Apache Drill
> Issue Type: Bug
> Reporter: Timothy Farkas
> Assignee: Timothy Farkas
> Priority: Major
>
> Tests fail on JDK 8 and oracle JDK 7 on my mac
> Failed tests:
> TestMetadataProvider.tables:153 expected:<OK> but was:<FAILED>
> TestMetadataProvider.tablesWithTableNameFilter:212 expected:<OK> but
> was:<FAILED>
> TestMetadataProvider.tablesWithSystemTableFilter:187 expected:<OK> but
> was:<FAILED>
> TestMetadataProvider.tablesWithTableFilter:176 expected:<OK> but
> was:<FAILED>
> Tests in error:
> TestInfoSchema.selectFromAllTables » UserRemote SYSTEM ERROR:
> URISyntaxExcepti...
> TestCustomUserAuthenticator.positiveUserAuth » UserRemote SYSTEM ERROR:
> URISyn...
> TestCustomUserAuthenticator.positiveUserAuthAfterNegativeUserAuth »
> UserRemote
> TestViewSupport.infoSchemaWithView:350->BaseTestQuery.testRunAndReturn:344
> » Rpc
> TestParquetScan.testSuccessFile:58->BaseTestQuery.testRunAndReturn:344 »
> Rpc o...
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)