From e53061168be12a75b5e578b354a3806d919a09e2 Mon Sep 17 00:00:00 2001 From: brendanx67 Date: Wed, 11 Mar 2026 17:24:29 -0700 Subject: [PATCH] Fixed mutating SQL assertion in Tool Store download action * Wrapped recordToolDownload in ignoreSqlUpdates() for dev-mode compatibility Co-Authored-By: Claude --- .../skylinetoolsstore/SkylineToolsStoreController.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/SkylineToolsStore/src/org/labkey/skylinetoolsstore/SkylineToolsStoreController.java b/SkylineToolsStore/src/org/labkey/skylinetoolsstore/SkylineToolsStoreController.java index edcdb7de..a54bac74 100644 --- a/SkylineToolsStore/src/org/labkey/skylinetoolsstore/SkylineToolsStoreController.java +++ b/SkylineToolsStore/src/org/labkey/skylinetoolsstore/SkylineToolsStoreController.java @@ -1088,7 +1088,12 @@ else if (toolLsid != null && // Cookie expires after 1 day final int expires = 24 * 60 * 60; - SkylineToolsStoreManager.get().recordToolDownload(tool); + // Download counter is an incidental write on a GET action — use ignoreSqlUpdates() + // to avoid the dev-mode mutating SQL assertion (like auditing writes) + try (var ignored = SpringActionController.ignoreSqlUpdates()) + { + SkylineToolsStoreManager.get().recordToolDownload(tool); + } DateFormat df = new SimpleDateFormat("EEE, dd-MMM-yyyy HH:mm:ss 'GMT'", Locale.US); Calendar calendar = Calendar.getInstance();