Node copy with :replace fails
-----------------------------
Key: SLING-1083
URL: https://issues.apache.org/jira/browse/SLING-1083
Project: Sling
Issue Type: Bug
Affects Versions: Servlets Post 2.0.2
Environment: J2SE 1.6.0_14-b08, Debian Linux
Reporter: Arthur Taylor
Attachments: test-replace.sh
Attempting to copy a node to the location of an existing node fails with a
PathNotFoundException, generated by the call to session.getItem() at line 136
of AbstractMoveCopyOperation.java. The attached script demonstrates the failure.
By introducing a breakpoint in CopyOperation.java's copy(Node src, Node
dstParent, String name) anywhere after the replacement node is created (line
109), I've been able to make requests succeed. It seems as though there must be
a race or a caching issue there.
Stack trace:
13.08.2009 13:16:10.374 *ERROR* [127.0.0.1 [1250165770368] POST /d1 HTTP/1.1]
org.apache.sling.servlets.post.impl.operations.CopyOperation Exception during
response processing. javax.jcr.PathNotFoundException: /d2
at org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:442)
at org.apache.jackrabbit.core.SessionImpl.getItem(SessionImpl.java:805)
at
org.apache.sling.jcr.base.internal.PooledSession.getItem(PooledSession.java:158)
at
org.apache.sling.servlets.post.impl.operations.AbstractCopyMoveOperation.doRun(AbstractCopyMoveOperation.java:136)
at
org.apache.sling.servlets.post.AbstractSlingPostOperation.run(AbstractSlingPostOperation.java:87)
at
org.apache.sling.servlets.post.impl.SlingPostServlet.doPost(SlingPostServlet.java:172)
at
org.apache.sling.api.servlets.SlingAllMethodsServlet.mayService(SlingAllMethodsServlet.java:143)
at
org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:338)
at
org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:369)
at
org.apache.sling.engine.impl.request.RequestData.service(RequestData.java:520)
at
org.apache.sling.engine.impl.SlingMainServlet.processRequest(SlingMainServlet.java:409)
at
org.apache.sling.engine.impl.filter.RequestSlingFilterChain.render(RequestSlingFilterChain.java:48)
at
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:59)
at
org.apache.sling.engine.impl.debug.RequestProgressTrackerLogFilter.doFilter(RequestProgressTrackerLogFilter.java:59)
at
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:57)
at
org.apache.sling.engine.impl.SlingMainServlet.service(SlingMainServlet.java:296)
at
org.apache.sling.engine.impl.SlingMainServlet.service(SlingMainServlet.java:183)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389)
at
org.ops4j.pax.web.service.internal.HttpServiceServletHandler.handle(HttpServiceServletHandler.java:64)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at
org.ops4j.pax.web.service.internal.HttpServiceContext.handle(HttpServiceContext.java:111)
at
org.ops4j.pax.web.service.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:64)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)
at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:880)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.