mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-22 14:52:41 +01:00
Correct bin/storage analyze
internal API for cluster environments
Summary: Ref T12819. This worked right in a non-cluster environment, but `bin/storage upgrade` iterates over each master in a partitioned cluster environment. Tweak the API so `bin/storage analyze` targets a single host but `bin/storage upgrade` can hit all the masters. Test Plan: Will run `bin/storage upgrade` in production again. Ran `upgrade` and `analyze` locally, still work fine. Reviewers: chad Reviewed By: chad Maniphest Tasks: T12819 Differential Revision: https://secure.phabricator.com/D18576
This commit is contained in:
parent
a46a9ff165
commit
4cae4a3b76
2 changed files with 6 additions and 4 deletions
|
@ -12,7 +12,8 @@ final class PhabricatorStorageManagementAnalyzeWorkflow
|
|||
}
|
||||
|
||||
public function didExecute(PhutilArgumentParser $args) {
|
||||
$this->analyzeTables();
|
||||
$api = $this->getSingleAPI();
|
||||
$this->analyzeTables($api);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -143,7 +143,7 @@ abstract class PhabricatorStorageManagementWorkflow
|
|||
if (!$this->dryRun) {
|
||||
$should_analyze = (($err == 0) || ($err == 2));
|
||||
if ($should_analyze) {
|
||||
$this->analyzeTables();
|
||||
$this->analyzeTables($api);
|
||||
}
|
||||
}
|
||||
} catch (Exception $ex) {
|
||||
|
@ -1172,12 +1172,13 @@ abstract class PhabricatorStorageManagementWorkflow
|
|||
->lock();
|
||||
}
|
||||
|
||||
final protected function analyzeTables() {
|
||||
final protected function analyzeTables(
|
||||
PhabricatorStorageManagementAPI $api) {
|
||||
|
||||
// Analyzing tables can sometimes have a significant effect on query
|
||||
// performance, particularly for the fulltext ngrams tables. See T12819
|
||||
// for some specific examples.
|
||||
|
||||
$api = $this->getSingleAPI();
|
||||
$conn = $api->getConn(null);
|
||||
|
||||
$patches = $this->getPatches();
|
||||
|
|
Loading…
Reference in a new issue