Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.15.0
Description
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:
"drillTestDirP1": { "location": "/drill/testdata/p1tests", "writable": true, "defaultInputFormat": "parquet", "allowAccessOutsideWorkspace": false },
Use Drill commit ddb35ce71837376c7caef28c25327ba556bb32f2 and execute this command:
create or replace view `dfs.drillTestDirP1`.student_parquet_v as select * from `dfs.drillTestDirP1`.student;
Then use Drill commit ddb35ce71837376c7caef28c25327ba556bb32f2 and execute this query:
select * from student_test_v;
Drill will return an exception:
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)
I have attached the student parquet file I used.
This is what the .view.drill file looks like:
{ "name" : "student_test_v", "sql" : "SELECT *\nFROM `dfs.drillTestDirP1`.`student`", "fields" : [ { "name" : "**", "type" : "DYNAMIC_STAR", "isNullable" : true } ], "workspaceSchemaPath" : [ "dfs", "drillTestDirP1" ] }
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.
Attachments
Attachments
Issue Links
- links to