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)