WebDAV Lock error
Saturday, 21 February 2015 · 3 messages · last reply 22 Feb 2015
AJ
Andreas Jung21 Feb 2015 10:48 #
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi there,
some more WebDAV issues (tested against the 8.1 snapshot from yesterday).
- - connecting with cadaver and locking a file twice causes a HTTP 500 error on the cadaver side and BaseX fails with this exception:
[qtp2029686239-17] INFO com.bradmcevoy.http.HttpManager - PROPFIND :: http://dev1.veit-schiele.de:8984/webdav/scripts/backup.xql - http://dev1.veit-schiele.de:8984/webdav/scripts/backup.xql
[qtp2029686239-16] INFO com.bradmcevoy.http.HttpManager - LOCK :: http://dev1.veit-schiele.de:8984/webdav/scripts/backup.xql - http://dev1.veit-schiele.de:8984/webdav/scripts/backup.xql
[qtp2029686239-16] ERROR com.bradmcevoy.http.StandardFilter - process java.lang.NullPointerException
at
com.bradmcevoy.http.webdav.LockHandler.respondWithToken(LockHandler.java:274) at
com.bradmcevoy.http.webdav.LockHandler.processRefresh(LockHandler.java:256) at
com.bradmcevoy.http.webdav.LockHandler.processExistingResource(LockHandler.java:112) at com.bradmcevoy.http.webdav.LockHandler.process(LockHandler.java:86) at com.bradmcevoy.http.StandardFilter.process(StandardFilter.java:52) at com.bradmcevoy.http.FilterChain.process(FilterChain.java:40) at com.bradmcevoy.http.HttpManager.process(HttpManager.java:228) at org.basex.http.webdav.WebDAVServlet.run(WebDAVServlet.java:43) at org.basex.http.BaseXServlet.service(BaseXServlet.java:64) at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684) at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503) at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557) at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429) 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.HandlerWrapper.handle(HandlerWrapper.java:116) at org.eclipse.jetty.server.Server.handle(Server.java:370)
at
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494) at
org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982) at
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240) at
org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) at
org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696) at
org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53) 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(Unknown Source)
. 2nd problem: locking the same file twice works when I disconnect and reconnect with cadaver:
.....
dav:/webdav/scripts/> lock backup.xql
Locking `backup.xql': succeeded.
dav:/webdav/scripts/>
Connection to `dev1.veit-schiele.de' closed.
Suxmac:~ ajung$ cadaver http://dev1.veit-schiele.de:8984/webdav Authentication required for BaseX on server `dev1.veit-schiele.de': Username: admin
Password:
dav:/webdav/> cd scripts
dav:/webdav/scripts/> lock backup.xql
Locking `backup.xql': succeeded.
It is nice that the 2nd lock call works however this indicates that locking does not work at all since a lock should persist across connections.
Andreas
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iQGUBAEBAgAGBQJU6FRtAAoJEADcfz7u4AZjmOILv0B5T2l3tMIhLzCOljWLMw7R aC8H0dqOo/KtBV750eNAGpzmxGpFSd59SB35C2lrBOleCOIjI9fm/JzhCa0Mw2/J m1lLRAn9uK9i0uq7B7TKVlXf4N6vatZ8eecVs9KPBs0PB7D/G/GBl6ws9MfVY8QX g3OEa3A+Wi/FlMy0VDuVysYtvfs9CqGWe1etemYSA1u9z1dMN54ZkQKWKuoEi7mZ 9WPUNSF6A9kw5u6ACaTt2Qx7chzPreRckw9JmipVmv4xdZL1xWkW8yZGADL5jf94 egb0qzWrYSjSkrV/4lNkCgDoW0/+IebXq1lDC2/nQtwgyumi0jyNzWy9jKtziM6G WqUt1XM+A1buttMQ5+Z3WGZ1QdCd2yhoOT75bQTkhjuDBZTCiQwHabYgIPgfWHZX BNYE90SrBdRYIR/9n0q2+aG0oPEKlMWeDCVMAS35Q9naczYdl6jtVAJuiJ7KsvU4 QAQ3as+p2rAuUF2S1RXdIZ6m3VGL0Uw=
=xLzv
-----END PGP SIGNATURE-----
CG
Christian Grün22 Feb 2015 16:17 #
Hi Andreas,
I think I fixed two important issues in our WebDAV server
implementation. I tested locking simultaneously with cadaver and oXygen, and I hope you are more successful now.
Looking forward to your feedback,
Christian
Quoted text · Andreas Jung · 106 lines
> some more WebDAV issues (tested against the 8.1 snapshot from yesterday). > > - - connecting with cadaver and locking a file twice causes a HTTP > 500 error on the cadaver side and BaseX fails with this exception: > > [qtp2029686239-17] INFO com.bradmcevoy.http.HttpManager - PROPFIND :: > http://dev1.veit-schiele.de:8984/webdav/scripts/backup.xql - > http://dev1.veit-schiele.de:8984/webdav/scripts/backup.xql > [qtp2029686239-16] INFO com.bradmcevoy.http.HttpManager - LOCK :: > http://dev1.veit-schiele.de:8984/webdav/scripts/backup.xql - > http://dev1.veit-schiele.de:8984/webdav/scripts/backup.xql > [qtp2029686239-16] ERROR com.bradmcevoy.http.StandardFilter - process > java.lang.NullPointerException > at > com.bradmcevoy.http.webdav.LockHandler.respondWithToken(LockHandler.java:274) > at > com.bradmcevoy.http.webdav.LockHandler.processRefresh(LockHandler.java:256) > at > com.bradmcevoy.http.webdav.LockHandler.processExistingResource(LockHandler.java:112) > at com.bradmcevoy.http.webdav.LockHandler.process(LockHandler.java:86) > at com.bradmcevoy.http.StandardFilter.process(StandardFilter.java:52) > at com.bradmcevoy.http.FilterChain.process(FilterChain.java:40) > at com.bradmcevoy.http.HttpManager.process(HttpManager.java:228) > at org.basex.http.webdav.WebDAVServlet.run(WebDAVServlet.java:43) > at org.basex.http.BaseXServlet.service(BaseXServlet.java:64) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) > at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684) > at > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) > at > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557) > at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) > at > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429) > 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.HandlerWrapper.handle(HandlerWrapper.java:116) > at org.eclipse.jetty.server.Server.handle(Server.java:370) > at > org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494) > at > org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982) > at > org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043) > at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865) > at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240) > at > org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) > at > org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696) > at > org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53) > 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(Unknown Source) > > > . 2nd problem: locking the same file twice works when I disconnect and > reconnect with cadaver: > > ..... > dav:/webdav/scripts/> lock backup.xql > Locking `backup.xql': succeeded. > dav:/webdav/scripts/> > Connection to `dev1.veit-schiele.de' closed. > > Suxmac:~ ajung$ cadaver http://dev1.veit-schiele.de:8984/webdav > Authentication required for BaseX on server `dev1.veit-schiele.de': > Username: admin > Password: > dav:/webdav/> cd scripts > dav:/webdav/scripts/> lock backup.xql > Locking `backup.xql': succeeded. > > It is nice that the 2nd lock call works however this indicates > that locking does not work at all since a lock should persist > across connections. > > Andreas > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.11 (Darwin) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ > > iQGUBAEBAgAGBQJU6FRtAAoJEADcfz7u4AZjmOILv0B5T2l3tMIhLzCOljWLMw7R > aC8H0dqOo/KtBV750eNAGpzmxGpFSd59SB35C2lrBOleCOIjI9fm/JzhCa0Mw2/J > m1lLRAn9uK9i0uq7B7TKVlXf4N6vatZ8eecVs9KPBs0PB7D/G/GBl6ws9MfVY8QX > g3OEa3A+Wi/FlMy0VDuVysYtvfs9CqGWe1etemYSA1u9z1dMN54ZkQKWKuoEi7mZ > 9WPUNSF6A9kw5u6ACaTt2Qx7chzPreRckw9JmipVmv4xdZL1xWkW8yZGADL5jf94 > egb0qzWrYSjSkrV/4lNkCgDoW0/+IebXq1lDC2/nQtwgyumi0jyNzWy9jKtziM6G > WqUt1XM+A1buttMQ5+Z3WGZ1QdCd2yhoOT75bQTkhjuDBZTCiQwHabYgIPgfWHZX > BNYE90SrBdRYIR/9n0q2+aG0oPEKlMWeDCVMAS35Q9naczYdl6jtVAJuiJ7KsvU4 > QAQ3as+p2rAuUF2S1RXdIZ6m3VGL0Uw= > =xLzv > -----END PGP SIGNATURE-----
AJ
Andreas Jung22 Feb 2015 16:56 #
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Quoted text · Christian Grün · 8 lines
Christian Grün wrote: > Hi Andreas, > > I think I fixed two important issues in our WebDAV server > implementation. I tested locking simultaneously with cadaver and > oXygen, and I hope you are more successful now. > > Looking forward to your feedback, Christian
Locks much better now :-)
Thanks
Andreas
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iQGUBAEBAgAGBQJU6fwnAAoJEADcfz7u4AZjW6ELv3BNZVVM9u1phP6OO6VzShaz U4YwxeTFA+jzypk+/U8RcO/EOR0WCpvb8PXej4JeScv+WNhBXhC3cle0SdjhaW5r brEHD56nKn+0vYQ3CBkE6Q8ulrR+HMhs/GIy7faMiIDeqPgDA0z2nXyI17jP6OWE vTl4IH0BTcfzLMffER1SsPxXEs6cmSkhdaGjqbHyP6Ar4lyUsA8HxGL6R2IGhvIp BOYkdHH34qJs+w9HnR87uYMWwK+L//8r9//8FpFhQyzz+R1jpA6v3QAxYLX8/P9U rTPm1xLoQXjzXq1Xbzh1QAeDltNO3vU+Aec/QvXOETd5NW62j5TkPdMNloZDHDXq zjVhbyHn699Qt2AhxV5O6DBG7sPsqvixsWICB1bknB1uJVpjJffhTaRDwhpE45AW 31SIoLxm8cyjiYcGJpqRz6qc52k/YykF3JuFJ2F+wKiUZoJFkEJkqfUwK+jTbfPX Egv/I9y7nsxuEWD68wpGVmrkxdYXglk=
=1pg6
-----END PGP SIGNATURE-----
Written for BaseX 8.0. BaseX may have changed since: please check the current documentation.
⚡Generated with XQuery