You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Arina Ielchiieva (JIRA)" <ji...@apache.org> on 2018/09/05 10:41:00 UTC

[jira] [Updated] (DRILL-6726) Drill fail to query views created before DRILL-6492 when impersonation is enabled

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

Arina Ielchiieva updated DRILL-6726:
------------------------------------
    Summary: Drill fail to query views created before DRILL-6492 when impersonation is enabled  (was: Drill should return a better error message when an existing view uses a table that has a mixed case schema)

> Drill fail to query views created before DRILL-6492 when impersonation is enabled
> ---------------------------------------------------------------------------------
>
>                 Key: DRILL-6726
>                 URL: https://issues.apache.org/jira/browse/DRILL-6726
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Execution - Relational Operators
>    Affects Versions: 1.15.0
>            Reporter: Robert Hou
>            Assignee: Arina Ielchiieva
>            Priority: Major
>             Fix For: 1.15.0
>
>         Attachments: student
>
>
> Drill 1.14 changes schemas to be case-insensitive (DRILL-6492). If an existing view was created before (DRILL-6492) was committed, and this view references a file that includes a schema which has upper case letters, the view needs to be rebuilt.  There may be variations on this issue that I have not seen.
> To reproduce this problem, create a dfs workspace like this:
> {noformat}
>     "drillTestDirP1": {
>       "location": "/drill/testdata/p1tests",
>       "writable": true,
>       "defaultInputFormat": "parquet",
>       "allowAccessOutsideWorkspace": false
>     },
> {noformat}
> Use Drill commit ddb35ce71837376c7caef28c25327ba556bb32f2 and execute this command:
> {noformat}
> create or replace view `dfs.drillTestDirP1`.student_parquet_v as select * from `dfs.drillTestDirP1`.student;
> {noformat}
> Then use Drill commit ddb35ce71837376c7caef28c25327ba556bb32f2 and execute this query:
> {noformat}
> select * from student_test_v;
> {noformat}
> Drill will return an exception:
> {noformat}
> Error: VALIDATION ERROR: Failure while attempting to expand view. Requested schema drillTestDirP1 not available in schema dfs.
> View Context dfs, drillTestDirP1
> View SQL SELECT *
> FROM `dfs.drillTestDirP1`.`student`
> [Error Id: 3f4594ee-b503-40db-8845-474b0ecb5feb on qa-node211.qa.lab:31010] (state=,code=0)
> {noformat}
> I have attached the student parquet file I used.
> This is what the .view.drill file looks like:
> {noformat}
> {
>   "name" : "student_test_v",
>   "sql" : "SELECT *\nFROM `dfs.drillTestDirP1`.`student`",
>   "fields" : [ {
>     "name" : "**",
>     "type" : "DYNAMIC_STAR",
>     "isNullable" : true
>   } ],
>   "workspaceSchemaPath" : [ "dfs", "drillTestDirP1" ]
> }
> {noformat}
> This means that users may not be able to access views that they have created using previous versions of Drill.  We should maintain backwards compatibiliity where possible.
> As work-around, these views can be re-created.  It would be helpful to users if the error message explains that these views need to be re-created.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)