tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Philippe <d4naqaakgrnq6gizaigaqaaaaa...@protected32.unixadm.org>
Subject tomcat8: delayed file operations with webdav
Date Tue, 01 Jul 2014 16:37:00 GMT
Hi,


I'm about to set up a webdav server on a stock Tomcat 8.0.9 (RHEL 6.5 
x86_64). To do so, I installed a dummy application with the web.xml 
attached to this message, altered the conf/tomcat-users.xml and started 
the tomcat server.

Now when uploading a file it doesn't show up immediately. Which is quite 
confusing for an application that does a PROPFIND right after PUTting 
the file, which results in a 404. Or, even worse, in a 500 when trying 
to MOVE or COPY the file.

Example:

(1)
> dav:/webdav/> ls
> Listing collection `/webdav/': collection is empty.
> dav:/webdav/> put testfile.bin
> Uploading testfile.bin to `/webdav/testfile.bin':
> Progress: [=============================>] 100,0% of 102400 bytes succeeded.
> dav:/webdav/> propget testfile.bin
> Fetching properties for `testfile.bin': failed:
> 404 Not Found
[now I'm waiting for a couple of seconds]
> dav:/webdav/> propget testfile.bin
> Fetching properties for `testfile.bin':
> DAV: creationdate = 2014-07-01T16:29:35Z
> DAV: displayname = testfile.bin
> DAV: getlastmodified = Tue, 01 Jul 2014 16:29:35 GMT
> DAV: getcontentlength = 102400
> DAV: getcontenttype = application/octet-stream
> DAV: getetag = W/"102400-1404232175000"
> DAV: resourcetype =
> DAV: source =
> DAV: supportedlock = <DAV:lockentry><DAV:lockscope><DAV:exclusive></DAV:exclusive></DAV:lockscope><DAV:locktype><DAV:write></DAV:write></DAV:locktype></DAV:lockentry><DAV:lockentry><DAV:lockscope><DAV:shared></DAV:shared></DAV:lockscope><DAV:locktype><DAV:write></DAV:write></DAV:locktype></DAV:lockentry>

(2)
> dav:/webdav/> rm testfile.bin
> Deleting `testfile.bin': succeeded.
> dav:/webdav/> ls
> Listing collection `/webdav/': collection is empty.
> dav:/webdav/> put testfile.bin testfile.bin.tmp
> Uploading testfile.bin to `/webdav/testfile.bin.tmp':
> Progress: [=============================>] 100,0% of 102400 bytes succeeded.
> dav:/webdav/> move testfile.bin.tmp testfile.bin
> Moving `/webdav/testfile.bin.tmp' to `/webdav/testfile.bin':  failed:
> 500 Internal Server Error
[again, waiting for a couple of seconds]
> dav:/webdav/> move testfile.bin.tmp testfile.bin
> Moving `/webdav/testfile.bin.tmp' to `/webdav/testfile.bin':  succeeded.

Why is tomcat behaving like this and how do I configure it to allow 
immediate file operations after upload?

AFAICT this is not a client issue. I've tested with cadaver, the Gnome 
and KDE file browsers and owncloud.


Kind regards,

Philippe

Mime
View raw message