Agree that cache names should be case insensitive - currently it seems that we have issues on Windows OS.
As far as allowed characters - why don't we try creating a directory on all nodes (but calling toLower() prior to creation)? If creation succeeds everywhere then cache name is acceptable. New nodes should throw exception if folder creation is impossible. I don't like escaping since it will not add any usability for, let's say, Chinese or Russian names. For example, MySQL supports ASCII: [0-9,a-z,A-Z$_] (basic Latin letters, digits 0-9, dollar, underscore) and Extended: U+0080 .. U+FFFF [1] I also would think over some intersection of allowed file name characters in different file systems [2] [1] https://dev.mysql.com/doc/refman/5.7/en/identifiers.html [2] https://en.wikipedia.org/wiki/Filename Yakov Zhdanov