So... thanks to Rick's suggestion in a different thread, I was able to modify the Turbine maximum upload size via adding an "ant:replace" to maven.xml. I did not find anything of the sort Gabriele suggested in any of the web.xml files, though. I also put maxPostSize="0" in all the Connector items in the tomcat/server.xml, and put a 4GB max upload size
in the TurbineResources.properties (confirmed that this is in the
version deployed with the webapp),
Unfortunately, making the two aforementioned changes didn't fix the upload problem yet. Actually, it did exactly one time, on one of my two servers, but I never got it to work on the second one, and without me doing anything it stopped working again on the first also. Very strange.
For every upload attempt larger than about 1GB, I have the two following in my turbine.log:
2013-01-11 16:00:27,490 [http-bio-8080-exec-14] ERROR org.apache.turbine.util.parser.DefaultParameterParser - File upload failed
org.apache.turbine.util.TurbineException: the request was rejected because it's size is unknown
at org.apache.turbine.services.upload.TurbineUploadService.parseRequest(TurbineUploadService.java:210)
at org.apache.turbine.services.upload.TurbineUpload.parseRequest(TurbineUpload.java:144)
.... [shortened here]
2013-01-11 16:00:27,616 [http-bio-8080-exec-14] ERROR org.apache.turbine.Turbine - Turbine.handleException:
java.lang.Exception: Invalid submit value (POST on URL: http://localhost:8080/xnat/app/action/ExptFileUpload from /128.18.20.155 (40328) user: 0:0:0:0:0:0:0:1
Headers:
host: localhost:8080
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20100101 Firefox/17.0
accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
accept-language: en-US,en;q=0.5
accept-encoding: gzip, deflate
referer: https://...
cookie: JSESSIONID=...; SERVER_RESPONSE_TIME=256.5; server_name=...; SESSION_TIMEOUT_TIME=1357941855463; SESSION_EXPIRATION_TIMEOUT=false; SESSION_EXPIRATION_TIME_DIALOG_DISPLAYING=false; WARNING_BAR=OPEN; SESSION_EXPIRATION_TIME="0,900000"; PHPSESSID=...; authchallenge=...
content-type: multipart/form-data; boundary=---------------------------14265898961818864561123961800
x-forwarded-for: 128.x...
x-forwarded-host: ...
x-forwarded-server: ...
connection: Keep-Alive
content-length: 3097243346
Cookies:
JSESSIONID ... -1 null
SERVER_RESPONSE_TIME 256.5 -1 null
server_name ... -1 null
SESSION_TIMEOUT_TIME 1357941855463 -1 null
SESSION_EXPIRATION_TIMEOUT false -1 null
SESSION_EXPIRATION_TIME_DIALOG_DISPLAYING false -1 null
WARNING_BAR OPEN -1 null
SESSION_EXPIRATION_TIME 0,900000 -1 null
PHPSESSID ... -1 null
authchallenge ... -1 null
)
(I removed potentially confidential-looking stuff and replaced it with "...").
It seems to me that the key here is Turbine's claim that the request size is unknown, yet in the following error message, the content-length is properly set (and essentially the size of my test file).
If this makes any sense to anybody, I'd be very grateful for further suggestions what to try and where to look.