Ensures that newly-made File objects get indexed into the new ngrams index. Fixes T8788.
Details
- Reviewers
epriestley - Maniphest Tasks
- T8788: Allow querying for files by name
- Commits
- rPb54adc6161c2: Kick off indexing for File objects on creation
- uploaded a file with daemons stopped; confirmed no new rows in ngrams table
- started daemons; confirmed indexing of previously-uploaded files happened
- uploaded a new file with daemons running; confirmed it got added to the index
Not sure how to test the changes to PhabricatorFileUploadSource->writeChunkedFile() and PhabricatorChunkedFileStorageEngine->allocateChunks(). I spent a few minutes trying to find their callers, but the first looks like it requires a Diffusion repo and the 2nd is only accessible via Conduit. I can test that stuff if necessary, but it's such a small change that I'm not worried about it.
Diff Detail
- Repository
- rP Phabricator
- Branch
- T8788 (branched from master)
- Lint
Lint Passed - Unit
Tests Passed - Build Status
Buildable 16547 Build 22049: Run Core Tests Build 22048: arc lint + arc unit
Event Timeline
Not sure how to test the changes to PhabricatorFileUploadSource->writeChunkedFile() and PhabricatorChunkedFileStorageEngine->allocateChunks().
I think it's fine to just assume these work, but I think they can be reached through some of these paths:
- Use arc upload on a file which is larger than 8MB (actually, I think this doesn't hit either one).
- View a file which is larger than 8MB in Diffusion.
- Use File → Upload File with the actual file control to upload a file larger than 8MB.
- Use the "Upload" icon in a Remarkup textarea to upload a file larger than 8MB.
I'm not sure which of those hit which of the callsites offhand.
The "8MB" stuff is because the chunk engine won't engage for small files: we store small files as a single blob, but break larger files up into a series of 4MB chunks.