diff --git a/src/applications/search/management/PhabricatorSearchManagementIndexWorkflow.php b/src/applications/search/management/PhabricatorSearchManagementIndexWorkflow.php index 7838808f48..a324a20637 100644 --- a/src/applications/search/management/PhabricatorSearchManagementIndexWorkflow.php +++ b/src/applications/search/management/PhabricatorSearchManagementIndexWorkflow.php @@ -45,6 +45,8 @@ final class PhabricatorSearchManagementIndexWorkflow } 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 index c984b2ddbf..8728b72ee5 100644 --- a/src/applications/search/management/PhabricatorSearchManagementInitWorkflow.php +++ b/src/applications/search/management/PhabricatorSearchManagementInitWorkflow.php @@ -11,6 +11,7 @@ final class PhabricatorSearchManagementInitWorkflow } 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 index 23333665e3..86d8c104cb 100644 --- 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 index 4a5f7ea6c5..3c099a0548 100644 --- a/src/infrastructure/cluster/config/PhabricatorClusterSearchConfigOptionType.php +++ b/src/infrastructure/cluster/config/PhabricatorClusterSearchConfigOptionType.php @@ -4,6 +4,10 @@ final class PhabricatorClusterSearchConfigOptionType 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 @@ final class PhabricatorClusterSearchConfigOptionType 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)))); }