Closed GoogleCodeExporter closed 9 years ago
I cannot replicate the issue. We have a test in
FunctionalSardineTest#testRedirectPermanently that test the additional
automatic redirect strategies implemented for PROPFIND, HEAD and LOCK.
Original comment by dkocher@sudo.ch
on 17 Nov 2011 at 4:52
Hello,
i made some quick check with your test.
Indeed it sucess in listing.... The first time. If you request the same list
from sardine a second time it fails. list() is propably reusing some datas,
sees the same url on a move twice, but on different calls, and fail on
successive calls.
Code to reproduce:
@Test
public void testRedirectPermanently() throws Exception
{
Sardine sardine = SardineFactory.begin();
final String url = "http://sudo.ch/dav/anon/sardine";
try
{
// Test extended redirect handler for PROPFIND
List<DavResource> resources = sardine.list(url);
assertNotNull(resources);
resources = sardine.list(url);
assertNotNull(resources);
}
catch (SardineException e)
{
// Should handle a 301 response transparently
fail("Redirect handling failed");
}
}
suggested fix:
reset the redirect strategy before each request to sardine.
DefaultRedirectStrategy is a statefull objet.
output with wire debug:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further
details.
2011/11/17 18:11:54:629 CET [DEBUG] ThreadSafeClientConnManager - Get
connection: HttpRoute[{}->http://sudo.ch], timeout = 0
2011/11/17 18:11:54:634 CET [DEBUG] ConnPoolByRoute -
[HttpRoute[{}->http://sudo.ch]] total kept alive: 0, total issued: 0, total
allocated: 0 out of 20
2011/11/17 18:11:54:634 CET [DEBUG] ConnPoolByRoute - No free connections
[HttpRoute[{}->http://sudo.ch]][null]
2011/11/17 18:11:54:634 CET [DEBUG] ConnPoolByRoute - Available capacity: 2 out
of 2 [HttpRoute[{}->http://sudo.ch]][null]
2011/11/17 18:11:54:634 CET [DEBUG] ConnPoolByRoute - Creating new connection
[HttpRoute[{}->http://sudo.ch]]
2011/11/17 18:11:54:770 CET [DEBUG] DefaultClientConnectionOperator -
Connecting to sudo.ch:80
2011/11/17 18:11:54:808 CET [DEBUG] RequestAddCookies - CookieSpec selected:
best-match
2011/11/17 18:11:54:818 CET [DEBUG] RequestAuthCache - Auth cache not set in
the context
2011/11/17 18:11:54:818 CET [DEBUG] DefaultHttpClient - Attempt 1 to execute
request
2011/11/17 18:11:54:818 CET [DEBUG] DefaultClientConnection - Sending request:
PROPFIND /dav/anon/sardine HTTP/1.1
2011/11/17 18:11:54:818 CET [DEBUG] wire - >> "PROPFIND /dav/anon/sardine
HTTP/1.1[\r][\n]"
2011/11/17 18:11:54:819 CET [DEBUG] wire - >> "Depth: 1[\r][\n]"
2011/11/17 18:11:54:819 CET [DEBUG] wire - >> "Content-Type: text/xml;
charset=utf-8[\r][\n]"
2011/11/17 18:11:54:819 CET [DEBUG] wire - >> "Content-Length: 99[\r][\n]"
2011/11/17 18:11:54:819 CET [DEBUG] wire - >> "Host: sudo.ch[\r][\n]"
2011/11/17 18:11:54:819 CET [DEBUG] wire - >> "Connection: Keep-Alive[\r][\n]"
2011/11/17 18:11:54:820 CET [DEBUG] wire - >> "User-Agent:
Sardine/UNAVAILABLE[\r][\n]"
2011/11/17 18:11:54:820 CET [DEBUG] wire - >> "[\r][\n]"
2011/11/17 18:11:54:820 CET [DEBUG] headers - >> PROPFIND /dav/anon/sardine
HTTP/1.1
2011/11/17 18:11:54:820 CET [DEBUG] headers - >> Depth: 1
2011/11/17 18:11:54:820 CET [DEBUG] headers - >> Content-Type: text/xml;
charset=utf-8
2011/11/17 18:11:54:820 CET [DEBUG] headers - >> Content-Length: 99
2011/11/17 18:11:54:820 CET [DEBUG] headers - >> Host: sudo.ch
2011/11/17 18:11:54:820 CET [DEBUG] headers - >> Connection: Keep-Alive
2011/11/17 18:11:54:820 CET [DEBUG] headers - >> User-Agent: Sardine/UNAVAILABLE
2011/11/17 18:11:54:821 CET [DEBUG] wire - >> "<?xml version="1.0"
encoding="UTF-8" standalone="yes"?><propfind xmlns="DAV:"><allprop/></propfind>"
2011/11/17 18:11:54:880 CET [DEBUG] wire - << "HTTP/1.1 301 Moved
Permanently[\r][\n]"
2011/11/17 18:11:54:882 CET [DEBUG] wire - << "Date: Thu, 17 Nov 2011 17:11:42
GMT[\r][\n]"
2011/11/17 18:11:54:882 CET [DEBUG] wire - << "Server: Apache/2.2.21 (FreeBSD)
DAV/2 PHP/5.3.8 with Suhosin-Patch mod_wsgi/3.3 Python/2.7.2 SVN/1.7.1
mod_ssl/2.2.21 OpenSSL/1.0.0e[\r][\n]"
2011/11/17 18:11:54:882 CET [DEBUG] wire - << "Location:
http://sudo.ch/dav/anon/sardine/[\r][\n]"
2011/11/17 18:11:54:882 CET [DEBUG] wire - << "Content-Length: 415[\r][\n]"
2011/11/17 18:11:54:882 CET [DEBUG] wire - << "Keep-Alive: timeout=5,
max=100[\r][\n]"
2011/11/17 18:11:54:882 CET [DEBUG] wire - << "Connection: Keep-Alive[\r][\n]"
2011/11/17 18:11:54:882 CET [DEBUG] wire - << "Content-Type: text/html;
charset=iso-8859-1[\r][\n]"
2011/11/17 18:11:54:882 CET [DEBUG] wire - << "[\r][\n]"
2011/11/17 18:11:54:883 CET [DEBUG] DefaultClientConnection - Receiving
response: HTTP/1.1 301 Moved Permanently
2011/11/17 18:11:54:883 CET [DEBUG] headers - << HTTP/1.1 301 Moved Permanently
2011/11/17 18:11:54:883 CET [DEBUG] headers - << Date: Thu, 17 Nov 2011
17:11:42 GMT
2011/11/17 18:11:54:883 CET [DEBUG] headers - << Server: Apache/2.2.21
(FreeBSD) DAV/2 PHP/5.3.8 with Suhosin-Patch mod_wsgi/3.3 Python/2.7.2
SVN/1.7.1 mod_ssl/2.2.21 OpenSSL/1.0.0e
2011/11/17 18:11:54:883 CET [DEBUG] headers - << Location:
http://sudo.ch/dav/anon/sardine/
2011/11/17 18:11:54:883 CET [DEBUG] headers - << Content-Length: 415
2011/11/17 18:11:54:883 CET [DEBUG] headers - << Keep-Alive: timeout=5, max=100
2011/11/17 18:11:54:883 CET [DEBUG] headers - << Connection: Keep-Alive
2011/11/17 18:11:54:883 CET [DEBUG] headers - << Content-Type: text/html;
charset=iso-8859-1
2011/11/17 18:11:54:887 CET [DEBUG] DefaultHttpClient - Connection can be kept
alive for 5000 MILLISECONDS
2011/11/17 18:11:54:888 CET [DEBUG] DefaultHttpClient - Redirecting to
'http://sudo.ch/dav/anon/sardine/' via HttpRoute[{}->http://sudo.ch]
2011/11/17 18:11:54:889 CET [DEBUG] wire - << "<!DOCTYPE HTML PUBLIC
"-//IETF//DTD HTML 2.0//EN">[\n]"
2011/11/17 18:11:54:889 CET [DEBUG] wire - << "<html><head>[\n]"
2011/11/17 18:11:54:889 CET [DEBUG] wire - << "<title>301 Moved
Permanently</title>[\n]"
2011/11/17 18:11:54:889 CET [DEBUG] wire - << "</head><body>[\n]"
2011/11/17 18:11:54:889 CET [DEBUG] wire - << "<h1>Moved Permanently</h1>[\n]"
2011/11/17 18:11:54:889 CET [DEBUG] wire - << "<p>The document has moved <a
href="http://sudo.ch/dav/anon/sardine/">here</a>.</p>[\n]"
2011/11/17 18:11:54:889 CET [DEBUG] wire - << "<hr>[\n]"
2011/11/17 18:11:54:889 CET [DEBUG] wire - << "<address>Apache/2.2.21 (FreeBSD)
DAV/2 PHP/5.3.8 with Suhosin-Patch mod_wsgi/3.3 Python/2.7.2 SVN/1.7.1
mod_ssl/2.2.21 OpenSSL/1.0.0e Server at sudo.ch Port 80</address>[\n]"
2011/11/17 18:11:54:889 CET [DEBUG] wire - << "</body></html>[\n]"
2011/11/17 18:11:54:890 CET [DEBUG] RequestAddCookies - CookieSpec selected:
best-match
2011/11/17 18:11:54:890 CET [DEBUG] RequestAuthCache - Auth cache not set in
the context
2011/11/17 18:11:54:890 CET [DEBUG] DefaultHttpClient - Attempt 2 to execute
request
2011/11/17 18:11:54:890 CET [DEBUG] DefaultClientConnection - Sending request:
PROPFIND /dav/anon/sardine/ HTTP/1.1
2011/11/17 18:11:54:890 CET [DEBUG] wire - >> "PROPFIND /dav/anon/sardine/
HTTP/1.1[\r][\n]"
2011/11/17 18:11:54:890 CET [DEBUG] wire - >> "Depth: 1[\r][\n]"
2011/11/17 18:11:54:890 CET [DEBUG] wire - >> "Content-Type: text/xml;
charset=utf-8[\r][\n]"
2011/11/17 18:11:54:890 CET [DEBUG] wire - >> "Content-Length: 0[\r][\n]"
2011/11/17 18:11:54:890 CET [DEBUG] wire - >> "Host: sudo.ch[\r][\n]"
2011/11/17 18:11:54:890 CET [DEBUG] wire - >> "Connection: Keep-Alive[\r][\n]"
2011/11/17 18:11:54:890 CET [DEBUG] wire - >> "User-Agent:
Sardine/UNAVAILABLE[\r][\n]"
2011/11/17 18:11:54:890 CET [DEBUG] wire - >> "[\r][\n]"
2011/11/17 18:11:54:890 CET [DEBUG] headers - >> PROPFIND /dav/anon/sardine/
HTTP/1.1
2011/11/17 18:11:54:890 CET [DEBUG] headers - >> Depth: 1
2011/11/17 18:11:54:890 CET [DEBUG] headers - >> Content-Type: text/xml;
charset=utf-8
2011/11/17 18:11:54:891 CET [DEBUG] headers - >> Content-Length: 0
2011/11/17 18:11:54:891 CET [DEBUG] headers - >> Host: sudo.ch
2011/11/17 18:11:54:891 CET [DEBUG] headers - >> Connection: Keep-Alive
2011/11/17 18:11:54:891 CET [DEBUG] headers - >> User-Agent: Sardine/UNAVAILABLE
2011/11/17 18:11:54:964 CET [DEBUG] wire - << "HTTP/1.1 207
Multi-Status[\r][\n]"
2011/11/17 18:11:54:965 CET [DEBUG] wire - << "Date: Thu, 17 Nov 2011 17:11:42
GMT[\r][\n]"
2011/11/17 18:11:54:965 CET [DEBUG] wire - << "Server: Apache/2.2.21 (FreeBSD)
DAV/2 PHP/5.3.8 with Suhosin-Patch mod_wsgi/3.3 Python/2.7.2 SVN/1.7.1
mod_ssl/2.2.21 OpenSSL/1.0.0e[\r][\n]"
2011/11/17 18:11:54:965 CET [DEBUG] wire - << "Vary: Accept-Encoding[\r][\n]"
2011/11/17 18:11:54:965 CET [DEBUG] wire - << "Content-Length: 5841[\r][\n]"
2011/11/17 18:11:54:965 CET [DEBUG] wire - << "Keep-Alive: timeout=5,
max=99[\r][\n]"
2011/11/17 18:11:54:965 CET [DEBUG] wire - << "Connection: Keep-Alive[\r][\n]"
2011/11/17 18:11:54:965 CET [DEBUG] wire - << "Content-Type: text/xml;
charset="utf-8"[\r][\n]"
2011/11/17 18:11:54:965 CET [DEBUG] wire - << "[\r][\n]"
2011/11/17 18:11:54:965 CET [DEBUG] DefaultClientConnection - Receiving
response: HTTP/1.1 207 Multi-Status
2011/11/17 18:11:54:965 CET [DEBUG] headers - << HTTP/1.1 207 Multi-Status
2011/11/17 18:11:54:965 CET [DEBUG] headers - << Date: Thu, 17 Nov 2011
17:11:42 GMT
2011/11/17 18:11:54:965 CET [DEBUG] headers - << Server: Apache/2.2.21
(FreeBSD) DAV/2 PHP/5.3.8 with Suhosin-Patch mod_wsgi/3.3 Python/2.7.2
SVN/1.7.1 mod_ssl/2.2.21 OpenSSL/1.0.0e
2011/11/17 18:11:54:965 CET [DEBUG] headers - << Vary: Accept-Encoding
2011/11/17 18:11:54:965 CET [DEBUG] headers - << Content-Length: 5841
2011/11/17 18:11:54:966 CET [DEBUG] headers - << Keep-Alive: timeout=5, max=99
2011/11/17 18:11:54:966 CET [DEBUG] headers - << Connection: Keep-Alive
2011/11/17 18:11:54:966 CET [DEBUG] headers - << Content-Type: text/xml;
charset="utf-8"
2011/11/17 18:11:54:966 CET [DEBUG] DefaultHttpClient - Connection can be kept
alive for 5000 MILLISECONDS
2011/11/17 18:11:54:984 CET [DEBUG] wire - << "<"
2011/11/17 18:11:54:984 CET [DEBUG] wire - << "?"
2011/11/17 18:11:54:984 CET [DEBUG] wire - << "x"
2011/11/17 18:11:54:984 CET [DEBUG] wire - << "m"
2011/11/17 18:11:54:985 CET [DEBUG] wire - << "l version="1.0" encoding="ut"
2011/11/17 18:11:54:988 CET [DEBUG] wire - << "f"
2011/11/17 18:11:54:988 CET [DEBUG] wire - << "-"
2011/11/17 18:11:54:988 CET [DEBUG] wire - << "8"
2011/11/17 18:11:54:988 CET [DEBUG] wire - << """
2011/11/17 18:11:54:988 CET [DEBUG] wire - << "?"
2011/11/17 18:11:54:988 CET [DEBUG] wire - << ">"
2011/11/17 18:11:54:989 CET [DEBUG] wire - << "[\n]"
2011/11/17 18:11:54:989 CET [DEBUG] wire - << "<D:multistatus
xmlns:D="DAV:">[\n]"
2011/11/17 18:11:54:989 CET [DEBUG] wire - << "<D:response xmlns:lp1="DAV:"
xmlns:lp3="http://subversion.tigris.org/xmlns/dav/"
xmlns:lp2="http://apache.org/dav/props/">[\n]"
2011/11/17 18:11:54:989 CET [DEBUG] wire - <<
"<D:href>/dav/anon/sardine/</D:href>[\n]"
2011/11/17 18:11:54:989 CET [DEBUG] wire - << "<D:propstat>[\n]"
2011/11/17 18:11:54:989 CET [DEBUG] wire - << "<D:prop>[\n]"
2011/11/17 18:11:54:989 CET [DEBUG] wire - <<
"<lp1:resourcetype><D:collection/></lp1:resourcetype>[\n]"
2011/11/17 18:11:54:989 CET [DEBUG] wire - <<
"<lp1:creationdate>2011-11-17T17:05:47Z</lp1:creationdate>[\n]"
2011/11/17 18:11:54:989 CET [DEBUG] wire - << "<lp1:getlastmodified>Thu, 17 Nov
2011 17:05:47 GMT</lp1:getlastmodified>[\n]"
2011/11/17 18:11:54:989 CET [DEBUG] wire - <<
"<lp1:getetag>"1767a-200-4b1f13b4d50c0"</lp1:getetag>[\n]"
2011/11/17 18:11:54:989 CET [DEBUG] wire - << "<D:supportedlock>[\n]"
2011/11/17 18:11:54:989 CET [DEBUG] wire - << "<D:lockentry>[\n]"
2011/11/17 18:11:54:989 CET [DEBUG] wire - <<
"<D:lockscope><D:exclusive/></D:lockscope>[\n]"
2011/11/17 18:11:54:989 CET [DEBUG] wire - <<
"<D:locktype><D:write/></D:locktype>[\n]"
2011/11/17 18:11:54:989 CET [DEBUG] wire - << "</D:lockentry>[\n]"
2011/11/17 18:11:54:989 CET [DEBUG] wire - << "<D:lockentry>[\n]"
2011/11/17 18:11:54:990 CET [DEBUG] wire - <<
"<D:lockscope><D:shared/></D:lockscope>[\n]"
2011/11/17 18:11:54:990 CET [DEBUG] wire - <<
"<D:locktype><D:write/></D:locktype>[\n]"
2011/11/17 18:11:54:990 CET [DEBUG] wire - << "</D:lockentry>[\n]"
2011/11/17 18:11:54:990 CET [DEBUG] wire - << "</D:supportedlock>[\n]"
2011/11/17 18:11:54:990 CET [DEBUG] wire - << "<D:lockdiscovery/>[\n]"
2011/11/17 18:11:54:990 CET [DEBUG] wire - <<
"<D:getcontenttype>httpd/unix-directory</D:getcontenttype>[\n]"
2011/11/17 18:11:54:990 CET [DEBUG] wire - << "</D:prop>[\n]"
2011/11/17 18:11:54:990 CET [DEBUG] wire - << "<D:status>HTTP/1.1 200
OK</D:status>[\n]"
2011/11/17 18:11:54:990 CET [DEBUG] wire - << "</D:propstat>[\n]"
2011/11/17 18:11:54:990 CET [DEBUG] wire - << "</D:response>[\n]"
2011/11/17 18:11:54:990 CET [DEBUG] wire - << "<D:response xmlns:lp1="DAV:"
xmlns:lp3="http://subversion.tigris.org/xmlns/dav/"
xmlns:lp2="http://apache.org/dav/props/">[\n]"
2011/11/17 18:11:54:990 CET [DEBUG] wire - <<
"<D:href>/dav/anon/sardine/single/</D:href>[\n]"
2011/11/17 18:11:54:990 CET [DEBUG] wire - << "<D:propstat>[\n]"
2011/11/17 18:11:54:990 CET [DEBUG] wire - << "<D:prop>[\n]"
2011/11/17 18:11:54:990 CET [DEBUG] wire - <<
"<lp1:resourcetype><D:collection/></lp1:resourcetype>[\n]"
2011/11/17 18:11:54:990 CET [DEBUG] wire - <<
"<lp1:creationdate>2011-04-01T14:51:48Z</lp1:creationdate>[\n]"
2011/11/17 18:11:54:990 CET [DEBUG] wire - << "<lp1:getlastmodified>Fri, 01 Apr
2011 14:51:48 GMT</lp1:getlastmodified>[\n]"
2011/11/17 18:11:54:991 CET [DEBUG] wire - <<
"<lp1:getetag>"17685-200-49fdc8ca3a900"</lp1:getetag>[\n]"
2011/11/17 18:11:54:991 CET [DEBUG] wire - << "<D:supportedlock>[\n]"
2011/11/17 18:11:54:991 CET [DEBUG] wire - << "<D:lockentry>[\n]"
2011/11/17 18:11:54:991 CET [DEBUG] wire - <<
"<D:lockscope><D:exclusive/></D:lockscope>[\n]"
2011/11/17 18:11:54:991 CET [DEBUG] wire - <<
"<D:locktype><D:write/></D:locktype>[\n]"
2011/11/17 18:11:54:991 CET [DEBUG] wire - << "</D:lockentry>[\n]"
2011/11/17 18:11:54:991 CET [DEBUG] wire - << "<D:lockentry>[\n]"
2011/11/17 18:11:54:991 CET [DEBUG] wire - <<
"<D:lockscope><D:shared/></D:lockscope>[\n]"
2011/11/17 18:11:54:991 CET [DEBUG] wire - <<
"<D:locktype><D:write/></D:locktype>[\n]"
2011/11/17 18:11:54:991 CET [DEBUG] wire - << "</D:lockentry>[\n]"
2011/11/17 18:11:54:991 CET [DEBUG] wire - << "</D:supportedlock>[\n]"
2011/11/17 18:11:54:991 CET [DEBUG] wire - << "<D:lockdiscovery/>[\n]"
2011/11/17 18:11:54:991 CET [DEBUG] wire - <<
"<D:getcontenttype>httpd/unix-directory</D:getcontenttype>[\n]"
2011/11/17 18:11:54:991 CET [DEBUG] wire - << "</D:prop>[\n]"
2011/11/17 18:11:54:991 CET [DEBUG] wire - << "<D:status>HTTP/1.1 200
OK</D:status>[\n]"
2011/11/17 18:11:54:991 CET [DEBUG] wire - << "</D:propstat>[\n]"
2011/11/17 18:11:54:991 CET [DEBUG] wire - << "</D:response>[\n]"
2011/11/17 18:11:54:992 CET [DEBUG] wire - << "<D:response xmlns:lp1="DAV:"
xmlns:lp3="http://subversion.tigris.org/xmlns/dav/"
xmlns:lp2="http://apache.org/dav/props/">[\n]"
2011/11/17 18:11:54:992 CET [DEBUG] wire - <<
"<D:href>/dav/anon/sardine/multiple/</D:href>[\n]"
2011/11/17 18:11:54:992 CET [DEBUG] wire - << "<D:propstat>[\n]"
2011/11/17 18:11:54:992 CET [DEBUG] wire - << "<D:prop>[\n]"
2011/11/17 18:11:54:992 CET [DEBUG] wire - <<
"<lp1:resourcetype><D:collection/></lp1:resourcetype>[\n]"
2011/11/17 18:11:54:992 CET [DEBUG] wire - <<
"<lp1:creationdate>2011-06-23T08:46:02Z</lp1:creationdate>[\n]"
2011/11/17 18:11:54:992 CET [DEBUG] wire - << "<lp1:getlastmodified>Thu, 23 Jun
2011 08:46:02 GMT</lp1:getlastmodified>[\n]"
2011/11/17 18:11:54:992 CET [DEBUG] wire - <<
"<lp1:getetag>"1767b-200-4a65d1d626680"</lp1:getetag>[\n]"
2011/11/17 18:11:54:992 CET [DEBUG] wire - << "<D:supportedlock>[\n]"
2011/11/17 18:11:54:992 CET [DEBUG] wire - << "<D:lockentry>[\n]"
2011/11/17 18:11:54:992 CET [DEBUG] wire - <<
"<D:lockscope><D:exclusive/></D:lockscope>[\n]"
2011/11/17 18:11:54:992 CET [DEBUG] wire - <<
"<D:locktype><D:write/></D:locktype>[\n]"
2011/11/17 18:11:54:992 CET [DEBUG] wire - << "</D:lockentry>[\n]"
2011/11/17 18:11:54:992 CET [DEBUG] wire - << "<D:lockentry>[\n]"
2011/11/17 18:11:54:992 CET [DEBUG] wire - <<
"<D:lockscope><D:shared/></D:lockscope>[\n]"
2011/11/17 18:11:54:992 CET [DEBUG] wire - <<
"<D:locktype><D:write/></D:locktype>[\n]"
2011/11/17 18:11:54:992 CET [DEBUG] wire - << "</D:lockentry>[\n]"
2011/11/17 18:11:54:992 CET [DEBUG] wire - << "</D:supportedlock>[\n]"
2011/11/17 18:11:54:993 CET [DEBUG] wire - << "<D:lockdiscovery/>[\n]"
2011/11/17 18:11:54:993 CET [DEBUG] wire - <<
"<D:getcontenttype>httpd/unix-directory</D:getcontenttype>[\n]"
2011/11/17 18:11:54:993 CET [DEBUG] wire - << "</D:prop>[\n]"
2011/11/17 18:11:54:993 CET [DEBUG] wire - << "<D:status>HTTP/1.1 200
OK</D:status>[\n]"
2011/11/17 18:11:54:993 CET [DEBUG] wire - << "</D:propstat>[\n]"
2011/11/17 18:11:54:993 CET [DEBUG] wire - << "</D:response>[\n]"
2011/11/17 18:11:54:993 CET [DEBUG] wire - << "<D:response xmlns:lp1="DAV:"
xmlns:lp3="http://subversion.tigris.org/xmlns/dav/"
xmlns:lp2="http://apache.org/dav/props/">[\n]"
2011/11/17 18:11:54:993 CET [DEBUG] wire - <<
"<D:href>/dav/anon/sardine/7a5c15a4-916b-41d8-90af-5fbe0863afe5</D:href>[\n]"
2011/11/17 18:11:54:993 CET [DEBUG] wire - << "<D:propstat>[\n]"
2011/11/17 18:11:54:993 CET [DEBUG] wire - << "<D:prop>[\n]"
2011/11/17 18:11:54:993 CET [DEBUG] wire - << "<lp1:resourcetype/>[\n]"
2011/11/17 18:11:54:993 CET [DEBUG] wire - <<
"<lp1:creationdate>2011-05-30T13:28:26Z</lp1:creationdate>[\n]"
2011/11/17 18:11:54:993 CET [DEBUG] wire - <<
"<lp1:getcontentlength>2</lp1:getcontentlength>[\n]"
2011/11/17 18:11:54:993 CET [DEBUG] wire - << "<lp1:getlastmodified>Mon, 30 May
2011 13:28:26 GMT</lp1:getlastmodified>[\n]"
2011/11/17 18:11:54:993 CET [DEBUG] wire - <<
"<lp1:getetag>"1760b-2-4a47e43225280"</lp1:getetag>[\n]"
2011/11/17 18:11:54:993 CET [DEBUG] wire - <<
"<lp2:executable>F</lp2:executable>[\n]"
2011/11/17 18:11:54:993 CET [DEBUG] wire - << "<D:supportedlock>[\n]"
2011/11/17 18:11:54:993 CET [DEBUG] wire - << "<D:lockentry>[\n]"
2011/11/17 18:11:54:994 CET [DEBUG] wire - <<
"<D:lockscope><D:exclusive/></D:lockscope>[\n]"
2011/11/17 18:11:54:994 CET [DEBUG] wire - <<
"<D:locktype><D:write/></D:locktype>[\n]"
2011/11/17 18:11:54:994 CET [DEBUG] wire - << "</D:lockentry>[\n]"
2011/11/17 18:11:54:994 CET [DEBUG] wire - << "<D:lockentry>[\n]"
2011/11/17 18:11:54:994 CET [DEBUG] wire - <<
"<D:lockscope><D:shared/></D:lockscope>[\n]"
2011/11/17 18:11:54:994 CET [DEBUG] wire - <<
"<D:locktype><D:write/></D:locktype>[\n]"
2011/11/17 18:11:54:994 CET [DEBUG] wire - << "</D:lockentry>[\n]"
2011/11/17 18:11:54:994 CET [DEBUG] wire - << "</D:supportedlock>[\n]"
2011/11/17 18:11:54:994 CET [DEBUG] wire - <<
"<D:lockdiscovery><D:activelock>[\n]"
2011/11/17 18:11:54:994 CET [DEBUG] wire - <<
"<D:locktype><D:write/></D:locktype>[\n]"
2011/11/17 18:11:54:994 CET [DEBUG] wire - <<
"<D:lockscope><D:exclusive/></D:lockscope>[\n]"
2011/11/17 18:11:54:994 CET [DEBUG] wire - << "<D:depth>infinity</D:depth>[\n]"
2011/11/17 18:11:54:994 CET [DEBUG] wire - <<
"<D:timeout>Infinite</D:timeout>[\n]"
2011/11/17 18:11:54:994 CET [DEBUG] wire - << "<D:locktoken>[\n]"
2011/11/17 18:11:54:994 CET [DEBUG] wire - <<
"<D:href>opaquelocktoken:0d3cadb3-c08a-e011-b81d-001a4bcce768</D:href>[\n]"
2011/11/17 18:11:54:994 CET [DEBUG] wire - << "</D:locktoken>[\n]"
2011/11/17 18:11:54:994 CET [DEBUG] wire - << "</D:activelock>[\n]"
2011/11/17 18:11:54:994 CET [DEBUG] wire - << "</D:lockdiscovery>[\n]"
2011/11/17 18:11:54:994 CET [DEBUG] wire - << "</D:prop>[\n]"
2011/11/17 18:11:54:995 CET [DEBUG] wire - << "<D:status>HTTP/1.1 200
OK</D:status>[\n]"
2011/11/17 18:11:54:995 CET [DEBUG] wire - << "</D:propstat>[\n]"
2011/11/17 18:11:54:995 CET [DEBUG] wire - << "</D:response>[\n]"
2011/11/17 18:11:54:995 CET [DEBUG] wire - << "<D:response xmlns:lp1="DAV:"
xmlns:lp3="http://subversion.tigris.org/xmlns/dav/"
xmlns:lp2="http://apache.org/dav/props/">[\n]"
2011/11/17 18:11:54:995 CET [DEBUG] wire - <<
"<D:href>/dav/anon/sardine/5c0dc396-3aed-40b3-a4b9-1182d655b9bd</D:href>[\n]"
2011/11/17 18:11:54:995 CET [DEBUG] wire - << "<D:propstat>[\n]"
2011/11/17 18:11:54:995 CET [DEBUG] wire - << "<D:prop>[\n]"
2011/11/17 18:11:54:995 CET [DEBUG] wire - << "<lp1:resourcetype/>[\n]"
2011/11/17 18:11:54:995 CET [DEBUG] wire - <<
"<lp1:creationdate>2011-05-30T13:29:15Z</lp1:creationdate>[\n]"
2011/11/17 18:11:54:995 CET [DEBUG] wire - <<
"<lp1:getcontentlength>2</lp1:getcontentlength>[\n]"
2011/11/17 18:11:54:995 CET [DEBUG] wire - << "<lp1:getlastmodified>Mon, 30 May
2011 13:29:15 GMT</lp1:getlastmodified>[\n]"
2011/11/17 18:11:54:995 CET [DEBUG] wire - <<
"<lp1:getetag>"1760c-2-4a47e460e00c0"</lp1:getetag>[\n]"
2011/11/17 18:11:54:995 CET [DEBUG] wire - <<
"<lp2:executable>F</lp2:executable>[\n]"
2011/11/17 18:11:54:995 CET [DEBUG] wire - << "<D:supportedlock>[\n]"
2011/11/17 18:11:54:995 CET [DEBUG] wire - << "<D:lockentry>[\n]"
2011/11/17 18:11:54:995 CET [DEBUG] wire - <<
"<D:lockscope><D:exclusive/></D:lockscope>[\n]"
2011/11/17 18:11:54:995 CET [DEBUG] wire - <<
"<D:locktype><D:write/></D:locktype>[\n]"
2011/11/17 18:11:54:995 CET [DEBUG] wire - << "</D:lockentry>[\n]"
2011/11/17 18:11:54:996 CET [DEBUG] wire - << "<D:lockentry>[\n]"
2011/11/17 18:11:54:996 CET [DEBUG] wire - <<
"<D:lockscope><D:shared/></D:lockscope>[\n]"
2011/11/17 18:11:54:996 CET [DEBUG] wire - <<
"<D:locktype><D:write/></D:locktype>[\n]"
2011/11/17 18:11:54:996 CET [DEBUG] wire - << "</D:lockentry>[\n]"
2011/11/17 18:11:54:996 CET [DEBUG] wire - << "</D:supportedlock>[\n]"
2011/11/17 18:11:54:996 CET [DEBUG] wire - <<
"<D:lockdiscovery><D:activelock>[\n]"
2011/11/17 18:11:54:996 CET [DEBUG] wire - <<
"<D:locktype><D:write/></D:locktype>[\n]"
2011/11/17 18:11:54:996 CET [DEBUG] wire - <<
"<D:lockscope><D:exclusive/></D:lockscope>[\n]"
2011/11/17 18:11:54:996 CET [DEBUG] wire - << "<D:depth>infinity</D:depth>[\n]"
2011/11/17 18:11:54:996 CET [DEBUG] wire - <<
"<D:timeout>Infinite</D:timeout>[\n]"
2011/11/17 18:11:54:996 CET [DEBUG] wire - << "<D:locktoken>[\n]"
2011/11/17 18:11:54:996 CET [DEBUG] wire - <<
"<D:href>opaquelocktoken:0c0699f4-c08a-e011-b81d-001a4bcce768</D:href>[\n]"
2011/11/17 18:11:54:996 CET [DEBUG] wire - << "</D:locktoken>[\n]"
2011/11/17 18:11:54:996 CET [DEBUG] wire - << "</D:activelock>[\n]"
2011/11/17 18:11:54:996 CET [DEBUG] wire - << "</D:lockdiscovery>[\n]"
2011/11/17 18:11:54:996 CET [DEBUG] wire - << "</D:prop>[\n]"
2011/11/17 18:11:54:996 CET [DEBUG] wire - << "<D:status>HTTP/1.1 200
OK</D:status>[\n]"
2011/11/17 18:11:54:996 CET [DEBUG] wire - << "</D:propstat>[\n]"
2011/11/17 18:11:54:996 CET [DEBUG] wire - << "</D:response>[\n]"
2011/11/17 18:11:54:997 CET [DEBUG] wire - << "<D:response xmlns:ns0="DAV:"
xmlns:ns1="SAR:" xmlns:ns2="hello" xmlns:ns3="http://my.namespace.com"
xmlns:lp1="DAV:" xmlns:lp3="http://subversion.tigris.org/xmlns/dav/"
xmlns:lp2="http://apache.org/dav/props/">[\n]"
2011/11/17 18:11:54:997 CET [DEBUG] wire - <<
"<D:href>/dav/anon/sardine/metadata.txt</D:href>[\n]"
2011/11/17 18:11:54:997 CET [DEBUG] wire - << "<D:propstat>[\n]"
2011/11/17 18:11:54:997 CET [DEBUG] wire - << "<D:prop>[\n]"
2011/11/17 18:11:54:997 CET [DEBUG] wire - <<
"<ns1:mykey>my&value2</ns1:mykey>[\n]"
2011/11/17 18:11:54:997 CET [DEBUG] wire - <<
"<ns2:mykey>my<value3</ns2:mykey>[\n]"
2011/11/17 18:11:54:997 CET [DEBUG] wire - << "<lp1:resourcetype/>[\n]"
2011/11/17 18:11:54:997 CET [DEBUG] wire - <<
"<lp1:creationdate>2011-11-17T16:49:46Z</lp1:creationdate>[\n]"
2011/11/17 18:11:54:997 CET [DEBUG] wire - <<
"<lp1:getcontentlength>5</lp1:getcontentlength>[\n]"
2011/11/17 18:11:54:997 CET [DEBUG] wire - << "<lp1:getlastmodified>Thu, 17 Nov
2011 16:49:46 GMT</lp1:getlastmodified>[\n]"
2011/11/17 18:11:54:997 CET [DEBUG] wire - <<
"<lp1:getetag>"17b5b-5-4b1f102059e80"</lp1:getetag>[\n]"
2011/11/17 18:11:54:997 CET [DEBUG] wire - <<
"<lp2:executable>F</lp2:executable>[\n]"
2011/11/17 18:11:54:997 CET [DEBUG] wire - << "<D:supportedlock>[\n]"
2011/11/17 18:11:54:997 CET [DEBUG] wire - << "<D:lockentry>[\n]"
2011/11/17 18:11:54:997 CET [DEBUG] wire - <<
"<D:lockscope><D:exclusive/></D:lockscope>[\n]"
2011/11/17 18:11:54:997 CET [DEBUG] wire - <<
"<D:locktype><D:write/></D:locktype>[\n]"
2011/11/17 18:11:54:997 CET [DEBUG] wire - << "</D:lockentry>[\n]"
2011/11/17 18:11:54:997 CET [DEBUG] wire - << "<D:lockentry>[\n]"
2011/11/17 18:11:54:997 CET [DEBUG] wire - <<
"<D:lockscope><D:shared/></D:lockscope>[\n]"
2011/11/17 18:11:54:998 CET [DEBUG] wire - <<
"<D:locktype><D:write/></D:locktype>[\n]"
2011/11/17 18:11:54:998 CET [DEBUG] wire - << "</D:lockentry>[\n]"
2011/11/17 18:11:54:998 CET [DEBUG] wire - << "</D:supportedlock>[\n]"
2011/11/17 18:11:54:998 CET [DEBUG] wire - << "<D:lockdiscovery/>[\n]"
2011/11/17 18:11:54:998 CET [DEBUG] wire - <<
"<D:getcontenttype>text/plain</D:getcontenttype>[\n]"
2011/11/17 18:11:54:998 CET [DEBUG] wire - << "</D:prop>[\n]"
2011/11/17 18:11:54:998 CET [DEBUG] wire - << "<D:status>HTTP/1.1 200
OK</D:status>[\n]"
2011/11/17 18:11:54:998 CET [DEBUG] wire - << "</D:propstat>[\n]"
2011/11/17 18:11:54:998 CET [DEBUG] wire - << "</D:response>[\n]"
2011/11/17 18:11:54:998 CET [DEBUG] wire - << "</D:multistatus>[\n]"
2011/11/17 18:11:55:020 CET [DEBUG] ThreadSafeClientConnManager - Released
connection is reusable.
2011/11/17 18:11:55:020 CET [DEBUG] ConnPoolByRoute - Releasing connection
[HttpRoute[{}->http://sudo.ch]][null]
2011/11/17 18:11:55:020 CET [DEBUG] ConnPoolByRoute - Pooling connection
[HttpRoute[{}->http://sudo.ch]][null]; keep alive for 5000 MILLISECONDS
2011/11/17 18:11:55:021 CET [DEBUG] ConnPoolByRoute - Notifying no-one, there
are no waiting threads
2011/11/17 18:11:55:028 CET [DEBUG] ThreadSafeClientConnManager - Get
connection: HttpRoute[{}->http://sudo.ch], timeout = 0
2011/11/17 18:11:55:028 CET [DEBUG] ConnPoolByRoute -
[HttpRoute[{}->http://sudo.ch]] total kept alive: 1, total issued: 0, total
allocated: 1 out of 20
2011/11/17 18:11:55:028 CET [DEBUG] ConnPoolByRoute - Getting free connection
[HttpRoute[{}->http://sudo.ch]][null]
2011/11/17 18:11:55:028 CET [DEBUG] DefaultHttpClient - Stale connection check
2011/11/17 18:11:55:029 CET [DEBUG] RequestAddCookies - CookieSpec selected:
best-match
2011/11/17 18:11:55:029 CET [DEBUG] RequestAuthCache - Auth cache not set in
the context
2011/11/17 18:11:55:029 CET [DEBUG] DefaultHttpClient - Attempt 1 to execute
request
2011/11/17 18:11:55:029 CET [DEBUG] DefaultClientConnection - Sending request:
PROPFIND /dav/anon/sardine HTTP/1.1
2011/11/17 18:11:55:029 CET [DEBUG] wire - >> "PROPFIND /dav/anon/sardine
HTTP/1.1[\r][\n]"
2011/11/17 18:11:55:029 CET [DEBUG] wire - >> "Depth: 1[\r][\n]"
2011/11/17 18:11:55:029 CET [DEBUG] wire - >> "Content-Type: text/xml;
charset=utf-8[\r][\n]"
2011/11/17 18:11:55:029 CET [DEBUG] wire - >> "Content-Length: 99[\r][\n]"
2011/11/17 18:11:55:030 CET [DEBUG] wire - >> "Host: sudo.ch[\r][\n]"
2011/11/17 18:11:55:030 CET [DEBUG] wire - >> "Connection: Keep-Alive[\r][\n]"
2011/11/17 18:11:55:030 CET [DEBUG] wire - >> "User-Agent:
Sardine/UNAVAILABLE[\r][\n]"
2011/11/17 18:11:55:030 CET [DEBUG] wire - >> "[\r][\n]"
2011/11/17 18:11:55:030 CET [DEBUG] headers - >> PROPFIND /dav/anon/sardine
HTTP/1.1
2011/11/17 18:11:55:030 CET [DEBUG] headers - >> Depth: 1
2011/11/17 18:11:55:030 CET [DEBUG] headers - >> Content-Type: text/xml;
charset=utf-8
2011/11/17 18:11:55:030 CET [DEBUG] headers - >> Content-Length: 99
2011/11/17 18:11:55:030 CET [DEBUG] headers - >> Host: sudo.ch
2011/11/17 18:11:55:030 CET [DEBUG] headers - >> Connection: Keep-Alive
2011/11/17 18:11:55:030 CET [DEBUG] headers - >> User-Agent: Sardine/UNAVAILABLE
2011/11/17 18:11:55:030 CET [DEBUG] wire - >> "<?xml version="1.0"
encoding="UTF-8" standalone="yes"?><propfind xmlns="DAV:"><allprop/></propfind>"
2011/11/17 18:11:55:053 CET [DEBUG] wire - << "HTTP/1.1 301 Moved
Permanently[\r][\n]"
2011/11/17 18:11:55:054 CET [DEBUG] wire - << "Date: Thu, 17 Nov 2011 17:11:42
GMT[\r][\n]"
2011/11/17 18:11:55:054 CET [DEBUG] wire - << "Server: Apache/2.2.21 (FreeBSD)
DAV/2 PHP/5.3.8 with Suhosin-Patch mod_wsgi/3.3 Python/2.7.2 SVN/1.7.1
mod_ssl/2.2.21 OpenSSL/1.0.0e[\r][\n]"
2011/11/17 18:11:55:054 CET [DEBUG] wire - << "Location:
http://sudo.ch/dav/anon/sardine/[\r][\n]"
2011/11/17 18:11:55:054 CET [DEBUG] wire - << "Content-Length: 415[\r][\n]"
2011/11/17 18:11:55:054 CET [DEBUG] wire - << "Keep-Alive: timeout=5,
max=98[\r][\n]"
2011/11/17 18:11:55:054 CET [DEBUG] wire - << "Connection: Keep-Alive[\r][\n]"
2011/11/17 18:11:55:054 CET [DEBUG] wire - << "Content-Type: text/html;
charset=iso-8859-1[\r][\n]"
2011/11/17 18:11:55:054 CET [DEBUG] wire - << "[\r][\n]"
2011/11/17 18:11:55:054 CET [DEBUG] DefaultClientConnection - Receiving
response: HTTP/1.1 301 Moved Permanently
2011/11/17 18:11:55:055 CET [DEBUG] headers - << HTTP/1.1 301 Moved Permanently
2011/11/17 18:11:55:055 CET [DEBUG] headers - << Date: Thu, 17 Nov 2011
17:11:42 GMT
2011/11/17 18:11:55:055 CET [DEBUG] headers - << Server: Apache/2.2.21
(FreeBSD) DAV/2 PHP/5.3.8 with Suhosin-Patch mod_wsgi/3.3 Python/2.7.2
SVN/1.7.1 mod_ssl/2.2.21 OpenSSL/1.0.0e
2011/11/17 18:11:55:055 CET [DEBUG] headers - << Location:
http://sudo.ch/dav/anon/sardine/
2011/11/17 18:11:55:055 CET [DEBUG] headers - << Content-Length: 415
2011/11/17 18:11:55:055 CET [DEBUG] headers - << Keep-Alive: timeout=5, max=98
2011/11/17 18:11:55:055 CET [DEBUG] headers - << Connection: Keep-Alive
2011/11/17 18:11:55:055 CET [DEBUG] headers - << Content-Type: text/html;
charset=iso-8859-1
2011/11/17 18:11:55:055 CET [DEBUG] DefaultHttpClient - Connection can be kept
alive for 5000 MILLISECONDS
2011/11/17 18:11:55:056 CET [DEBUG] DefaultClientConnection - Connection shut
down
2011/11/17 18:11:55:056 CET [DEBUG] ThreadSafeClientConnManager - Released
connection is not reusable.
2011/11/17 18:11:55:056 CET [DEBUG] ConnPoolByRoute - Releasing connection
[HttpRoute[{}->http://sudo.ch]][null]
2011/11/17 18:11:55:056 CET [DEBUG] ConnPoolByRoute - Notifying no-one, there
are no waiting threads
Original comment by tch...@gmail.com
on 17 Nov 2011 at 5:17
Calling
this.context.removeAttribute(DefaultRedirectStrategy.REDIRECT_LOCATIONS);
in the various execute() methods of Sardine seems to solve the issue.
Original comment by tch...@gmail.com
on 17 Nov 2011 at 5:30
Original comment by dkocher@sudo.ch
on 18 Nov 2011 at 9:01
Either we clear the attribute before every request or don't reuse the redirect
handler.
Original comment by dkocher@sudo.ch
on 18 Nov 2011 at 9:10
In r308.
Original comment by dkocher@sudo.ch
on 18 Nov 2011 at 9:16
Original issue reported on code.google.com by
tch...@gmail.com
on 17 Nov 2011 at 11:20