Page MenuHomePhabricator

Stream chunks when sending chunked files
ClosedPublic

Authored by epriestley on Mar 13 2015, 9:37 PM.
Tags
None
Referenced Files
F13102601: D12073.diff
Sat, Apr 27, 5:30 AM
Unknown Object (File)
Wed, Apr 24, 10:19 PM
Unknown Object (File)
Sun, Apr 14, 5:07 PM
Unknown Object (File)
Fri, Apr 5, 5:19 PM
Unknown Object (File)
Sun, Mar 31, 5:13 AM
Unknown Object (File)
Mar 20 2024, 5:34 AM
Unknown Object (File)
Mar 10 2024, 10:00 AM
Unknown Object (File)
Feb 14 2024, 7:53 AM

Details

Summary

Ref T7149. Return a real iterator from the Chunk engine, which processes chunks sequentially.

Test Plan

This is a bit hard to read, but shows the underlying chunks being accessed one at a time and only some being accessed when requesting a range of a file:

$ ./bin/files cat F878 --trace --begin 100 --end 256
...
>>> [10] <query> SELECT * FROM `file_storageblob` WHERE `id` = 85
<<< [10] <query> 240 us
 better software.

Phabricat>>> [11] <query> SELECT * FROM `file_storageblob` WHERE `id` = 84
<<< [11] <query> 205 us
or includes applications for:

 >>> [12] <query> SELECT * FROM `file_storageblob` WHERE `id` = 83
<<< [12] <query> 226 us
 - reviewing and auditing source>>> [13] <query> SELECT * FROM `file_storageblob` WHERE `id` = 82
<<< [13] <query> 203 us
 code;
  - hosting and browsing >>> [14] <query> SELECT * FROM `file_storageblob` WHERE `id` = 81
<<< [14] <query> 231 us
repositories;
  - tracking bugs;

Diff Detail

Repository
rP Phabricator
Branch
chunk8
Lint
Lint Errors
SeverityLocationCodeMessage
Errorsrc/applications/files/engine/PhabricatorFileChunkIterator.php:5XHP45PHP Compatibility
Unit
Tests Passed
Build Status
Buildable 4879
Build 4897: [Placeholder Plan] Wait for 30 Seconds

Event Timeline

epriestley retitled this revision from to Stream chunks when sending chunked files.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: btrahan.
btrahan edited edge metadata.
This revision is now accepted and ready to land.Mar 13 2015, 10:36 PM
This revision was automatically updated to reflect the committed changes.