drill-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From paul-rogers <...@git.apache.org>
Subject [GitHub] drill pull request #1032: DRILL-5089: Dynamically load schema of storage plu...
Date Mon, 13 Nov 2017 22:34:31 GMT
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?


---

Mime
View raw message