-
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
-