Andrew Schwartzmeyer created MESOS-7407:
-------------------------------------------
Summary: Windows 10 Creators Update broke opt-in NTFS long path
support
Key: MESOS-7407
URL: https://issues.apache.org/jira/browse/MESOS-7407
Project: Mesos
Issue Type: Bug
Components: agent
Environment: Windows 10 with "Creators Update" (Build 15063) _seems_
to have broken the notion of opting into NTFS long path support (i.e. by
setting a registry key or group policy). I've verified this on both my work and
home desktops, which updated to the Creators Update, and subsequently the
DefaultExecutorTests started to fail with "path is too long".
I confirmed that _long paths_ still work. I patched `os::mkdir` to use
`CreateDirectoryW` with the long path marker `\\?\`. This allows the use of
long path enabled Windows system calls _without_ requiring the user to opt-in,
and is probably what we should do going forward.
Game plan: remove our use of the Windows CRT (e.g. _mkdir and _fullpath etc.)
and replace it with UTF-16 Windows system APIs as appropriate throughout Stout.
Add a Windows only internal `wstring os::longpath(string)` function to prepend
the long path marker to absolute paths (but not to relative), and convert to
wstring. Use this where needed.
Reporter: Andrew Schwartzmeyer
Assignee: Andrew Schwartzmeyer
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)