@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator

Don't compute MIME type of noninitial chunks from `diffusion.filecontentquery` master

Summary: Ref T12857. This is generally fairly fuzzy for now, but here's something concrete: when we build a large file with `diffusion.filecontentquery`, we compute the MIME type of all chunks, not just the initial chunk. Instead, pass a dummy MIME type to non-initial chunks so we don't try to compute them. This mirrors logic elsewhere, in `file.uploadchunk`. This should perhaps be centralized at some point, but it's a bit tricky since the file doesn't know that it's a chunk until later. Also, clean up the `TempFile` immediately -- this shouldn't actually affect anything, but we don't need it to live any longer than this. Test Plan: - Made `hashFileContent()` return `null` to skip the chunk cache. - Added `phlog()` to the MIME type computation. - Loaded a 12MB file in Diffusion. - Before patch: Saw 3x MIME type computations, one for each 4MB chunk. - After patch: Saw 1x MIME type computation, for initial chunk only. Reviewers: chad, amckinley Reviewed By: chad Maniphest Tasks: T12857 Differential Revision: https://secure.phabricator.com/D18138


+13 -6
2 changed files