You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2020/01/29 16:07:00 UTC

[jira] [Commented] (DRILL-7549) Fix validation error when querying absent sub folder in embedded mode

    [ https://issues.apache.org/jira/browse/DRILL-7549?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17026002#comment-17026002 ] 

ASF GitHub Bot commented on DRILL-7549:
---------------------------------------

arina-ielchiieva commented on pull request #1963: DRILL-7549: Fix validation error when querying absent sub folder in embedded mode
URL: https://github.com/apache/drill/pull/1963
 
 
   [DRILL-7549](https://issues.apache.org/jira/browse/DRILL-XXXX): Fix validation error when querying absent sub folder in embedded mode
   
   ## Description
   Problem is in LocalPersistentStore which fails when looking for storage plugin with name not acceptable by fs system naming. Store should fail but return that storage plugin which such name is absent (i.e. return null).
   
   ## Documentation
   No documentation updates are required.
   
   ## Testing
   Added new units test for LocalPersistentStore and tested locally in embedded mode.
   
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


> Fix validation error when querying absent sub folder in embedded mode
> ---------------------------------------------------------------------
>
>                 Key: DRILL-7549
>                 URL: https://issues.apache.org/jira/browse/DRILL-7549
>             Project: Apache Drill
>          Issue Type: Bug
>    Affects Versions: 1.17.0
>            Reporter: Arina Ielchiieva
>            Assignee: Arina Ielchiieva
>            Priority: Major
>             Fix For: 1.18.0
>
>
> {noformat}
> apache drill> select * from dfs.tmp.`abc.parquet`;
> Error: VALIDATION ERROR: From line 1, column 15 to line 1, column 17: Object 'abc.parquet' not found within 'dfs.tmp'
> [Error Id: 0dad391e-ea4d-4d13-95e7-218dec865ad2 ] (state=,code=0)
> apache drill> select * from dfs.tmp.`abc/abc`;
> Error: VALIDATION ERROR: From line 1, column 15 to line 1, column 17: Object 'abc/abc' not found within 'dfs.tmp'
> [Error Id: 94ea83c7-4983-4958-8a82-eea49b58d4ed ] (state=,code=0)
> apache drill> use dfs.tmp;
> +------+-------------------------------------+
> |  ok  |               summary               |
> +------+-------------------------------------+
> | true | Default schema changed to [dfs.tmp] |
> +------+-------------------------------------+
> 1 row selected (0.277 seconds)
> apache drill (dfs.tmp)> select * from `abc.parquet`;
> Error: VALIDATION ERROR: From line 1, column 15 to line 1, column 27: Object 'abc.parquet' not found
> [Error Id: d814df53-2a94-46da-81e5-f49a3d50a665 ] (state=,code=0)
> apache drill (dfs.tmp)> select * from `abc/abc`;
> Error: VALIDATION ERROR: null
> [Error Id: 6c11d397-f893-4ef6-9832-4a96a2029f7d ] (state=,code=0)
> {noformat}
> Full error:
> {noformat}
> Caused by: java.lang.IllegalArgumentException: 
> 	at org.apache.drill.shaded.guava.com.google.common.base.Preconditions.checkArgument(Preconditions.java:121)
> 	at org.apache.drill.exec.store.sys.store.LocalPersistentStore.makePath(LocalPersistentStore.java:147)
> 	at org.apache.drill.exec.store.sys.store.LocalPersistentStore.get(LocalPersistentStore.java:166)
> 	at org.apache.drill.exec.store.sys.CaseInsensitivePersistentStore.get(CaseInsensitivePersistentStore.java:42)
> 	at org.apache.drill.exec.store.StoragePluginRegistryImpl.getPlugin(StoragePluginRegistryImpl.java:167)
> 	at org.apache.calcite.jdbc.DynamicRootSchema.loadSchemaFactory(DynamicRootSchema.java:80)
> 	at org.apache.calcite.jdbc.DynamicRootSchema.getImplicitSubSchema(DynamicRootSchema.java:67)
> 	at org.apache.calcite.jdbc.CalciteSchema.getSubSchema(CalciteSchema.java:265)
> 	at org.apache.calcite.sql.validate.EmptyScope.resolve_(EmptyScope.java:133)
> 	at org.apache.calcite.sql.validate.EmptyScope.resolveTable(EmptyScope.java:99)
> 	at org.apache.calcite.sql.validate.DelegatingScope.resolveTable(DelegatingScope.java:203)
> 	at org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(IdentifierNamespace.java:105)
> 	at org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(IdentifierNamespace.java:177)
> 	at org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:84)
> 	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:1009)
> 	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:969)
> 	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:3129)
> 	at org.apache.drill.exec.planner.sql.conversion.DrillValidator.validateFrom(DrillValidator.java:63)
> 	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:3111)
> 	at org.apache.drill.exec.planner.sql.conversion.DrillValidator.validateFrom(DrillValidator.java:63)
> 	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(SqlValidatorImpl.java:3383)
> 	at org.apache.calcite.sql.validate.SelectNamespace.validateImpl(SelectNamespace.java:60)
> 	at org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:84)
> 	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:1009)
> 	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:969)
> 	at org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:216)
> 	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression(SqlValidatorImpl.java:944)
> 	at org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValidatorImpl.java:651)
> 	at org.apache.drill.exec.planner.sql.conversion.SqlConverter.validate(SqlConverter.java:189)
> 	at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateNode(DefaultSqlHandler.java:648)
> 	at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateAndConvert(DefaultSqlHandler.java:196)
> 	at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(DefaultSqlHandler.java:170)
> 	at org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(DrillSqlWorker.java:283)
> 	at org.apache.drill.exec.planner.sql.DrillSqlWorker.getPhysicalPlan(DrillSqlWorker.java:163)
> 	at org.apache.drill.exec.planner.sql.DrillSqlWorker.convertPlan(DrillSqlWorker.java:128)
> 	at org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:93)
> 	at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:590)
> 	at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:275)
> {noformat}
> Problem is in {{LocalPersistentStore}} which fails when looking for storage plugin with name not acceptable by fs system naming. Store should fail but return that storage plugin which such name is absent (i.e. return null).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)