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

Vitalii Diravka commented on DRILL-6558:
----------------------------------------

The original issue is presentĀ for Drill with Hadoop 3.2 libs:
{code:java}
Apache Drill 1.16.0-SNAPSHOT
"What ever the mind of man can conceive and believe, Drill can query."
apache drill> select * from dfs.`/tmp/af:3`;
Error: VALIDATION ERROR: java.net.URISyntaxException: Relative path in absolute 
URI: af:3


[Error Id: a6687d43-24f4-460b-8a39-ea05c1fb2f3f on vitalii-UX331UN:31010] 
(state=,code=0)
{code}
ButĀ I didn't reproduce the second case:
{code:java}
apache drill> select * from dfs.`/tmp/af:3`;
Error: VALIDATION ERROR: java.net.URISyntaxException: Relative path in absolute 
URI: af:3


[Error Id: a6687d43-24f4-460b-8a39-ea05c1fb2f3f on vitalii-UX331UN:31010] 
(state=,code=0)
apache drill> use dfs.tmp;
+------+-------------------------------------+
| ok | summary |
+------+-------------------------------------+
| true | Default schema changed to [dfs.tmp] |
+------+-------------------------------------+
1 row selected (0.24 seconds)
apache drill (dfs.tmp)> select * from sys.version;
+-----------------+------------------------------------------+-----------------------------------------+----------------------------+--------------------+----------------------------+
| version | commit_id | commit_message | commit_time | build_email | build_time 
|
+-----------------+------------------------------------------+-----------------------------------------+----------------------------+--------------------+----------------------------+
| 1.16.0-SNAPSHOT | a070d0b592b3f77411864c04d9c4025e0d1cf888 | Fix test 
failures. Update HBase version | 02.04.2019 @ 13:26:18 EEST | 
[email protected] | 02.04.2019 @ 20:37:18 EEST |
+-----------------+------------------------------------------+-----------------------------------------+----------------------------+--------------------+----------------------------+
1 row selected (1.295 seconds)
{code}

> Drill query fails when file name contains semicolon
> ---------------------------------------------------
>
>                 Key: DRILL-6558
>                 URL: https://issues.apache.org/jira/browse/DRILL-6558
>             Project: Apache Drill
>          Issue Type: Bug
>            Reporter: Volodymyr Vysotskyi
>            Priority: Major
>
> Queries on the tables which contain semicolon in the name:
> {code:sql}
> select * from dfs.`/tmp/q:0`
> {code}
> fails with error:
> {noformat}
> org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: 
> java.net.URISyntaxException: Relative path in absolute URI: q:0
> SQL Query null
> [Error Id: 34fafee1-8fbe-4fe0-9fcb-ddcc926bb192 on user515050-pc:31010]
> (java.lang.IllegalArgumentException) java.net.URISyntaxException: Relative 
> path in absolute URI: q:0
>  org.apache.hadoop.fs.Path.initialize():205
>  org.apache.hadoop.fs.Path.<init>():171
>  org.apache.hadoop.fs.Path.<init>():93
>  org.apache.hadoop.fs.Globber.glob():253
>  org.apache.hadoop.fs.FileSystem.globStatus():1655
>  org.apache.drill.exec.store.dfs.DrillFileSystem.globStatus():547
>  org.apache.drill.exec.store.dfs.FileSelection.create():274
>  
> org.apache.drill.exec.store.dfs.WorkspaceSchemaFactory$WorkspaceSchema.create():607
>  
> org.apache.drill.exec.store.dfs.WorkspaceSchemaFactory$WorkspaceSchema.create():408
>  org.apache.drill.exec.planner.sql.ExpandingConcurrentMap.getNewEntry():96
>  org.apache.drill.exec.planner.sql.ExpandingConcurrentMap.get():90
>  
> org.apache.drill.exec.store.dfs.WorkspaceSchemaFactory$WorkspaceSchema.getTable():561
>  
> org.apache.drill.exec.store.dfs.FileSystemSchemaFactory$FileSystemSchema.getTable():132
>  org.apache.calcite.jdbc.SimpleCalciteSchema.getImplicitTable():82
>  org.apache.calcite.jdbc.CalciteSchema.getTable():257
>  org.apache.calcite.sql.validate.SqlValidatorUtil.getTableEntryFrom():1022
>  org.apache.calcite.sql.validate.SqlValidatorUtil.getTableEntry():979
>  org.apache.calcite.prepare.CalciteCatalogReader.getTable():123
>  
> org.apache.drill.exec.planner.sql.SqlConverter$DrillCalciteCatalogReader.getTable():650
>  
> org.apache.drill.exec.planner.sql.SqlConverter$DrillValidator.validateFrom():260
>  org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect():3219
>  org.apache.calcite.sql.validate.SelectNamespace.validateImpl():60
>  org.apache.calcite.sql.validate.AbstractNamespace.validate():84
>  org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():947
>  org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():928
>  org.apache.calcite.sql.SqlSelect.validate():226
>  
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression():903
>  org.apache.calcite.sql.validate.SqlValidatorImpl.validate():613
>  org.apache.drill.exec.planner.sql.SqlConverter.validate():190
>  
> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateNode():644
>  
> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateAndConvert():204
>  org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan():176
>  org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan():145
>  org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan():83
>  org.apache.drill.exec.work.foreman.Foreman.runSQL():567
>  org.apache.drill.exec.work.foreman.Foreman.run():266
>  java.util.concurrent.ThreadPoolExecutor.runWorker():1149
>  java.util.concurrent.ThreadPoolExecutor$Worker.run():624
>  java.lang.Thread.run():748
>  Caused By (java.net.URISyntaxException) Relative path in absolute URI: q:0
>  java.net.URI.checkPath():1823
>  java.net.URI.<init>():745
>  org.apache.hadoop.fs.Path.initialize():202
>  org.apache.hadoop.fs.Path.<init>():171
>  org.apache.hadoop.fs.Path.<init>():93
>  org.apache.hadoop.fs.Globber.glob():253
>  org.apache.hadoop.fs.FileSystem.globStatus():1655
>  org.apache.drill.exec.store.dfs.DrillFileSystem.globStatus():547
>  org.apache.drill.exec.store.dfs.FileSelection.create():274
>  
> org.apache.drill.exec.store.dfs.WorkspaceSchemaFactory$WorkspaceSchema.create():607
>  
> org.apache.drill.exec.store.dfs.WorkspaceSchemaFactory$WorkspaceSchema.create():408
>  org.apache.drill.exec.planner.sql.ExpandingConcurrentMap.getNewEntry():96
>  org.apache.drill.exec.planner.sql.ExpandingConcurrentMap.get():90
>  
> org.apache.drill.exec.store.dfs.WorkspaceSchemaFactory$WorkspaceSchema.getTable():561
>  
> org.apache.drill.exec.store.dfs.FileSystemSchemaFactory$FileSystemSchema.getTable():132
>  org.apache.calcite.jdbc.SimpleCalciteSchema.getImplicitTable():82
>  org.apache.calcite.jdbc.CalciteSchema.getTable():257
>  org.apache.calcite.sql.validate.SqlValidatorUtil.getTableEntryFrom():1022
>  org.apache.calcite.sql.validate.SqlValidatorUtil.getTableEntry():979
>  org.apache.calcite.prepare.CalciteCatalogReader.getTable():123
>  
> org.apache.drill.exec.planner.sql.SqlConverter$DrillCalciteCatalogReader.getTable():650
>  
> org.apache.drill.exec.planner.sql.SqlConverter$DrillValidator.validateFrom():260
>  org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect():3219
>  org.apache.calcite.sql.validate.SelectNamespace.validateImpl():60
>  org.apache.calcite.sql.validate.AbstractNamespace.validate():84
>  org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():947
>  org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():928
>  org.apache.calcite.sql.SqlSelect.validate():226
>  
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression():903
>  org.apache.calcite.sql.validate.SqlValidatorImpl.validate():613
>  org.apache.drill.exec.planner.sql.SqlConverter.validate():190
>  
> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateNode():644
>  
> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateAndConvert():204
>  org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan():176
>  org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan():145
>  org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan():83
>  org.apache.drill.exec.work.foreman.Foreman.runSQL():567
>  org.apache.drill.exec.work.foreman.Foreman.run():266
>  java.util.concurrent.ThreadPoolExecutor.runWorker():1149
>  java.util.concurrent.ThreadPoolExecutor$Worker.run():624
>  java.lang.Thread.run():748
> at 
> org.apache.drill.exec.rpc.user.QueryResultHandler.resultArrived(QueryResultHandler.java:123)
>  ~[classes/:na]
>  at org.apache.drill.exec.rpc.user.UserClient.handle(UserClient.java:422) 
> ~[classes/:na]
>  at org.apache.drill.exec.rpc.user.UserClient.handle(UserClient.java:96) 
> ~[classes/:na]
>  at org.apache.drill.exec.rpc.RpcBus$InboundHandler.decode(RpcBus.java:274) 
> ~[classes/:na]
>  at org.apache.drill.exec.rpc.RpcBus$InboundHandler.decode(RpcBus.java:244) 
> ~[classes/:na]
>  at 
> io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
>  ~[netty-codec-4.0.48.Final.jar:4.0.48.Final]
>  at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
>  ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>  at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
>  ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>  at 
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
>  ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>  at 
> io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:287)
>  ~[netty-handler-4.0.48.Final.jar:4.0.48.Final]
>  at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
>  ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>  at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
>  ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>  at 
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
>  ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>  at 
> io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
>  ~[netty-codec-4.0.48.Final.jar:4.0.48.Final]
>  at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
>  ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>  at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
>  ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>  at 
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
>  ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>  at 
> io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:312)
>  ~[netty-codec-4.0.48.Final.jar:4.0.48.Final]
>  at 
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:286)
>  ~[netty-codec-4.0.48.Final.jar:4.0.48.Final]
>  at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
>  ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>  at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
>  ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>  at 
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
>  ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>  at 
> io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
>  ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>  at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
>  ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>  at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
>  ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>  at 
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)
>  ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>  at 
> io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1294)
>  ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>  at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)
>  ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>  at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)
>  ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>  at 
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:911)
>  ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>  at 
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)
>  ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>  at 
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:645) 
> ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>  at 
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:580)
>  ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>  at 
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:497) 
> ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>  at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:459) 
> ~[netty-transport-4.0.48.Final.jar:4.0.48.Final]
>  at 
> io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131)
>  ~[netty-common-4.0.48.Final.jar:4.0.48.Final]
>  at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_171]
> {noformat}
> More critical problem is that if a folder has contains which name contains a 
> semicolon, and the workspace which corresponds to the folder is chosen, each 
> query fails.
> A way to reproduce the issue:
> 1. Create file with semicolon in the name and put it to \{{/tmp/}} folder.
> 2. Execute:
> {code:sql}
> use dfs.tmp
> {code}
> 3. Run any query, for example
> {code:sql}
> select * from sys.version;
> {code}



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

Reply via email to