Page MenuHomePhabricator

Stream chunks when sending chunked files
ClosedPublic

Authored by epriestley on Mar 13 2015, 9:37 PM.
Tags
None
Referenced Files
F14054623: D12073.diff
Sat, Nov 16, 3:23 AM
F14044224: D12073.diff
Tue, Nov 12, 3:31 PM
F14043419: D12073.diff
Tue, Nov 12, 10:05 AM
F14026331: D12073.diff
Fri, Nov 8, 1:01 AM
F13994311: D12073.id.diff
Wed, Oct 23, 5:17 AM
F13993431: D12073.id29048.diff
Tue, Oct 22, 10:47 PM
F13960565: D12073.diff
Oct 15 2024, 12:04 AM
Unknown Object (File)
Oct 6 2024, 2:12 PM

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

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.