diff --git a/api/src/org/labkey/api/data/TransactionFilter.java b/api/src/org/labkey/api/data/TransactionFilter.java index 85f256dd444..42428dff9a5 100644 --- a/api/src/org/labkey/api/data/TransactionFilter.java +++ b/api/src/org/labkey/api/data/TransactionFilter.java @@ -117,7 +117,14 @@ public void moduleStartupComplete(ServletContext servletContext) { RequestTracker tracker = entry.getValue(); Thread thread = entry.getKey(); - Object readOnly = tracker.request.getAttribute(READ_ONLY_ATTRIBUTE_NAME); + + Object readOnly = Boolean.FALSE; + try + { + readOnly = tracker.request.getAttribute(READ_ONLY_ATTRIBUTE_NAME); + } + catch (IllegalStateException ignored) {} // Ignore when the request has already been recycled + if (Boolean.TRUE.equals(readOnly) && tracker.startTime < cutoff) { try (DbScope.ConnectionSharingCloseable ignored = DbScope.shareConnections(thread, Thread.currentThread()))