#1032 closed defect (fixed)
Apache server complains "Request-URI Too Large"
Reported by: | Jari Häkkinen | Owned by: | Jari Häkkinen |
---|---|---|---|
Priority: | minor | Milestone: | BASE 2.8 |
Component: | web | Version: | 2.7 |
Keywords: | Cc: |
Description
In some cases the Apache server complains in the URI size. If one selects many raw bioassay from the raw bioassay list view and hits the 'New experiment" button apache complains with "Request-URI too large". Too large here is something like 500 raw bioassays, we have not looked for the exact number.
Searching the Net seems to say that Apache is configured for some fixed length. The fix seems to be that one should go from "GET" to "POST" requests.
There may be a work around for this by creating a new experiment from the experiment listing page and add raw bioassays to the experiment. However, there are some other places where the same problem occurs where a work around does not exist. (A little bit cryptic ... more on the "other places" later.)
Change History (8)
comment:1 by , 16 years ago
comment:2 by , 16 years ago
Milestone: | → BASE 2.8 |
---|---|
Owner: | changed from | to
Priority: | major → minor |
Status: | new → assigned |
I'll start by implementing functionality for doing the form generation and posting. When that has been done, I need to know about more about the "other places" were this can be a problem so I can insert the functionality there. In some cases this has to be resolved on a case-by-case basis.
comment:3 by , 16 years ago
(In [4384]) References #1032: Apache server complains "Request-URI Too Large"
Main functionality is in place. The "New experiment" function is fixed and probably all other places where a new window is opened with the Main.openPopup script. Other functions that use 'location.href', 'location.replace' or 'window.open' are not fixed.
comment:4 by , 16 years ago
Owner: | changed from | to
---|---|
Status: | assigned → new |
comment:5 by , 16 years ago
I was going to test the new functionality but I realize that my test database does not contain enough data. We cannot test this until we release 2.8 and upgrade our production server. Should we move this ticket to 2.8.1 for final testing?
comment:6 by , 16 years ago
I think the core functionality is working and doesn't need more testing. It is just that I don't have any information about "other places" that may be affected. In theory this could be checked on the existing production server, but it may be hard to know if any additional place that is found has been fixed already or not. Maybe we should just close this ticket and create a new one for reporting new problems.
follow-up: 8 comment:7 by , 16 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:8 by , 16 years ago
Replying to jari: One 'other place' seems to be the filter plugin. That is, when creating as child bioassayset using a filter and selecting a subset of assays to be filtered (as opposed to selecting all bioassays). Tried to filter 577 bioassays of 600+ and got the Request-URI Too Large notification.
Ticket #896 solved a similar problem and also contains some background information about how long URLs various browsers/servers supports (http://www.boutell.com/newfaq/misc/urllength.html). But, ticket #896 was not really problematic to solve since it was a pure HTML form that we could just change from GET to POST.
The case described in this case uses Javascript to build an URL and then uses
window.open(url)
to show the new window. There are no forms involved. So, there is really no GET that we can change to POST. I guess there are lots and lots of places where this could theoretically be an issue. So it would be nice to know about the "other places".The suggested solutions I have seen from users with similar problems involves the following steps:
window.open('', 'TheWindow', ....)
TheWindow.write('<input type=hidden name=... value=...>
TheWindow.document.forms[0].submit()
Another workaround is to increase the allowed length on the server side and don't use Internet explorer: http://httpd.apache.org/docs/2.2/mod/core.html#limitrequestline