Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.15.0
-
None
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.
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
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.
Attachments
Issue Links
- links to