diff --git a/src/applications/config/check/PhabricatorSetupCheckDaemons.php b/src/applications/config/check/PhabricatorSetupCheckDaemons.php index a77f32910f..29a36e7a7c 100644 --- a/src/applications/config/check/PhabricatorSetupCheckDaemons.php +++ b/src/applications/config/check/PhabricatorSetupCheckDaemons.php @@ -54,15 +54,47 @@ final class PhabricatorSetupCheckDaemons extends PhabricatorSetupCheck { 'Managing Daemons with phd'); $summary = pht( - 'You should restart the daemons. Their configuration is out of '. - 'date.'); + 'At least one daemon is currently running with different '. + 'configuration than the Phabricator web application.'); $message = pht( - 'The Phabricator daemons are running with an out of date '. - 'configuration. If you are making multiple configuration changes, '. - 'you only need to restart the daemons once after the last change.'. + 'At least one daemon is currently running with a different '. + 'configuration (config checksum %s) than the web application '. + '(config checksum %s).'. "\n\n". - 'Use %s to restart daemons. See the %s or %s for more information.', + 'This usually means that you have just made a configuration change '. + 'from the web UI, but have not yet restarted the daemons. You '. + 'need to restart the daemons after making configuration changes '. + 'so they will pick up the new values: until you do, they will '. + 'continue operating with the old settings.'. + "\n\n". + '(If you plan to make more changes, you can restart the daemons '. + 'once after you finish making all of your changes.)'. + "\n\n". + 'Use %s to restart daemons. You can find a list of running daemons '. + 'in the %s, which will also help you identify which daemon (or '. + 'daemons) have divergent configuration. For more information about '. + 'managing the daemons, see %s in the documentation.'. + "\n\n". + 'This can also happen if you use the %s environmental variable to '. + 'choose a configuration file, but the daemons run with a different '. + 'value than the web application. If restarting the daemons does '. + 'not resolve this issue and you use %s to select configuration, '. + 'check that it is set consistently.'. + "\n\n". + 'A third possible cause is that you run several machines, and '. + 'the %s configuration file differs between them. This file is '. + 'updated when you edit configuration from the CLI with %s. If '. + 'restarting the daemons does not resolve this issue and you '. + 'run multiple machines, check that all machines have identical '. + '%s configuration files.'. + "\n\n". + 'This issue is not severe, but usually indicates that something '. + 'is not configured the way you expect, and may cause the daemons '. + 'to exhibit different behavior than the web application does.', + + phutil_tag('tt', array(), substr($daemon->getEnvHash(), 0, 12)), + phutil_tag('tt', array(), substr($environment_hash, 0, 12)), phutil_tag('tt', array(), 'bin/phd restart'), phutil_tag( 'a', @@ -77,11 +109,15 @@ final class PhabricatorSetupCheckDaemons extends PhabricatorSetupCheck { 'href' => $doc_href, 'target' => '_blank' ), - pht('Managing Daemons with phd'))); + pht('Managing Daemons with phd')), + phutil_tag('tt', array(), 'PHABRICATOR_ENV'), + phutil_tag('tt', array(), 'PHABRICATOR_ENV'), + phutil_tag('tt', array(), 'phabricator/conf/local/local.json'), + phutil_tag('tt', array(), 'bin/config'), + phutil_tag('tt', array(), 'phabricator/conf/local/local.json')); $this->newIssue('daemons.need-restarting') - ->setShortName(pht('Daemons Need Restarting')) - ->setName(pht('Phabricator Daemons Need Restarting')) + ->setName(pht('Daemons and Web Have Different Config')) ->setSummary($summary) ->setMessage($message) ->addCommand('phabricator/ $ ./bin/phd restart');