When a request is interrupted (by the browser), containers typically throw a subclass of IOException (Tomcat throws a org.apache.catalina.connector.ClientAbortException, Jetty throws an org.mortbay.jetty.EofException, ...). We already treat this in a few places: (look for catch (IOException) snippet)
We could do the exact same thing in CacheFilter. We already catch all exceptions; checking if it's an IO and swallowing it there isn't perfect or ideal, but at least it'll be consistent with the rest. (In this specific case we need to make we still unlock the cache if needed).
After discussions, we decided to do this in UseCache instead, thus avoiding accidentally swallowing IOExceptions coming from further down the chain.
Centralize and avoid code duplication; would allow for smarter/more complete handling of this. See MAGNOLIA-5113.
bundle (integration tests) occasionally fail because of the following error:
This sometimes also happens locally now...