drill-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jacques-n <...@git.apache.org>
Subject [GitHub] drill pull request: DRILL-3921: Initialize the underlying record r...
Date Tue, 13 Oct 2015 00:31:20 GMT
Github user jacques-n commented on a diff in the pull request:

    https://github.com/apache/drill/pull/197#discussion_r41816180
  
    --- Diff: contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveRecordReader.java
---
    @@ -223,6 +228,24 @@ private void init() throws ExecutionSetupException {
       @Override
       public void setup(@SuppressWarnings("unused") OperatorContext context, OutputMutator
output)
           throws ExecutionSetupException {
    +    final ListenableFuture<Void> result = context.runCallableAs(proxyUgi,
    +      new Callable<Void>() {
    +        @Override
    +        public Void call() throws Exception {
    +          init();
    +          return null;
    +        }
    +      });
    +    try {
    +      result.get();
    +    } catch (InterruptedException e) {
    +      result.cancel(true);
    +      // Preserve evidence that the interruption occurred so that code higher up on the
call stack can learn of the
    +      // interruption and respond to it if it wants to.
    +      Thread.currentThread().interrupt();
    --- End diff --
    
    I don't think you want to set the interrupt bit on the proxy thread, you probably need
throw the interrupted exception in the original context.  I also suggest creating a little
inner class rather than an anonymous object for easier understanding.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

Mime
View raw message