Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
Servlets Post 2.3.36
-
None
Description
When the SlingPostServlet receives a PersistenceExceptions (e.g. when trying to POST to a read-only resource), Resource at '...' is not modifiable, then a 500 is returned
This is similar to SLING-9896, but has a different code path.
Example stacktrace:
03.01.2022 10:45:54.476 *ERROR* [179.60.150.135 [1641206754473] POST /content/dpc/inpro-seal//it/search.html HTTP/1.1] org.apache.sling.servlets.post.impl.operations.ModifyOperation Exception during response processing. org.apache.sling.api.resource.PersistenceException: Resource at '/content/dpc/inpro-seal/it/search' is not modifiable. at org.apache.sling.servlets.post.impl.helper.SlingPropertyValueHandler.setProperty(SlingPropertyValueHandler.java:114) [org.apache.sling.servlets.post:2.4.2] at org.apache.sling.servlets.post.impl.operations.ModifyOperation.writeContent(ModifyOperation.java:372) [org.apache.sling.servlets.post:2.4.2] at org.apache.sling.servlets.post.impl.operations.ModifyOperation.doRun(ModifyOperation.java:93) [org.apache.sling.servlets.post:2.4.2] at org.apache.sling.servlets.post.impl.operations.AbstractPostOperation.run(AbstractPostOperation.java:105) [org.apache.sling.servlets.post:2.4.2] at org.apache.sling.servlets.post.impl.SlingPostServlet.doPost(SlingPostServlet.java:243) [org.apache.sling.servlets.post:2.4.2] at org.apache.sling.api.servlets.SlingAllMethodsServlet.mayService(SlingAllMethodsServlet.java:146) [org.apache.sling.api:2.22.0] at org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:342) [org.apache.sling.api:2.22.0] at org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:374) [org.apache.sling.api:2.22.0] at org.apache.sling.engine.impl.request.RequestData.service(RequestData.java:552) [org.apache.sling.engine:2.7.2] at org.apache.sling.engine.impl.filter.SlingComponentFilterChain.render(SlingComponentFilterChain.java:44) [org.apache.sling.engine:2.7.2]
public void run(final SlingHttpServletRequest request, final PostResponse response, final SlingPostProcessor[] processors) throws PreconditionViolatedPersistenceException, TemporaryPersistenceException { final VersioningConfiguration versionableConfiguration = getVersioningConfiguration(request); try { ... doRun(request, response, changes); <<== here ... } catch (Exception e) { log.error("Exception during response processing.", e); response.setError(e); } finally { ... } }
Attachments
Issue Links
- causes
-
SLING-10366 Adjust HTTP status codes for SlingPostServlet integration tests
- Closed
- duplicates
-
SLING-9441 Sling POST servlet responds with 500 if target is not modifiable
- Resolved
- is a clone of
-
SLING-9896 change statuscode in SlingPostServlet for PersistenceException
- Closed