You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2018/09/03 14:48:02 UTC

[jira] [Commented] (DRILL-6724) Convert IndexOutOfBounds exception to UserException with context data where possible

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

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_r214548608
 
 

 ##########
 File path: exec/java-exec/src/main/java/org/apache/drill/exec/store/easy/sequencefile/SequenceFileRecordReader.java
 ##########
 @@ -163,4 +163,23 @@ public void close() {
       logger.warn("Exception closing reader: {}", e);
     }
   }
+
+  @Override
+  public UserException createDataReadException(Throwable cause, String message) {
+    UserException.Builder builder = UserException.dataReadError(cause)
+        .message(message)
+        .addContext("File ", split.getPath().toString());
+    long position = -1L;
+    try {
+      if (reader != null) {
+        position = reader.getPos();
+      }
+    } catch (IOException e) {
+      // Ignore as this is to provide information only
+    }
+    if (position > 0) {
+      builder.addContext("Position ", position);
+    }
+    return builder.build(logger);
+  }
 }
 
 Review comment:
   Please add new line in the eof

----------------------------------------------------------------
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:
users@infra.apache.org


> 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)