Github user chunhui-shi commented on a diff in the pull request:

    https://github.com/apache/drill/pull/1032#discussion_r151298428
  
    --- Diff: 
exec/java-exec/src/main/java/org/apache/drill/exec/store/dfs/FileSystemSchemaFactory.java
 ---
    @@ -73,9 +87,10 @@ public void registerSchemas(SchemaConfig schemaConfig, 
SchemaPlus parent) throws
     
         public FileSystemSchema(String name, SchemaConfig schemaConfig) throws 
IOException {
           super(ImmutableList.<String>of(), name);
    +      final DrillFileSystem fs = 
ImpersonationUtil.createFileSystem(schemaConfig.getUserName(), 
plugin.getFsConf());
           for(WorkspaceSchemaFactory f :  factories){
    -        if (f.accessible(schemaConfig.getUserName())) {
    -          WorkspaceSchema s = f.createSchema(getSchemaPath(), 
schemaConfig);
    +        WorkspaceSchema s = f.createSchema(getSchemaPath(), schemaConfig, 
fs);
    +        if ( s != null) {
    --- End diff --
    
    'factories' is from storage plugin, so it will be identical when we don't 
update this storage plugin. This FileSystemSchema constructor will be called 
only once for a query if this FileSystem storage plugin is needed for this 
query.



---

Reply via email to