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