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.
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.