[ https://issues.apache.org/jira/browse/HADOOP-2366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12720335#action_12720335 ]
Tsz Wo (Nicholas), SZE commented on HADOOP-2366: ------------------------------------------------ > If tests pass after fixing the behavior on an empty conf, do you have an > issue with changing the semantics of these utility functions so long as the > new behavior is clearly documented in the javadoc? Configuration is a public class and is not a part of fs or hdfs. Trimming the string values may make sense in fs/hdfs paths but it may not for the other usages. Personally, I wish the trimming was done in the beginning. Unfortunately, it was not. If we change it now, then it breaks existing semantics. I think that users rarely use leading or tailing spaces in configuration values but we cannot break them. When I worked on HADOOP-2461, I think that the property names should be trimmed but not the values. Otherwise, it forbids the potential use of leading and trailing spaces. If there is a need, the codes using the conf values should do the trimming. In this issue, only the values for dfs.data.dir should be trimmed. If a trimmed version of getStrings(..) is needed, I think it is better to provide new methods, say getTrimmedStrings(..) in Configuration and StringUtils but not changing the existing ones. > Space in the value for dfs.data.dir can cause great problems > ------------------------------------------------------------ > > Key: HADOOP-2366 > URL: https://issues.apache.org/jira/browse/HADOOP-2366 > Project: Hadoop Core > Issue Type: Bug > Components: conf > Reporter: Ted Dunning > Assignee: Todd Lipcon > Attachments: HADOOP-2366.patch > > > The following configuration causes problems: > <property> > <name>dfs.data.dir</name> > <value>/mnt/hstore2/hdfs, /home/foo/dfs</value> > <description> > Determines where on the local filesystem an DFS data node should store its > bl > ocks. If this is a comma-delimited list of directories, then data will be > stor > ed in all named directories, typically on different devices. Directories > that > do not exist are ignored. > </description> > </property> > The problem is that the space after the comma causes the second directory for > storage to be " /home/foo/dfs" which is in a directory named <SPACE> which > contains a sub-dir named "home" in the hadoop datanodes default directory. > This will typically cause the user's home partition to fill, but will be very > hard for the user to understand since a directory with a whitespace name is > hard to understand. > My proposed solution would be to trimLeft all path names from this and > similar property after splitting on comma. This still allows spaces in file > and directory names but avoids this problem. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.