Details
Description
Filenames containing commas or semicolons cause MultipleInputs to break since these characters are used for joining and storing the path names.
MultipleInputs stores mapreduce.input.multipleinputs.dir.formats as:
path;inputFormatClass,path2;inputFormatClass2[, ...]
If a filename contains one of the characters used for joining the data then getInputFormatMap and getMapperTypeMap will fail.
Looking at FileInputFormat.addInputPath() it uses escapeString and unescapeString from StringUtils. I took the same approach for escaping in MultipleInputs.