From 7cfa06d1e57c4631b59c36a911fa773bb3337ed6 Mon Sep 17 00:00:00 2001 From: garethhumphriesgkc <62865047+garethhumphriesgkc@users.noreply.github.com> Date: Tue, 28 Jul 2026 16:52:14 +1200 Subject: [PATCH 1/2] Ensure S3 paths always end in '/' When no trailing is specified, the minio calls return no data. Force the slash to always be present to prevent. --- external-import/stream-importer/src/importer/connector.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/external-import/stream-importer/src/importer/connector.py b/external-import/stream-importer/src/importer/connector.py index 9d271128e14..26fa5dd61ad 100644 --- a/external-import/stream-importer/src/importer/connector.py +++ b/external-import/stream-importer/src/importer/connector.py @@ -67,6 +67,9 @@ def __init__(self): if "/" in os.environ.get("MINIO_DST_PATH") else (os.environ.get("MINIO_DST_PATH"), "") ) + # Ensure S3 paths always end in '/' + self.minio_src_path = self.minio_src_path.rstrip("/") + "/" + self.minio_dst_path = self.minio_dst_path.rstrip("/") + "/" # Reject the unsafe ``src bucket == dst bucket AND dst_path is # empty`` configuration up front. The ``bucket_exists`` / # ``make_bucket`` plumbing below cannot defend this case From 6d187f337c70016858d47dd297945df81b75efff Mon Sep 17 00:00:00 2001 From: garethhumphriesgkc <62865047+garethhumphriesgkc@users.noreply.github.com> Date: Tue, 28 Jul 2026 16:58:10 +1200 Subject: [PATCH 2/2] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- external-import/stream-importer/src/importer/connector.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/external-import/stream-importer/src/importer/connector.py b/external-import/stream-importer/src/importer/connector.py index 26fa5dd61ad..b8c9a26b03a 100644 --- a/external-import/stream-importer/src/importer/connector.py +++ b/external-import/stream-importer/src/importer/connector.py @@ -67,9 +67,11 @@ def __init__(self): if "/" in os.environ.get("MINIO_DST_PATH") else (os.environ.get("MINIO_DST_PATH"), "") ) - # Ensure S3 paths always end in '/' - self.minio_src_path = self.minio_src_path.rstrip("/") + "/" - self.minio_dst_path = self.minio_dst_path.rstrip("/") + "/" + # Ensure S3 paths always end in '/' (but keep empty path as "") + if self.minio_src_path: + self.minio_src_path = self.minio_src_path.rstrip("/") + "/" + if self.minio_dst_path: + self.minio_dst_path = self.minio_dst_path.rstrip("/") + "/" # Reject the unsafe ``src bucket == dst bucket AND dst_path is # empty`` configuration up front. The ``bucket_exists`` / # ``make_bucket`` plumbing below cannot defend this case