Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-6855

Query from non-existent proxy user fails with "No default schema selected" when impersonation is enabled

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.15.0
    • 1.16.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

          Activity

            People

              aravi5 Abhishek Ravi
              aravi5 Abhishek Ravi
              Sorabh Hamirwasia Sorabh Hamirwasia
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: