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

Masatake Iwasaki commented on HDFS-15072:
-----------------------------------------

While I don't thinks its practical to use path contiang {{%}} for data dir, it 
would be harmless to escape the path in 
{{FSVolumeImpl#initializeCacheExecutor}} because it uses the path just for the 
name of thread.

> HDFS MiniCluster fails to start when run in directory path with a %
> -------------------------------------------------------------------
>
>                 Key: HDFS-15072
>                 URL: https://issues.apache.org/jira/browse/HDFS-15072
>             Project: Hadoop HDFS
>          Issue Type: Bug
>    Affects Versions: 2.7.5
>         Environment: I encountered this on a Mac while running an HBase 
> minicluster that was using Hadoop 2.7.5. However, the code looks the same in 
> trunk so it likely affects most or all current versions. 
>            Reporter: Geoffrey Jacoby
>            Priority: Minor
>
> FSVolumeImpl.initializeCacheExecutor calls Guava's ThreadPoolExecutorBuilder. 
> setNameFormat, passing in the String representation of the parent File. Guava 
> will take the String whole and pass it to String.format, which uses % as a 
> special character. That means that if parent.toString() contains a percentage 
> sign, followed by a character that's illegal to use as a formatter in 
> String.format(), you'll get an exception that stops the MiniCluster from 
> starting up. 
> I did not check to see if this would also happen on a normal DataNode daemon. 
> initializeCacheExecutor should escape the parent file name before passing it 
> in. 



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

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to