[
https://issues.apache.org/jira/browse/DRILL-6724?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16603035#comment-16603035
]
ASF GitHub Bot commented on DRILL-6724:
---------------------------------------
vdiravka commented on a change in pull request #1455: DRILL-6724: Convert
IndexOutOfBounds exception to UserException with …
URL: https://github.com/apache/drill/pull/1455#discussion_r214878343
##########
File path:
exec/java-exec/src/main/java/org/apache/drill/exec/store/AbstractRecordReader.java
##########
@@ -105,4 +106,22 @@ public void allocate(Map<String, ValueVector> vectorMap)
throws OutOfMemoryExcep
return GroupScan.ALL_COLUMNS;
}
+ @Override
+ public UserException createUserException(int type, Throwable cause, String
message) {
+ return null;
+ }
+
+ // Construct builder depending on type
+ protected UserException.Builder getExceptionBuilder(int type, Throwable
cause) {
+ if (type < ERROR_TYPE_DATA_READ || type > ERROR_TYPE_INTERNAL) {
Review comment:
If a new ERROR type is introduced between above two ones, it should be
obligatorily reflected here
What about:
```
UserException.Builder builder;
if (type == ERROR_TYPE_DATA_READ) {
builder = UserException.dataReadError(cause);
} else if (type == ERROR_TYPE_INTERNAL) {
builder = UserException.internalError(cause);
} else {
throw new IllegalArgumentException("Unknown error type: " + type);
}
return builder;
```
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> Convert IndexOutOfBounds exception to UserException with context data where
> possible
> ------------------------------------------------------------------------------------
>
> Key: DRILL-6724
> URL: https://issues.apache.org/jira/browse/DRILL-6724
> Project: Apache Drill
> Issue Type: Improvement
> Affects Versions: 1.14.0
> Reporter: Bohdan Kazydub
> Assignee: Bohdan Kazydub
> Priority: Major
> Fix For: 1.15.0
>
>
> Sometimes when IndexOutOfBoundsException is exposed to users it is not clear
> what causes the problem. Instead this exception may be converted to a more
> useful UserException containing context data like filename, line, position
> etc (depending on what is available from a reader for a given type).
> A possible approach is to add a method to a RecordReader interface which
> produces UserException of type ErrorType.DATA_READ with context data, so that
> when such an UserException is needed it can be easily obtained by invoking
> the method.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)