[ https://issues.apache.org/jira/browse/SLING-11038?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17879930#comment-17879930 ]
Joerg Hoh edited comment on SLING-11038 at 9/6/24 5:24 PM: ----------------------------------------------------------- Redundant, as in 2.4.4 more code has been converted not to throw a PersistenceException anymore (SLING-10087). Also including the {{doRun}} call into the {{try-catch}} clause does not change any behavior. Thus marking it as duplicate. was (Author: joerghoh): Mostly redundant, as in 2.4.4 more code has been converted not to throw a PersistenceException anymore (SLING-10087). Also including the {{doRun}} call into the {{try-catch}} clause does not change any behavior. Thus marking it as duplicate. > Change statuscode in SlingPostServlet for PersistenceException, take 2 > ---------------------------------------------------------------------- > > Key: SLING-11038 > URL: https://issues.apache.org/jira/browse/SLING-11038 > Project: Sling > Issue Type: Improvement > Components: Servlets > Affects Versions: Servlets Post 2.3.36 > Reporter: Thomas Mueller > Assignee: Robert Munteanu > Priority: Major > > 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: > {noformat} > 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] > {noformat} > The problem is in > https://github.com/apache/sling-org-apache-sling-servlets-post/blob/org.apache.sling.servlets.post-2.4.2/src/main/java/org/apache/sling/servlets/post/impl/operations/AbstractPostOperation.java#L105 > {noformat} > 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 { > ... > } > } > {noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010)