Page MenuHomePhabricator

Allow diffusion.filecontentquery to load data for arbitrarily large files
ClosedPublic

Authored by epriestley on Jan 21 2016, 5:42 PM.
Tags
None
Referenced Files
F15375505: D15072.id.diff
Wed, Mar 12, 11:33 PM
F15374696: D15072.diff
Wed, Mar 12, 8:16 PM
F15353078: D15072.diff
Mon, Mar 10, 7:59 PM
F15344909: D15072.diff
Mon, Mar 10, 7:24 AM
F15335235: D15072.id.diff
Sat, Mar 8, 2:40 PM
F15335234: D15072.diff
Sat, Mar 8, 2:40 PM
Unknown Object (File)
Thu, Feb 27, 12:47 PM
Unknown Object (File)
Fri, Feb 14, 4:09 AM
Subscribers
None

Details

Summary

Fixes T10186. After D14970, diffusion.filecontentquery puts the content in a file and returns the file PHID.

However, it does this in a way that doesn't go through the chunking engine, so it will fail for files larger than the chunk threshold (generally, 8MB).

Instead, stream the file from the underlying command directly into chunked storage.

Test Plan

Diff Detail

Repository
rP Phabricator
Branch
upload1
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 10229
Build 12435: Run Core Tests
Build 12434: arc lint + arc unit

Event Timeline

epriestley retitled this revision from to Allow diffusion.filecontentquery to load data for arbitrarily large files.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.

I also tried to make the table on ApplicationsFilesConfigure a little more clear and less technical, since it currently looks like only 8MB files are supported even when a chunk engine is configured. It now just shows "Limit: Unlimited" for the chunk engine:

Screen Shot 2016-01-21 at 9.45.30 AM.png (251×1 px, 40 KB)

chad edited edge metadata.
This revision is now accepted and ready to land.Jan 21 2016, 5:47 PM
This revision was automatically updated to reflect the committed changes.