[
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)