[
https://issues.apache.org/jira/browse/DRILL-5056?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Paul Rogers updated DRILL-5056:
-------------------------------
Fix Version/s: (was: 1.10.0)
1.11.0
Fixed only in the managed sort, so marked for 1.11.
To test externally, use the fault injection framework to cause an OOM error
when spilling. Then, check the log to ensure that a reasonable message appears.
> UserException does not write full message to log
> ------------------------------------------------
>
> Key: DRILL-5056
> URL: https://issues.apache.org/jira/browse/DRILL-5056
> Project: Apache Drill
> Issue Type: Improvement
> Affects Versions: 1.8.0
> Reporter: Paul Rogers
> Assignee: Paul Rogers
> Priority: Minor
> Labels: ready-to-commit
> Fix For: 1.11.0
>
>
> A case occurred in which the External Sort failed during spilling. All that
> was written to the log was:
> {code}
> 2016-11-18 ... INFO o.a.d.e.p.i.xsort.ExternalSortBatch - User Error Occurred
> {code}
> As it turns out, there are two places in external sort that can throw a user
> exception. But, because the log contains neither line numbers nor detailed
> messages, it is not obvious which one was the cause.
> When logging a user error, include the text provided when building the error.
> For example, consider the following external sort code:
> {code}
> throw UserException.resourceError(e)
> .message("External Sort encountered an error while spilling to disk")
> .addContext(e.getMessage() /* more detail */)
> .build(logger);
> {code}
> The expected message is:
> {code}
> 2016-11-18 ... INFO o.a.d.e.p.i.xsort.ExternalSortBatch - User Error
> Occurred: External Sort encountered an error while spilling to disk (Disk
> write failed)
> {code}
> The part in parens is the cause of the error: the {{e.getMessage( )}} in the
> above code.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)