You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Abhishek Ravi (JIRA)" <ji...@apache.org> on 2018/11/15 08:57:00 UTC

[jira] [Updated] (DRILL-6855) Query from non-existent proxy user fails with "No default schema selected" when impersonation is enabled

     [ https://issues.apache.org/jira/browse/DRILL-6855?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Abhishek Ravi updated DRILL-6855:
---------------------------------
    Description: 
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}}.

 

  was:
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}}.

 


> 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
>            Priority: Major
>
> 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)