mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-23 14:00:56 +01:00
Stop indexing the chunk data objects for large Files stored in multiple chunks
Summary: Ref T13164. See PHI766. Currently, when file data is stored in small chunks, we submit each chunk to the indexing engine. However, chunks are never surfaced directly and can never be found via any search/query, so this work is pointless. Just skip it. (It would be nice to do this a little more formally on `IndexableInterface` or similar as `isThisAnIndexableObject()`, but we'd have to add like a million empty "yes, index this always" methods to do that, and it seems unlikely that we'll end up with too many other objects like these.) Test Plan: - Ran `bin/harbormaster rebuild-log --id ... --force` before and after change, saw about 200 fewer queries after the change. - Uploaded a uniquely named file and searched for it to make sure I didn't break that. Reviewers: amckinley Reviewed By: amckinley Maniphest Tasks: T13164 Differential Revision: https://secure.phabricator.com/D19563
This commit is contained in:
parent
5839a54b60
commit
91abc0f027
1 changed files with 13 additions and 1 deletions
|
@ -159,10 +159,22 @@ final class PhabricatorFile extends PhabricatorFileDAO
|
|||
|
||||
public function saveAndIndex() {
|
||||
$this->save();
|
||||
|
||||
if ($this->isIndexableFile()) {
|
||||
PhabricatorSearchWorker::queueDocumentForIndexing($this->getPHID());
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
private function isIndexableFile() {
|
||||
if ($this->getIsChunk()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public function getMonogram() {
|
||||
return 'F'.$this->getID();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue