Page MenuHomePhabricator

Kick off indexing for File objects on creation
ClosedPublic

Authored by amckinley on Apr 18 2017, 3:24 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Dec 24, 10:49 AM
Unknown Object (File)
Thu, Dec 19, 7:47 AM
Unknown Object (File)
Fri, Dec 13, 10:06 PM
Unknown Object (File)
Sat, Dec 7, 6:14 PM
Unknown Object (File)
Fri, Dec 6, 3:03 PM
Unknown Object (File)
Thu, Dec 5, 7:06 AM
Unknown Object (File)
Mon, Dec 2, 7:34 AM
Unknown Object (File)
Fri, Nov 29, 11:20 AM
Subscribers

Details

Summary

Ensures that newly-made File objects get indexed into the new ngrams index. Fixes T8788.

Test Plan
  • 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
Lint
Lint Not Applicable
Unit
Tests Not Applicable

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 FileUpload 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.

This revision is now accepted and ready to land.Apr 18 2017, 3:29 PM
This revision was automatically updated to reflect the committed changes.