From 5153394f15cc4e106f19a4fb4e885d10129242c1 Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Tue, 30 Jan 2024 13:43:09 +0100 Subject: [PATCH] Set webdav plugin to use temp files by default it avoids the issue with loading the entire files into memory. --- lib/galaxy/files/sources/webdav.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/galaxy/files/sources/webdav.py b/lib/galaxy/files/sources/webdav.py index 86ed55483e7..60450dbb6c9 100644 --- a/lib/galaxy/files/sources/webdav.py +++ b/lib/galaxy/files/sources/webdav.py @@ -3,6 +3,7 @@ try: except ImportError: WebDAVFS = None +import tempfile from typing import ( Optional, Union, @@ -22,6 +23,11 @@ class WebDavFilesSource(PyFilesystem2FilesSource): def _open_fs(self, user_context=None, opts: Optional[FilesSourceOptions] = None): props = self._serialization_props(user_context) + use_temp_files = props.pop("use_temp_files", None) + if use_temp_files is None: + # Default to True to avoid memory issues with large files. + props["use_temp_files"] = True + props["temp_path"] = props.get("temp_path", tempfile.gettempdir()) extra_props: Union[FilesSourceProperties, dict] = opts.extra_props or {} if opts else {} handle = WebDAVFS(**{**props, **extra_props}) return handle