Github user chunhui-shi commented on a diff in the pull request: https://github.com/apache/drill/pull/1032#discussion_r151793647 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/store/dfs/WorkspaceSchemaFactory.java --- @@ -373,12 +402,12 @@ public String toString() { public class WorkspaceSchema extends AbstractSchema implements ExpandingConcurrentMap.MapValueFactory<TableInstance, DrillTable> { private final ExpandingConcurrentMap<TableInstance, DrillTable> tables = new ExpandingConcurrentMap<>(this); private final SchemaConfig schemaConfig; - private final DrillFileSystem fs; + private DrillFileSystem fs; - public WorkspaceSchema(List<String> parentSchemaPath, String wsName, SchemaConfig schemaConfig) throws IOException { + public WorkspaceSchema(List<String> parentSchemaPath, String wsName, SchemaConfig schemaConfig, DrillFileSystem fs) throws IOException { super(parentSchemaPath, wsName); this.schemaConfig = schemaConfig; - this.fs = ImpersonationUtil.createFileSystem(schemaConfig.getUserName(), fsConf); + this.fs = fs; --- End diff -- Now we pass in fs instead creating from inside of WorkspaceSchema.
---