Page MenuHomePhabricator

When database connection exceptions occur, raise them to the setup layer
ClosedPublic

Authored by epriestley on May 17 2018, 1:03 PM.
Tags
None
Referenced Files
F14890723: D19454.id46536.diff
Sun, Feb 9, 6:05 AM
F14890722: D19454.id46535.diff
Sun, Feb 9, 6:05 AM
F14890721: D19454.id.diff
Sun, Feb 9, 6:05 AM
F14890720: D19454.diff
Sun, Feb 9, 6:05 AM
Unknown Object (File)
Wed, Jan 29, 8:06 PM
Unknown Object (File)
Sun, Jan 26, 11:19 PM
Unknown Object (File)
Sat, Jan 25, 1:31 AM
Unknown Object (File)
Sat, Jan 25, 1:31 AM
Subscribers
None

Details

Summary

Ref T13141. Currently, during first-time setup we don't surface all the details about connection exceptions that we could: the underlying exception is discarded inside cluster connection management.

This isn't a huge issue since the reason for connection problems is usually fairly obvious, but in at least one case (see T13141) we hit a less-than-obvious exception.

Instead, store the original exception and propagate the message up the stack so users have more information about the problem.

Test Plan
  • Configured an intentionally bad MySQL username.
  • Restarted Apache and loaded Phabricator.
  • Got a more helpful exception with a specific authentication error message.

Screen Shot 2018-05-17 at 5.56.31 AM.png (968×1 px, 138 KB)

Diff Detail

Repository
rP Phabricator
Branch
ref1
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 20343
Build 27628: Run Core Tests
Build 27627: arc lint + arc unit