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

ASF GitHub Bot commented on DRILL-5365:
---------------------------------------

Github user paul-rogers commented on a diff in the pull request:

    https://github.com/apache/drill/pull/796#discussion_r108049396
  
    --- Diff: 
exec/java-exec/src/main/java/org/apache/drill/exec/store/dfs/DrillFileSystem.java
 ---
    @@ -89,22 +89,36 @@ public DrillFileSystem(Configuration fsConf) throws 
IOException {
       }
     
       public DrillFileSystem(Configuration fsConf, OperatorStats 
operatorStats) throws IOException {
    -    this.underlyingFs = FileSystem.get(fsConf);
    +    this(fsConf, URI.create(fsConf.getRaw(FS_DEFAULT_NAME_KEY)), 
operatorStats);
    +  }
    +
    +  public DrillFileSystem(Configuration fsConf, URI Uri, OperatorStats 
operatorStats) throws IOException {
    +    this.underlyingFs = FileSystem.get(Uri, fsConf);
    +    logger.trace("Configuration for the DrillFileSystem " + 
fsConf.getRaw(FS_DEFAULT_NAME_KEY) +
    +        ", underlyingFs: " + this.underlyingFs.getUri());
         this.codecFactory = new CompressionCodecFactory(fsConf);
         this.operatorStats = operatorStats;
    +    setConf(fsConf);
       }
     
       @Override
       public void setConf(Configuration conf) {
         // Guard against setConf(null) call that is called as part of 
superclass constructor (Configured) of the
         // DrillFileSystem, at which point underlyingFs is null.
    -    if (conf != null && underlyingFs != null) {
    -      underlyingFs.setConf(conf);
    +    if(conf != null) {
    +      super.setConf(conf);
    +      if (underlyingFs != null && underlyingFs.getConf() == null) {
    +        underlyingFs.setConf(conf);
    +      }
    +
         }
       }
     
       @Override
       public Configuration getConf() {
    +    if (super.getConf() != null) {
    --- End diff --
    
    Shouldn't the base class config and the underlying FS config be the same? 
If they differ, how do we have any idea which is the correct one? In what 
situation would we want the base class config but not the underlying FS config?


> FileNotFoundException when reading a parquet file
> -------------------------------------------------
>
>                 Key: DRILL-5365
>                 URL: https://issues.apache.org/jira/browse/DRILL-5365
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Storage - Hive
>    Affects Versions: 1.10.0
>            Reporter: Chun Chang
>            Assignee: Chunhui Shi
>
> The parquet file is generated through the following CTAS.
> To reproduce the issue: 1) two or more nodes cluster; 2) enable 
> impersonation; 3) set "fs.default.name": "file:///" in hive storage plugin; 
> 4) restart drillbits; 5) as a regular user, on node A, drop the table/file; 
> 6) ctas from a large enough hive table as source to recreate the table/file; 
> 7) query the table from node A should work; 8) query from node B as same user 
> should reproduce the issue.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to