The distributed cache does not work like it does in 1.0.
mapreduce.job.cache.symlink.create is completely ignored and symlinks are always created no matter what. Files and archives without a fragment will also have symlinks created.
If two cache archives or cache files happen to have the same name, or same symlink fragment only the last one in the list is localized.
The localCacheArchives and LocalCacheFiles are not set correctly when these duplicates happen causing off by one or more errors for anyone trying to use them.
The reality is that use of symlinking is so common currently that these incompatibilities are not that likely to show up, but we still need to fix them.