Bug 50550 - PropFind 404 error after MkCol succes
PropFind 404 error after MkCol succes
Status: RESOLVED FIXED
Product: Tomcat 5
Classification: Unclassified
Component: Servlets:WebDAV
5.5.31
PC Windows XP
: P2 normal (vote)
: ---
Assigned To: Tomcat Developers Mailing List
:
Depends on:
Blocks:
  Show dependency tree
 
Reported: 2011-01-06 09:11 UTC by Maarten van Hulsentop
Modified: 2011-01-20 14:23 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Maarten van Hulsentop 2011-01-06 09:11:12 UTC
A propfind call on a resource returns a 404 error when executed after a mkcol for the same resource. The mkcol should be preceeded with a propfind to trigger the issue. 

Steps to reproduce - See the following access log;
  127.0.0.1 - - [06/Jan/2011:14:09:19 +0100] "PROPFIND /webdav/output/f469e3d6-e536-4072-82da-d989acaf57a2/ HTTP/1.1" 404 1084
  127.0.0.1 - - [06/Jan/2011:14:09:19 +0100] "MKCOL /webdav/output/f469e3d6-e536-4072-82da-d989acaf57a2/ HTTP/1.1" 201 -
  127.0.0.1 - - [06/Jan/2011:14:09:19 +0100] "PROPFIND /webdav/output/f469e3d6-e536-4072-82da-d989acaf57a2/ HTTP/1.1" 404 1084

When the first request would be omitted, the third request would have been succesful, as the following access log shows;
  127.0.0.1 - - [06/Jan/2011:14:10:39 +0100] "MKCOL /webdav/output/81a97360-ea49-44d3-b764-d8c7e60e885e/ HTTP/1.1" 201 -
  127.0.0.1 - - [06/Jan/2011:14:10:39 +0100] "PROPFIND /webdav/output/81a97360-ea49-44d3-b764-d8c7e60e885e/ HTTP/1.1" 207 628

Note: After a few seconds, the response to propfind for that resource is OK again. This suggests this has to do with caching.

Note2: This situation sounds similar to call 21288 (FIXED - 'DirContext caching problem with Dreamweaver 6 when recursively creating directories').

Reproducable using a jackrabbit client;

____
    HttpClient client = new HttpClient();

    String newDir = "http://localhost:8080/webdav/output/" + UUID.randomUUID() + "/";

    // Comment out this request to make second propfind succesful
    HttpMethod propFindMethod1 = new PropFindMethod(newDir);
    client.executeMethod(propFindMethod1);
    propFindMethod1.releaseConnection();

    HttpMethod mkcolMethod = new MkColMethod(newDir);
    client.executeMethod(mkcolMethod);
    mkcolMethod.releaseConnection();

    HttpMethod propFindMethod = new PropFindMethod(newDir);
    client.executeMethod(propFindMethod);
    propFindMethod.releaseConnection();
____
Comment 1 Mark Thomas 2011-01-06 13:12:33 UTC
Fixed in 7.0.x and will be included in 7.0.6 onwards.

Proposed for 6.0.x and 5.5.x.
Comment 2 Mark Thomas 2011-01-20 12:03:35 UTC
Fixed in 6.0.x and will be included in 6.0.31 onwards.
Comment 3 Mark Thomas 2011-01-20 12:17:20 UTC
Fixed in 5.5.x and will be included in 5.5.32 onwards.
Comment 4 Jim Jagielski 2011-01-20 14:23:43 UTC
Will be in 5.5.32