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.

Reply via email to