-
Type: Bug
-
Status: Resolved
-
Priority: Critical
-
Resolution: Fixed
-
Affects Version/s: 5.3.2
-
Fix Version/s: 5.5
-
Component/s: Web Common, WebDAV
-
Tags:
When transactions are activated, NuxeoRequestControllerFilter wraps the response in a CommittingServletResponseWrapper to ensure that a commit is done before any byte is sent to the client.
But this means that the rest of the server processing will be done without a transaction present, which could be worse than the original solution for the problem (NXP-5129). The problem is that if the rest of the code runs without a transaction, any session opening for instance will not get a session whose invalidations have been processed so will potentially see invalid state.
Instead should buffer the whole response, then commit in NuxeoRequestControllerFilter, then send the response. There should be a way to bypass this for processes that really need to stream a response to the client (file download).
- depends on
-
NXP-5129 Race condition on transaction commit when using NuxeoRequestControllerFilter
- Resolved
-
NXP-7196 don't commit active transaction until web response is committed
- Resolved
- is required by
-
NXP-8504 Fix transaction issues
- Resolved
-
NXP-8644 WebDAV file download does one useless file copy on filesystem
- Resolved
-
NXP-8239 Correctly flush servlet output
- Resolved
-
NXP-10964 Automation: ensure transaction is commited before Blob response is serialized to client
- Resolved