Skip to content

Commit 99006ad

Browse files
committed
Upgrade to Milton 2.6
Appears to be working. Solves the problem where proxied vector reads cause the entire file to be written to local disk. Instead only the actual data that is to be returned to the client is buffered. If this is more than 100 KB, that data is buffered on local disk. The file is deleted after successful return of the data. There are still problems though: In case of failures reading the data from the pool, the temporary file is not deleted. The entire file is still downloaded from the pool to the door (even when only the requested data is buffered), and the multi-range writer in Milton is extremely inefficient as it processes one byte at a time (it fails to override the multi-byte write methods). The new version supports using cookies to remeber when a client has already logged in. I disabled this feature for now. Target: trunk Request: 2.11 Request: 2.10 Request: 2.9 Request: 2.8 Request: 2.7 Request: 2.6 Require-notes: yes Require-book: no Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de> Patch: https://rb.dcache.org/r/7530/ (cherry picked from commit b0f88c5) Conflicts: pom.xml (cherry picked from commit a510d81) Conflicts: pom.xml (cherry picked from commit 27783b3) Conflicts: pom.xml (cherry picked from commit 04841d4) Conflicts: pom.xml (cherry picked from commit 2bad558) Conflicts: pom.xml (cherry picked from commit 0ee48ba) Conflicts: pom.xml
1 parent 2407341 commit 99006ad

File tree

3 files changed

+10
-1
lines changed

3 files changed

+10
-1
lines changed

modules/dcache-webdav/src/main/java/org/dcache/webdav/DcacheResponseHandler.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,14 @@ public void respondHead(Resource resource, Response response, Request request)
237237
rfc3230(resource, response);
238238
}
239239

240+
@Override
241+
public void respondPartialContent(GetableResource resource, Response response, Request request, Map<String, String> params, List<Range> ranges)
242+
throws NotAuthorizedException, BadRequestException, NotFoundException
243+
{
244+
super.respondPartialContent(resource, response, request, params, ranges);
245+
rfc3230(resource, response);
246+
}
247+
240248
@Override
241249
public void respondPartialContent(GetableResource resource,
242250
Response response, Request request, Map<String,String> params,

modules/dcache-webdav/src/main/resources/org/dcache/webdav/webdav.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@
144144
<property name="enableExpectContinue" value="false"/>
145145
<property name="enableCompression" value="false"/>
146146
<property name="enableFormAuth" value="false"/>
147+
<property name="enableCookieAuth" value="false"/>
147148
<property name="resourceFactory" ref="resource-factory"/>
148149
<property name="buffering" value="never"/>
149150
<property name="staticContentPath" value="${webdav.static-content.location}"/>

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
<properties>
4040
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
4141
<version.slf4j>1.7.5</version.slf4j>
42-
<version.milton>2.3.0.6</version.milton>
42+
<version.milton>2.6.3.3</version.milton>
4343
<version.spring>3.2.2.RELEASE</version.spring>
4444
<version.aspectj>1.7.2</version.aspectj>
4545
<version.smc>6.1.0</version.smc>

0 commit comments

Comments
 (0)