----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/68297/ -----------------------------------------------------------
Review request for mesos, Benjamin Mahler, Gastón Kleiman, and Joseph Wu. Bugs: MESOS-9109 https://issues.apache.org/jira/browse/MESOS-9109 Repository: mesos Description ------- Per MESOS-9109, some frameworks, such as Chronos, use a `:` in their `executorId`, but this is a reserved character on Windows, and when its use as part of the path on disk results in an OS error. Unfortunately, we need to remain backward-compatible with existing frameworks, so now we escape `:` as `_COLON_` when writing to disk, and unescape it when parsing. Note that we explicitly do not escape to `%3A` (the ASCII equivalent), because otherwise it is impossible to query for the file over HTTP, as libprocess helpfully (but not in this case) pre-emptively decodes it to `:` and so queries for the incorrect path. Diffs ----- src/slave/paths.cpp ed0b1276908f4990ce7a24c96aea20e8c79d3126 src/tests/paths_tests.cpp 4808402f789ebc783b308c03b8e412ba22bf9f5d Diff: https://reviews.apache.org/r/68297/diff/1/ Testing ------- ``` [----------] Global test environment tear-down [==========] 1008 tests from 98 test cases ran. (446260 ms total) [ PASSED ] 1008 tests. ``` Note that this is without changing the used-everywhere default executor ID of `default` to `default:id`, which I also tested, but required changes of asserts (and caused long path issues only solvable by changing the machine's registry, so I'd rather not include it). Thanks, Andrew Schwartzmeyer