Github user paul-rogers commented on a diff in the pull request: https://github.com/apache/drill/pull/1032#discussion_r150685113 --- 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 -- Here we iterate over a list of workspace schema factories. For each, we resolve a schemaConfig against the file system. Under what situations would we have multiple factories? Selecting from two distinct storage plugins? Calcite tends to resolve the same things over and over. Will this method be called multiple times?
---