Page MenuHomePhabricator

Add a friendlier "in flight" error page
ClosedPublic

Authored by epriestley on Sep 6 2016, 8:53 PM.
Tags
None
Referenced Files
F16775203: D16503.id39723.diff
Wed, Jun 18, 1:46 AM
F16775177: D16503.id39713.diff
Wed, Jun 18, 1:46 AM
F16775084: D16503.id.diff
Wed, Jun 18, 1:45 AM
F16774900: D16503.diff
Wed, Jun 18, 1:44 AM
Unknown Object (File)
Sun, Jun 1, 9:44 PM
Unknown Object (File)
Wed, May 28, 12:41 PM
Unknown Object (File)
Tue, May 27, 11:28 AM
Unknown Object (File)
Tue, May 27, 8:39 AM
Subscribers
None

Details

Summary

Ref T11589. When we hit a fatal setup issue (essentially always a connection failure) after we've already survived them on at least one request, we can be pretty sure a server went down and that the problem is not a setup/configuration issue.

In this case, show a friendlier error page instead of the fairly detailed technical one.

Test Plan
  • Broke MySQL config.
  • Restarted Apache.
  • Got the "admin/setup" error page:

Screen Shot 2016-09-06 at 1.50.21 PM.png (1×1 px, 137 KB)

  • Fixed the MySQL config.
  • Loaded any page, to put us "in flight".
  • Broke MySQL config.
  • Loaded any page.
  • Got the friendly "in flight" error page:

Screen Shot 2016-09-06 at 1.48.05 PM.png (1×1 px, 68 KB)

If you want to design this better, easiest way to get to it is:

  • Set mysql.port to 9999 in conf/local/local.json.
  • Reload any page while already running (don't restart).

Diff Detail

Repository
rP Phabricator
Branch
init5
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 13592
Build 17510: Run Core Tests
Build 17509: arc lint + arc unit