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

Zach York commented on HBASE-18462:
-----------------------------------

So there are some issues here. As you can see from the stack trace below it is 
Hadoop FileSystem that actually throws this (by calling URI). So if we handle 
this as you suggest by encoding the space as %20 in HBase this will work for 
some cases. However, what if you create a directory that actually contains the 
space character (for example, you can do this on S3)? Then HBase will create a 
root directory with %20 instead of the correct space character. This will be 
confusing to users in my opinion.

Caused by: java.lang.IllegalArgumentException: Illegal character in path at 
index 89: 
file:/home/jenkins/jenkins-slave/workspace/beam_PostCommit_Java_JDK_Versions_Test/jdk/JDK
 1.7 
(latest)/label/beam/sdks/java/io/hbase/target/test-data/b11a0828-4628-4fe9-885d-073fb641ddc9
        at java.net.URI.create(URI.java:859)
        at org.apache.hadoop.fs.FileSystem.getDefaultUri(FileSystem.java:175)
        at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:167)
        at org.apache.hadoop.hbase.fs.HFileSystem.<init>(HFileSystem.java:80)
        at 
org.apache.hadoop.hbase.regionserver.HRegionServer.initializeFileSystem(HRegionServer.java:613)
        at 
org.apache.hadoop.hbase.regionserver.HRegionServer.<init>(HRegionServer.java:564)
        at org.apache.hadoop.hbase.master.HMaster.<init>(HMaster.java:412)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at 
org.apache.hadoop.hbase.util.JVMClusterUtil.createMasterThread(JVMClusterUtil.java:139)

> HBase server fails to start when rootdir contains spaces
> --------------------------------------------------------
>
>                 Key: HBASE-18462
>                 URL: https://issues.apache.org/jira/browse/HBASE-18462
>             Project: HBase
>          Issue Type: Bug
>          Components: hbase, test
>    Affects Versions: 1.3.1, 1.2.6
>            Reporter: Ismaël Mejía
>            Priority: Minor
>
> As part of the tests for the HBase connector for Beam I discovered that when 
> you start an HBase server instance from a directory that contains spaces 
> (rootdir) it does not start correctly. This happens both with the 
> HBaseTestingUtility server and with the binary distribution too.
> The concrete exception says:
> {quote}
> Caused by: java.net.URISyntaxException: Illegal character in path at index 
> 89: 
> file:/home/jenkins/jenkins-slave/workspace/beam_PostCommit_Java_JDK_Versions_Test/jdk/JDK
>  1.7 
> (latest)/label/beam/sdks/java/io/hbase/target/test-data/b11a0828-4628-4fe9-885d-073fb641ddc9
>       at java.net.URI$Parser.fail(URI.java:2829)
>       at java.net.URI$Parser.checkChars(URI.java:3002)
>       at java.net.URI$Parser.parseHierarchical(URI.java:3086)
>       at java.net.URI$Parser.parse(URI.java:3034)
>       at java.net.URI.<init>(URI.java:595)
>       at java.net.URI.create(URI.java:857)
>       ... 37 more
> {quote}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to