-
Type: Bug
-
Status: Resolved
-
Priority: Critical
-
Resolution: Fixed
-
Affects Version/s: 4.1.2
-
Fix Version/s: 4.4.1
-
Component/s: Local client
-
Environment:Windows
-
Epic Link:
-
Tags:
-
Sprint:nxDrive 11.1.23
-
Story Points:1
Error
Sentry Issue: NUXEO-DRIVE-VC
OSError: [WinError 17] Impossible de déplacer le fichier vers un lecteur de disque différent: '\\\\?\\D:\\Documents\\Nuxeo Drive\\foo.pdf' -> 'C:\\Users\\USER\\AppData\\Local\\Temp\\a3356e66-fa3f-4535-ad32-3ef4e9605e33' File "nxdrive\engine\processor.py", line 263, in _execute File "nxdrive\engine\processor.py", line 1093, in _synchronize_remotely_modified File "nxdrive\client\local_client.py", line 646, in rename File "pathlib.py", line 1309, in rename File "pathlib.py", line 393, in wrapped
Analysis
The faultive code is inside LocalClient.rename():
# The filesystem is not sensitive, so we cannot rename # from "a" to "A". We need to use a temporary filename # inbetween, which allows us to do "a" -> <tempname> -> "A". temp_path = normalized_path(tempfile.gettempdir()) / str(uuid.uuid4()) source_os_path.rename(temp_path)
Here, tempfile.gettempdir() returns the value of the %TEMP% envar, which is not on the same partition as the local folder.
Fix
We could use the Engine.download_dir folder as it already ensures that it is on the same partition as the local folder.
- depends on
-
NXBT-3144 Create a new partition on Windows agents
- Resolved
- is related to
-
NXDRIVE-1504 Sentry
- Resolved