HomePhabricator

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

Description

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

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.

Reviewers: amckinley

Reviewed By: amckinley

Maniphest Tasks: T13141

Differential Revision: https://secure.phabricator.com/D19454