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