Abhishek Ravi created DRILL-6855:
------------------------------------

             Summary: Query from non-existent proxy user fails with "No default 
schema selected" when impersonation is enabled
                 Key: DRILL-6855
                 URL: https://issues.apache.org/jira/browse/DRILL-6855
             Project: Apache Drill
          Issue Type: Bug
    Affects Versions: 1.15.0
            Reporter: Abhishek Ravi


Query from a *proxy user* fails with following error when *impersonation* is 
*enabled* but user does not exist. This behaviour was discovered when running 
Drill on MapR.

{noformat}

Error: VALIDATION ERROR: Schema [[dfs]] is not valid with respect to either 
root schema or current default schema.

Current default schema: No default schema selected

{noformat}

The above error is very confusing and made it very hard to relate to proxy user 
does not exist + impersonation issue. 

The {{fs.access(wsPath, FsAction.READ)}} in 
{{WorkspaceSchemaFactory.accessible}}

fails with {{IOException,}} which is not handled in {{accessible}} but in 
{{DynamicRootSchema.loadSchemaFactory}}. At this point none of the schemas are 
registered and hence the root schema will be registered as default schema. 

The query execution continues and fails much ahead at 
{{DrillSqlWorker.getQueryPlan}} where the {{SqlConverter.validate}} eventually 
throws  {{SchemaUtilites.throwSchemaNotFoundException}}.

One possible fix could be to handle {{IOException}} similar to 
{{FileNotFoundException}} in {{WorkspaceSchemaFactory.accessible}}.

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to