Page MenuHomePhabricator

Connecting to Database
Closed, InvalidPublic

Description

Hi,

I am using MySQL 5.3 (will be updated in future) and the latest stable branch.
I get a pop all time, that the database can't be reached. Down are traces from my log file.

@40000000595f8fca250b9ea4 [2017-07-07 15:42:24] EXCEPTION: (PhabricatorClusterStrandedException) Unable to establish a connection to any database host (while trying "gino_phabricator_daemon"). All masters and replicas are completely unreachable. at [<phabricator>/src/infrastructure/storage/lisk/PhabricatorLiskDAO.php:140]
@40000000595f8fca251c7ef4 arcanist(head=stable, ref.master=c04f141ab023, ref.stable=0c53a35d30e9), phabricator(head=stable, ref.master=8d11e127ff15, ref.stable=5306fbfa7af4), phutil(head=stable, ref.master=0a4487d37cd7, ref.stable=30065f1c5a39)
@40000000595f8fca251c8aac   #0 PhabricatorLiskDAO::raiseUnreachable(string) called at [<phabricator>/src/infrastructure/storage/lisk/PhabricatorLiskDAO.php:111]
@40000000595f8fca251c927c   #1 PhabricatorLiskDAO::newClusterConnection(string, string, string) called at [<phabricator>/src/infrastructure/storage/lisk/PhabricatorLiskDAO.php:66]
@40000000595f8fca251ce86c   #2 PhabricatorLiskDAO::establishLiveConnection(string) called at [<phabricator>/src/infrastructure/storage/lisk/LiskDAO.php:1008]
@40000000595f8fca251cec54   #3 LiskDAO::establishConnection(string) called at [<phabricator>/src/applications/daemon/query/PhabricatorDaemonLogQuery.php:57]
@40000000595f8fca251cf424   #4 PhabricatorDaemonLogQuery::loadPage() called at [<phabricator>/src/infrastructure/query/policy/PhabricatorPolicyAwareQuery.php:236]
@40000000595f8fca251d174c   #5 PhabricatorPolicyAwareQuery::execute() called at [<phabricator>/src/infrastructure/daemon/control/PhabricatorDaemonReference.php:33]
@40000000595f8fca251d4a14   #6 PhabricatorDaemonReference::loadReferencesFromFile(string) called at [<phabricator>/src/applications/daemon/management/PhabricatorDaemonManagementWorkflow.php:52]
@40000000595f8fca251d6184   #7 PhabricatorDaemonManagementWorkflow::loadRunningDaemons() called at [<phabricator>/src/applications/daemon/management/PhabricatorDaemonManagementWorkflow.php:327]
@40000000595f8fca251d9064   #8 PhabricatorDaemonManagementWorkflow::executeStartCommand(array) called at [<phabricator>/src/applications/daemon/management/PhabricatorDaemonManagementStartWorkflow.php:37]
@40000000595f8fca251d9834   #9 PhabricatorDaemonManagementStartWorkflow::execute(PhutilArgumentParser) called at [<phutil>/src/parser/argument/PhutilArgumentParser.php:441]
@40000000595f8fca251db774   #10 PhutilArgumentParser::parseWorkflowsFull(array) called at [<phutil>/src/parser/argument/PhutilArgumentParser.php:333]
@40000000595f8fca251dbf44   #11 PhutilArgumentParser::parseWorkflows(array) called at [<phabricator>/scripts/daemon/manage_daemons.php:23]
@40000000595f8fca26be636c next run time: 2017-07-07 15:43:50.000000000

Event Timeline

@chad It's more helpful. If you would have a template instead of a page long instruction.
+ If you tag it as invalid, it's also nice why it is invalid. I provided versions and logs.
+ if you leave user alone with her/his problems, they lose wish to use it.

The document I linked (and also on the form you filled out for reporting a bug) state the requirements on what's required for a bug report. I marked this as invalid and directed you to a document on how to resolve it.

Specifically, I have no idea what the bug you are reporting is, nor what the steps are to reproduce it in my local environment. If your daemons are having connection trouble with your database, my assumption is this is a local networking problem, and not a Phabricator issue.

And wow on your reply. Just ... wow.

To take a step back, the upstream has exceedingly limited "free support" resources. So in exchange for providing free support, we simply as users to read and follow guidelines before submission. This reduces support overhead on the upstream and means more time can be spent both providing support to other users or by developing new features. There are more detailed discussions on how we can continue "free support" and "paid support" under T9212 and T12681.

I can supply more information, if Iknow what is necessary. But let me try to clarify the issue.

It can't be a network issue, because database and phabricator is running on same host. I saw this issue with different phabricator databases:

Unable to establish a connection to any database host (while trying "gino_phabricator_**XXX**"). All masters and replicas are completely unreachable. at [<phabricator>/src/infrastructure/storage/lisk/PhabricatorLiskDAO.php:140]

If I would know how to reproduce this issue, I could tell you. But I don't know. I just set up phabricator and use normally the website. From time to time, the site is running in this exception. I even changed from MySQL 5.1 to MariaDB 10 (compatible to MySQL 5.5). I even only have one master an replicas. Is there any timeout to set?
Maybe there are not enough daemons free? Too many connections? I can't figure out what this exception means. I just see it on Phabricator databases.

I hope this is more helpful before to close an issue.

Thanks for your time.

I don't have any great thoughts here. I'd dig into MySQL and see what limits might be getting reached that it's turning away connections. I presume you did not set up clustering in the database? Unclear what "I even only have one master an replicas." means.

Other than that, I can't find any other related reports with similar error messages. The details provided here are super thin and gives us really nothing to go on. You can try to see if the community has debugging suggestions in Conpherence or Ponder, see Support Resources.