From cc697251cfd9f1b57f0da36d3c047688e3261caa Mon Sep 17 00:00:00 2001 From: mvdbeek Date: Thu, 9 Apr 2026 11:13:27 +0200 Subject: [PATCH 1/3] Downgrade data_source_redirect missing tool log to warning Fixes https://github.com/galaxyproject/galaxy/issues/22428 --- lib/galaxy/webapps/galaxy/controllers/tool_runner.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/galaxy/webapps/galaxy/controllers/tool_runner.py b/lib/galaxy/webapps/galaxy/controllers/tool_runner.py index 04d1c5816e2..fb814ec94a1 100644 --- a/lib/galaxy/webapps/galaxy/controllers/tool_runner.py +++ b/lib/galaxy/webapps/galaxy/controllers/tool_runner.py @@ -173,7 +173,7 @@ class ToolRunner(BaseUIController): tool = self.__get_tool(tool_id) # No tool matching the tool id, display an error (shouldn't happen) if not tool: - log.error("data_source_redirect called with tool id '%s' but no such tool exists", tool_id) + log.warning("data_source_redirect called with tool id '%s' but no such tool exists", tool_id) trans.log_event(f"Tool id '{tool_id}' does not exist") trans.response.status = 404 return trans.show_error_message(f"Tool '{escape(tool_id)}' does not exist.") From b3a1b47b8ae4ca7715daf6980bb7c8cd09b1ac78 Mon Sep 17 00:00:00 2001 From: mvdbeek Date: Thu, 9 Apr 2026 11:13:32 +0200 Subject: [PATCH 2/3] Raise ReferenceDataError instead of AttributeError for missing genome reference data Fixes https://github.com/galaxyproject/galaxy/issues/22430 --- lib/galaxy/managers/genomes.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/galaxy/managers/genomes.py b/lib/galaxy/managers/genomes.py index 66fc2833e4f..1915a23f144 100644 --- a/lib/galaxy/managers/genomes.py +++ b/lib/galaxy/managers/genomes.py @@ -46,12 +46,16 @@ class GenomesManager: ) -> Any: if reference: region = self.genomes.reference(trans, dbkey=id, chrom=chrom, low=low, high=high) + if region is None: + raise ReferenceDataError(f"No reference data for {id}") return {"dataset_type": "refseq", "data": region.sequence} else: return self.genomes.chroms(trans, dbkey=id, num=num, chrom=chrom, low=low) def get_sequence(self, trans: ProvidesUserContext, id: str, chrom: str, low: int, high: int) -> Any: region = self.genomes.reference(trans, dbkey=id, chrom=chrom, low=low, high=high) + if region is None: + raise ReferenceDataError(f"No reference data for {id}") return region.sequence def get_indexes(self, id: str, index_type: str) -> Any: From 3701c83e7575972af99119b29861450a42ad73d3 Mon Sep 17 00:00:00 2001 From: mvdbeek Date: Thu, 9 Apr 2026 11:13:35 +0200 Subject: [PATCH 3/3] Downgrade data_source_redirect missing tool log to debug Fixes https://github.com/galaxyproject/galaxy/issues/22428 --- lib/galaxy/webapps/galaxy/controllers/history.py | 2 +- lib/galaxy/webapps/galaxy/controllers/tool_runner.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/galaxy/webapps/galaxy/controllers/history.py b/lib/galaxy/webapps/galaxy/controllers/history.py index f32ebfa898e..be859074627 100644 --- a/lib/galaxy/webapps/galaxy/controllers/history.py +++ b/lib/galaxy/webapps/galaxy/controllers/history.py @@ -53,7 +53,7 @@ class HistoryController(BaseUIController, SharableMixin, UsesAnnotations, UsesIt return "" @expose_api_anonymous - def view(self, trans, id=None, show_deleted=False, show_hidden=False, use_panels=True): + def view(self, trans, id=None, show_deleted=False, show_hidden=False, use_panels=True, **kwargs): """ View a history. If a history is importable, then it is viewable by any user. """ diff --git a/lib/galaxy/webapps/galaxy/controllers/tool_runner.py b/lib/galaxy/webapps/galaxy/controllers/tool_runner.py index fb814ec94a1..5f1fdac9300 100644 --- a/lib/galaxy/webapps/galaxy/controllers/tool_runner.py +++ b/lib/galaxy/webapps/galaxy/controllers/tool_runner.py @@ -173,7 +173,7 @@ class ToolRunner(BaseUIController): tool = self.__get_tool(tool_id) # No tool matching the tool id, display an error (shouldn't happen) if not tool: - log.warning("data_source_redirect called with tool id '%s' but no such tool exists", tool_id) + log.debug("data_source_redirect called with tool id '%s' but no such tool exists", tool_id) trans.log_event(f"Tool id '{tool_id}' does not exist") trans.response.status = 404 return trans.show_error_message(f"Tool '{escape(tool_id)}' does not exist.")