You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Zach York (JIRA)" <ji...@apache.org> on 2017/08/03 16:19:00 UTC

[jira] [Commented] (HBASE-18462) HBase server fails to start when rootdir contains spaces

    [ 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)