legumeinfo / jira-issues

placeholder repo for issues migrating from JIRA system, to be moved to their appropriate places later
0 stars 0 forks source link

Tripal BLAST module maximum query length #574

Open adf-ncgr opened 8 years ago

adf-ncgr commented 8 years ago

Earlier while looking at the legumeinfo.org Apache error logs to diagnose an unrelated issue, I noticed that sometimes a Tripal BLAST module user would attempt to submit a sequence (or sequences) that exceeded the length of the current specified maximum POST Content-Length in our PHP configuration. Not only would the POST fail, but then it looks like some kinds of subsequent requests would fail for a minute or so:

[Tue Aug 30 14:31:23.220158 2016] [proxy_fcgi:error] [pid 63117:tid 34487064576] [client 109.91.34.246:26221] AH01071
: Got error 'PHP message: PHP Warning:  POST Content-Length of 53072458 bytes exceeds the limit of 8388608 bytes in U
nknown on line 0\n', referer: http://legumeinfo.org/blast/nucleotide/nucleotide
[Tue Aug 30 14:31:25.663237 2016] [proxy_fcgi:error] [pid 65742:tid 34487066624] (70007)The timeout specified has expired: [client 68.180.228.230:49194] AH01075: Error dispatching request to : (polling)
[Tue Aug 30 14:31:38.114044 2016] [proxy_fcgi:error] [pid 63116:tid 34487060480] (70007)The timeout specified has expired: [client 157.55.39.149:3287] AH01075: Error dispatching request to : (polling)
...

We should perhaps specify a maximum sequence length to the user, and set both the corresponding PHP POST length to this maximum, as well as the Apache LimitRequestBody (http://httpd.apache.org/docs/2.4/mod/core.html#limitrequestbody) directive.

[LEGUME-608] created by nathanweeks

adf-ncgr commented 8 years ago

I'm not sure it's the same thing but I've tested a couple of times the max upload size using both the annot module that I am developing and the blast_ui module. Both modules set a limit of 2MB on the upload widget, however I think the real limit is coming from the max_upload_filesize in php.ini (also set to 2MB).
When the php limit is hit, it doesn't really fail gracefully, but it shows a server timeout message.
It's also possible that for larger upload attempts the timeout message is coming because of the setting
max_execution_time=30

by wmn