mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Schwartzmeyer <>
Subject Re: Review Request 68297: Windows: Fixed a bug when `executorId` contains a `:`.
Date Thu, 16 Aug 2018 03:12:21 GMT

This is an automatically generated e-mail. To reply, visit:

(Updated Aug. 15, 2018, 8:12 p.m.)

Review request for mesos, Benjamin Mahler, Gastón Kleiman, and Joseph Wu.


Switched to `%3A`. TODO: Maybe use `process::http::encode` here instead.

Bugs: MESOS-9109

Repository: mesos


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 (updated)

  src/slave/paths.cpp ed0b1276908f4990ce7a24c96aea20e8c79d3126 
  src/tests/paths_tests.cpp 4808402f789ebc783b308c03b8e412ba22bf9f5d 




[----------] 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).


Andrew Schwartzmeyer

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message