[ https://issues.apache.org/jira/browse/IGNITE-7264?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16303297#comment-16303297 ]
Stanislav Lukyanov commented on IGNITE-7264: -------------------------------------------- As said in the description, the root cause is that certain cache names are not compatible with persistence because there is no way to create a file (a directory) of that name. Slash leads to multiple directories being created, some other symbols ('\0' on Unix, '<', '*' and other on Windows) just can't be used, etc. One way to handle that would be to check the name via `j.n.f.Paths.get()` (check that the name is accepted on this platform and that it is a simple name). However, I suspect that it might create more problems with portability accross different file systems and encodings (say, a cache name "my::cache" is valid on Unix but not on Windows). Another way would be to disallow a large number of symbols/names on all platforms - that requires finding this set and, possibly, widening it later. Finally, instead of disallowing a set of characters, it could be escaped/replaced in the file names (and left untouched in the cache names). For instance, replace all non-alphanumeric characters in a cache name with underscore, so that cache "foo/bar**foobar" has a persistence folder of name "cache-foo_bar__foobar". > Caches with forward slash "/" in names cause problems for PDS > ------------------------------------------------------------- > > Key: IGNITE-7264 > URL: https://issues.apache.org/jira/browse/IGNITE-7264 > Project: Ignite > Issue Type: Bug > Components: cache, persistence > Affects Versions: 2.3 > Reporter: Ilya Kasnacheev > Assignee: Stanislav Lukyanov > > If I am to create cache with name "caches/1", there's no immediate error, but > nodes fail when trying to rejoin topology with storage already initialized. > I think there should be an immediate exception in case persistence is enabled > for such case. > Moreover, I suggest first trying to create directory, then making sure it was > created and that dir.parent == expected parent directory. Because on Windows > there are more restrictions on FS file names, etc... -- This message was sent by Atlassian JIRA (v6.4.14#64029)