Bruce Edge created SLING-4222:
---------------------------------

             Summary: WebDAV and many javax.jcr.RepositoryException: not a 
token for an open-scoped JCR lock: opaquelocktoken exceptions
                 Key: SLING-4222
                 URL: https://issues.apache.org/jira/browse/SLING-4222
             Project: Sling
          Issue Type: Bug
          Components: JCR
    Affects Versions: Launchpad Builder 8
         Environment: linux
Webdav mounted with davfs using:
{{
mount -t davfs -o gid=sling,rw,uid=sling,username=admin  http://localhost:8090 
/mnt/jcr

%> mount  | grep 8090
http://localhost:8090 on /mnt/jcr type davfs 
(rw,nosuid,nodev,_netdev,gid=999,uid=1009)
}}

            Reporter: Bruce Edge


I have basic content extraction working with webdav. However the results are 
inconsistent. Re-running the same recursive zip extraction drops different 
files each time.
I’m seeing this exception in the logs for each file that’s missing in the final 
output.

I'm creating the node from a sling job consumer, then calling a method to 
unpack into the webdav folder:
{quote}
                        adminResolver = 
resolverFactory.getAdministrativeResourceResolver(null);
                        adminSession = adminResolver.adaptTo(Session.class);
                        Workspace workspace = adminSession.getWorkspace();
                        Node destinationNode = 
JcrUtils.getOrCreateByPath(destination, JcrResourceConstants.NT_SLING_FOLDER, 
adminSession);
                        adminSession.save();
                        File destinationFile = new 
File(NimJcrConstants.WEBDAV_ROOT + destinationNode.getPath());
                        unpack(sourceFile, destinationFile);
{quote}

Full trace:
{{
05.12.2014 12:06:06.313 *DEBUG* [127.0.0.1 [1417809966281] UNLOCK 
/content/ZP/2013/2013_01_03/IPAD/1024x76815/Folio.xml HTTP/1.1] 
org.apache.sling.servlets.resolver.internal.SlingServletResolver resolveServlet 
called for resource NonExistingResource, 
path=/content/ZP/2013/2013_01_03/IPAD/1024x76815/Folio.xml
05.12.2014 12:06:06.313 *DEBUG* [127.0.0.1 [1417809966281] UNLOCK 
/content/ZP/2013/2013_01_03/IPAD/1024x76815/Folio.xml HTTP/1.1] 
org.apache.sling.servlets.resolver.internal.SlingServletResolver Using cached 
servlet org.apache.sling.jcr.webdav.impl.servlets.SimpleWebDavServlet
05.12.2014 12:06:06.313 *DEBUG* [127.0.0.1 [1417809966281] UNLOCK 
/content/ZP/2013/2013_01_03/IPAD/1024x76815/Folio.xml HTTP/1.1] 
org.apache.sling.servlets.resolver.internal.SlingServletResolver 
getServletInternal returns servlet 
org.apache.sling.jcr.webdav.impl.servlets.SimpleWebDavServlet
05.12.2014 12:06:06.313 *DEBUG* [127.0.0.1 [1417809966281] UNLOCK 
/content/ZP/2013/2013_01_03/IPAD/1024x76815/Folio.xml HTTP/1.1] 
org.apache.sling.servlets.resolver.internal.SlingServletResolver Servlet 
org.apache.sling.jcr.webdav.impl.servlets.SimpleWebDavServlet found for 
resource=NonExistingResource, 
path=/content/ZP/2013/2013_01_03/IPAD/1024x76815/Folio.xml
05.12.2014 12:06:06.313 *DEBUG* [127.0.0.1 [1417809966281] UNLOCK 
/content/ZP/2013/2013_01_03/IPAD/1024x76815/Folio.xml HTTP/1.1] 
org.apache.sling.engine.impl.request.RequestData Servlet call counter : 0
05.12.2014 12:06:06.314 *DEBUG* [127.0.0.1 [1417809966281] UNLOCK 
/content/ZP/2013/2013_01_03/IPAD/1024x76815/Folio.xml HTTP/1.1] 
org.apache.jackrabbit.webdav.header.IfHeader IfHeader: No If header in request
05.12.2014 12:06:06.314 *DEBUG* [127.0.0.1 [1417809966281] UNLOCK 
/content/ZP/2013/2013_01_03/IPAD/1024x76815/Folio.xml HTTP/1.1] 
org.apache.jackrabbit.webdav.simple.DavSessionProviderImpl Attaching session 
'org.apache.jackrabbit.webdav.simple.DavSessionImpl@123f907b' to request 
'org.apache.jackrabbit.webdav.WebdavRequestImpl@b268499'
05.12.2014 12:06:06.315 *DEBUG* [127.0.0.1 [1417809966281] UNLOCK 
/content/ZP/2013/2013_01_03/IPAD/1024x76815/Folio.xml HTTP/1.1] 
org.apache.jackrabbit.webdav.jcr.JcrDavSession trying to add lock token 
opaquelocktoken:f1816b43-97d1-481e-b77b-cc96572d3ef8 to session
javax.jcr.RepositoryException: not a token for an open-scoped JCR lock: 
opaquelocktoken:f1816b43-97d1-481e-b77b-cc96572d3ef8
        at 
org.apache.jackrabbit.webdav.jcr.lock.LockTokenMapper.getJcrLockToken(LockTokenMapper.java:67)
        at 
org.apache.jackrabbit.webdav.jcr.JcrDavSession.addLockToken(JcrDavSession.java:104)
        at 
org.apache.jackrabbit.webdav.simple.DavSessionImpl.addLockToken(DavSessionImpl.java:61)
        at 
org.apache.jackrabbit.webdav.WebdavRequestImpl.setDavSession(WebdavRequestImpl.java:137)
        at 
org.apache.jackrabbit.webdav.simple.DavSessionProviderImpl.attachSession(DavSessionProviderImpl.java:92)
        at 
org.apache.jackrabbit.webdav.server.AbstractWebdavServlet.service(AbstractWebdavServlet.java:275)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at 
org.apache.sling.engine.impl.request.RequestData.service(RequestData.java:533)
        at 
org.apache.sling.engine.impl.filter.SlingComponentFilterChain.render(SlingComponentFilterChain.java:45)
        at 
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:64)
        at 
org.apache.sling.engine.impl.SlingRequestProcessorImpl.processComponent(SlingRequestProcessorImpl.java:282)
        at 
org.apache.sling.engine.impl.filter.RequestSlingFilterChain.render(RequestSlingFilterChain.java:49)
        at 
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:64)
        at org.apache.sling.i18n.impl.I18NFilter.doFilter(I18NFilter.java:129)
        at 
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
        at 
org.apache.sling.engine.impl.debug.RequestProgressTrackerLogFilter.doFilter(RequestProgressTrackerLogFilter.java:95)
        at 
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
        at 
org.apache.sling.engine.impl.SlingRequestProcessorImpl.doProcessRequest(SlingRequestProcessorImpl.java:151)
        at 
org.apache.sling.engine.impl.SlingMainServlet.service(SlingMainServlet.java:217)
        at 
org.apache.felix.http.base.internal.handler.ServletHandler.doHandle(ServletHandler.java:339)
        at 
org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:300)
        at 
org.apache.felix.http.base.internal.dispatch.ServletPipeline.handle(ServletPipeline.java:93)
        at 
org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:50)
        at 
org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
        at org.apache.sling.i18n.impl.I18NFilter.doFilter(I18NFilter.java:129)
        at 
org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:108)
        at 
org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:80)
        at 
org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:46)
        at 
org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
        at 
org.apache.sling.engine.impl.log.RequestLoggerFilter.doFilter(RequestLoggerFilter.java:75)
        at 
org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:108)
        at 
org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:80)
        at 
org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:46)
        at 
org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
        at 
org.apache.felix.http.base.internal.dispatch.FilterPipeline.dispatch(FilterPipeline.java:76)
        at 
org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:49)
        at 
org.apache.felix.http.base.internal.DispatcherServlet.service(DispatcherServlet.java:67)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at 
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
        at 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)
        at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:229)
        at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
        at 
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
        at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
        at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
        at 
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
        at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
        at org.eclipse.jetty.server.Server.handle(Server.java:366)
        at 
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
        at 
org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971)
        at 
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033)
        at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
        at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
        at 
org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
        at 
org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667)
        at 
org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
        at java.lang.Thread.run(Thread.java:745)
}}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to