Has this ever happened to you? You're working in Jira, maybe doing something like running an Integrity check, and WHAM, after loading for a while the page just stops and gives you an error.
Well, maybe it's not this exact screen. If you get a generic 504 or 50x black text on a white background, it's time to think about customizing your reverse proxy's error page. (you are using a reverse proxy, right?) But that's a post for another day!
Today we're looking at why you hit that error page. Timeouts! By default, nginx and Apache will stop trying to connect to Jira if it doesn't finish responding to a request in 30 seconds. Normally this would be fine, because normal pages only take a few seconds at most to load.
But say you're doing something like running the Integrity Checker on a large instance. That single page could take several minutes to load, because it takes a long time for the Integrity Checker to execute! Once it hits 30 seconds of waiting, your reverse proxy is going to give up and return an error to you instead of continuing to wait for Jira. Oh no! If you want to get the results from the Integrity Checker, you're going to need to open up your reverse proxy configuration and increase that limit. nginx is my proxy of choice, so check out the Apache documentation or your own relevant proxy if you're using something else.
In the configuration for our instance, I've tweaked the default timeout to 60 seconds (some people insist on loading filters with large pagination - we'll get to that in a minute) and provided explanations for the values in comments so future administrators will be informed. Feel free to copy this straight in:
# The read timeout is the primary "how long will I see a white screen before I get an 500 error message from nginx" - see these values:
# Application restart - set to 5s (will show people an error message sooner instead of an eternally-loading whitescreen) - note this isn't useful after Jira 7.2 because Jira includes its own "starting up" page
# Normal operation - 60s
# If you need to use the Integrity Checker - 500s
Now about those large filters! Have you ever had a bulk change with a lot of issues time out on you? Had to try the bulk change again with smaller amounts of issues? That read timeout is actually coming to your assistance here! Take a look at the search you're starting with, and see what columns are selected in List view:
The more columns that are selected, the more work Jira has to do during a bulk change to render all the items in those columns up to the max number of issues - maybe 1,000! If you're about to do a bulk change, save yourself some headache and uncheck everything except the Key, Issue Type, and Summary. You'll be amazed at how much faster the bulk change screens load, and you won't encounter issues with a timeout.