mirror of
https://we.phorge.it/source/phorge.git
synced 2025-03-28 04:00:17 +01:00
Make sure writes go to the right cluster
Summary: Two little issues 1. there was an extra call to getHostForWrite, 2. The engine instance was shared between multiple service definitions so it was overwriting the list of writable hosts from one service with hosts from another. Test Plan: tested in wikimedia production with multiple services defined like this: ```language=json [ { "hosts": [ { "host": "search.svc.codfw.wmnet", "protocol": "https", "roles": { "read": true, "write": true }, "version": 5 } ], "path": "/phabricator", "port": 9243, "type": "elasticsearch" }, { "hosts": [ { "host": "search.svc.eqiad.wmnet", "protocol": "https", "roles": { "read": true, "write": true }, "version": 5 } ], "path": "/phabricator", "port": 9243, "type": "elasticsearch" } ] ``` Reviewers: #blessed_reviewers, epriestley Reviewed By: #blessed_reviewers, epriestley Subscribers: epriestley Differential Revision: https://secure.phabricator.com/D17581
This commit is contained in:
parent
67a1c40476
commit
cb1d904654
2 changed files with 1 additions and 2 deletions
|
@ -528,7 +528,6 @@ class PhabricatorElasticFulltextStorageEngine
|
|||
$host = $this->getHostForRead();
|
||||
}
|
||||
$uri = '/_stats/';
|
||||
$host = $this->getHostForRead();
|
||||
|
||||
$res = $this->executeRequest($host, $uri, array());
|
||||
$stats = $res['indices'][$this->index];
|
||||
|
|
|
@ -198,7 +198,7 @@ class PhabricatorSearchService
|
|||
implode(', ', array_keys($engines))));
|
||||
}
|
||||
|
||||
$engine = $engines[$config['type']];
|
||||
$engine = clone($engines[$config['type']]);
|
||||
$cluster = new self($engine);
|
||||
$cluster->setConfig($config);
|
||||
$engine->setService($cluster);
|
||||
|
|
Loading…
Add table
Reference in a new issue