Excerpt |
---|
This page is for anyone who has been tempted to add files (e.g. js, css) into JIRA's |
Note | ||||||||
---|---|---|---|---|---|---|---|---|
This is now filed as a JIRA bug,
|
Let's pick on jira.jboss.org
for our demo, but you can use any public, non-Cloud JIRA instance fronted by Apache (not nginx, which seems to mask the problem). Try hitting https://jira.jboss.org/robots.txt. This loads, but hangs for 20 seconds.
If you are using Chrome, now view the cached response by viewing chrome://view-http-cache/https://jira.jboss.org/robots.txt edit: sadly, Chrome no longer supports chrome://cache and chrome://view-http-cache.:
The RESPONSE_INFO_TRUNCATED status indicates that the server stopped responding before the full Content-Length
number of bytes was received.
...
Code Block |
---|
jturner@jturner-desktop:~$ time curl -sS 'https://jira.jboss.org/static/util/urls.js' --compressed -o /dev/null curl: (18) transfer closed with 263 bytes remaining to read real 0m22.109s user 0m0.027s sys 0m0.004s |
Consequences of the bug
Naturally, any JIRA page that refers to a static file will be affected. The page will load, but then hang for 20 seconds or so as the browser waits for the last resource to load, before giving up.
...
- In Firefox, the page loads, but hangs for 20s. Another hit, another 20 second hang.
- In Chrome (64.0 tested), the page loads, but hangs for 20s. On the second hit things get interesting:
Corruption! On a third hit, more corruption, but now there is no hang:
On the second and third hit, if you view to see the state of Chrome's cache, you'll see that the page is flagged as truncated:
After the third hit, Chrome has marked the corrupt cache entry as valid:
and henceforth all requests for the URL will serve binary gibberish at the end.
This unfortunate behaviour appears to be a Chrome bug (edit: now filed as Issue 423318). Searching for RESPONSE_INFO_TRUNCATED will bring up relevant hits, including a stale bug report (https://bugs.chromium.org/p/chromium/issues/detail?id=423318) and people complaining of the same behaviour (https://stackoverflow.com/questions/47311027/response-info-truncated-file-in-chrome-cache). I am not sure what effect this binary corruption has on browsers. Possibly none, as browsers are built to handle any rubbish thrown at them.
...
- Now you know why JIRA's 404 page always seems slow.
I would file a bug, but Atlassian no longer accept bug reports on https://jira.atlassian.com., filed as bug
indirectly via support requestJira server Atlassian JIRA serverId 144880e9-a353-312f-9412-ed028e8166fa key JRASERVER-66932 - If you want to add custom Javascript, CSS or other non-image files to
atlassian-jira
, you can't rely on Tomcat to serve them. Better to serve the static files directly via your frontend webserver.
...