diff --git a/src/applications/search/management/PhabricatorSearchManagementIndexWorkflow.php b/src/applications/search/management/PhabricatorSearchManagementIndexWorkflow.php --- a/src/applications/search/management/PhabricatorSearchManagementIndexWorkflow.php +++ b/src/applications/search/management/PhabricatorSearchManagementIndexWorkflow.php @@ -45,6 +45,8 @@ } public function execute(PhutilArgumentParser $args) { + $this->validateClusterSearchConfig(); + $console = PhutilConsole::getConsole(); $is_all = $args->getArg('all'); diff --git a/src/applications/search/management/PhabricatorSearchManagementInitWorkflow.php b/src/applications/search/management/PhabricatorSearchManagementInitWorkflow.php --- a/src/applications/search/management/PhabricatorSearchManagementInitWorkflow.php +++ b/src/applications/search/management/PhabricatorSearchManagementInitWorkflow.php @@ -11,6 +11,7 @@ } public function execute(PhutilArgumentParser $args) { + $this->validateClusterSearchConfig(); $work_done = false; foreach (PhabricatorSearchService::getAllServices() as $service) { diff --git a/src/applications/search/management/PhabricatorSearchManagementWorkflow.php b/src/applications/search/management/PhabricatorSearchManagementWorkflow.php --- a/src/applications/search/management/PhabricatorSearchManagementWorkflow.php +++ b/src/applications/search/management/PhabricatorSearchManagementWorkflow.php @@ -1,4 +1,26 @@ getMessage())); + } + } + +} diff --git a/src/infrastructure/cluster/config/PhabricatorClusterSearchConfigOptionType.php b/src/infrastructure/cluster/config/PhabricatorClusterSearchConfigOptionType.php --- a/src/infrastructure/cluster/config/PhabricatorClusterSearchConfigOptionType.php +++ b/src/infrastructure/cluster/config/PhabricatorClusterSearchConfigOptionType.php @@ -4,6 +4,10 @@ extends PhabricatorConfigJSONOptionType { public function validateOption(PhabricatorConfigOption $option, $value) { + self::validateClusterSearchConfigValue($value); + } + + public static function validateValue($value) { if (!is_array($value)) { throw new Exception( pht( @@ -46,7 +50,8 @@ if (!array_key_exists($spec['type'], $engines)) { throw new Exception( - pht('Invalid search engine type: %s. Valid types include: %s', + pht( + 'Invalid search engine type: %s. Valid types are: %s.', $spec['type'], implode(', ', array_keys($engines)))); }