Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Issue 2060983006: luci-py/isolateserver.py: Add archive support when downloading. (Closed)

Created:
4 years, 6 months ago by mithro
Modified:
4 years, 4 months ago
Reviewers:
nodir, M-A Ruel, vadim
CC:
chromium-reviews, infra-reviews+luci-py_chromium.org
Base URL:
https://github.com/luci/luci-py.git@master
Target Ref:
refs/heads/master
Project:
luci-py
Visibility:
Public.

Description

luci-py/isolateserver.py: Add archive support when downloading. Add support for extracting archives which contain many small files in one group together. This drastically increases the speed of dealing with a large number of small files. * https://github.com/luci/luci-go/issues/9 * https://crbug.com/598990 BUG=598990 DEPS=2049523004 Committed: https://github.com/luci/luci-py/commit/6a5bfa1af2f8cd27fb5a43e7f95b969b01404807

Patch Set 1 : Uploading for a quick look. #

Patch Set 2 : Tests now pass. #

Total comments: 1

Patch Set 3 : Adding a test. #

Total comments: 23

Patch Set 4 : Small fixes. #

Total comments: 25

Patch Set 5 : Fixing for review. #

Patch Set 6 : Adding a file outside the archive to test. #

Patch Set 7 : Rebase #

Total comments: 14

Patch Set 8 : Fixes. #

Patch Set 9 : Fixes. #

Total comments: 2

Patch Set 10 : Adding a few more tests. #

Patch Set 11 : Removing unneeded output. #

Patch Set 12 : Changing smallar to ar and version bump (maruel requested). #

Patch Set 13 : Fixing the bot_archive.py #

Patch Set 14 : Another attempt at fixing bot_archive.py #

Patch Set 15 : Adding a smoke test (and fixing a bug it found). #

Patch Set 16 : Moving the fileobj stuff to https://codereview.chromium.org/2186263002/ #

Patch Set 17 : Small fixes. #

Patch Set 18 : Update hashes as version has changed. #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+223 lines, -12 lines) Patch
M appengine/isolate/doc/Design.md View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +9 lines, -0 lines 0 comments Download
M appengine/swarming/local_smoke_test.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +4 lines, -4 lines 0 comments Download
M appengine/swarming/server/bot_archive.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +3 lines, -0 lines 0 comments Download
A appengine/swarming/swarming_bot/libs View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -0 lines 0 comments Download
M client/isolated_format.py View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +7 lines, -1 line 0 comments Download
M client/isolateserver.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +23 lines, -7 lines 0 comments Download
M client/run_isolated.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +1 line, -0 lines 0 comments Download
M client/tests/isolateserver_test.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +103 lines, -0 lines 1 comment Download
M client/tests/run_isolated_smoke_test.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +72 lines, -0 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 43 (23 generated)
mithro
Hi Marc, This patch doesn't work yet but is what I was thinking during our ...
4 years, 6 months ago (2016-06-15 08:12:54 UTC) #5
M-A Ruel
+Nodir because we discussed hardlink() before. +Vadim as he wrote the read() with the generator ...
4 years, 6 months ago (2016-06-15 17:42:14 UTC) #7
Vadim Sh.
On 2016/06/15 17:42:14, M-A Ruel wrote: > +Nodir because we discussed hardlink() before. > +Vadim ...
4 years, 6 months ago (2016-06-15 19:03:30 UTC) #8
M-A Ruel
On 2016/06/15 19:03:30, Vadim Sh. wrote: > It seemed like a good idea at the ...
4 years, 6 months ago (2016-06-15 19:18:16 UTC) #9
mithro
On 2016/06/15 19:18:16, M-A Ruel wrote: > On 2016/06/15 19:03:30, Vadim Sh. wrote: > > ...
4 years, 6 months ago (2016-06-18 06:12:00 UTC) #10
mithro
Hey Marc, I've just been working on this patch, getting close to all the existing ...
4 years, 6 months ago (2016-06-18 06:43:10 UTC) #11
mithro
Hi everyone, This CL is now ready to be looked at. I've only added one ...
4 years, 6 months ago (2016-06-20 14:16:04 UTC) #13
nodir
https://codereview.chromium.org/2060983006/diff/100001/client/cipd.py File client/cipd.py (right): https://codereview.chromium.org/2060983006/diff/100001/client/cipd.py#newcode359 client/cipd.py:359: instance_id = version_cache.getfileobj(version_digest).read() DiskCache.getfileobject returns a file and it ...
4 years, 6 months ago (2016-06-20 15:54:35 UTC) #14
mithro
https://codereview.chromium.org/2060983006/diff/100001/client/cipd.py File client/cipd.py (right): https://codereview.chromium.org/2060983006/diff/100001/client/cipd.py#newcode359 client/cipd.py:359: instance_id = version_cache.getfileobj(version_digest).read() On 2016/06/20 15:54:34, nodir wrote: > ...
4 years, 6 months ago (2016-06-21 06:42:34 UTC) #15
M-A Ruel
On 2016/06/18 06:43:10, mithro wrote: > However, I'm wondering what the best way to test ...
4 years, 6 months ago (2016-06-21 13:31:09 UTC) #16
nodir
https://codereview.chromium.org/2060983006/diff/100001/client/isolateserver.py File client/isolateserver.py (right): https://codereview.chromium.org/2060983006/diff/100001/client/isolateserver.py#newcode181 client/isolateserver.py:181: written += readsize On 2016/06/21 06:42:33, mithro wrote: > ...
4 years, 6 months ago (2016-06-21 22:20:05 UTC) #17
mithro
Hi! I believe I have made all the requested changes, if I have missed something, ...
4 years, 6 months ago (2016-06-22 12:03:11 UTC) #18
nodir
lgtm https://codereview.chromium.org/2060983006/diff/180001/client/isolateserver.py File client/isolateserver.py (right): https://codereview.chromium.org/2060983006/diff/180001/client/isolateserver.py#newcode156 client/isolateserver.py:156: """Return file system path for file like object. ...
4 years, 6 months ago (2016-06-22 16:34:06 UTC) #19
M-A Ruel
https://codereview.chromium.org/2060983006/diff/120001/client/isolateserver.py File client/isolateserver.py (right): https://codereview.chromium.org/2060983006/diff/120001/client/isolateserver.py#newcode161 client/isolateserver.py:161: if not isinstance(name, unicode): On 2016/06/22 12:03:10, mithro wrote: ...
4 years, 6 months ago (2016-06-22 17:17:49 UTC) #20
mithro
https://codereview.chromium.org/2060983006/diff/120001/client/isolateserver.py File client/isolateserver.py (right): https://codereview.chromium.org/2060983006/diff/120001/client/isolateserver.py#newcode161 client/isolateserver.py:161: if not isinstance(name, unicode): On 2016/06/22 17:17:49, M-A Ruel ...
4 years, 6 months ago (2016-06-23 07:17:22 UTC) #21
M-A Ruel
lgtm https://codereview.chromium.org/2060983006/diff/180001/appengine/isolate/doc/Design.md File appengine/isolate/doc/Design.md (right): https://codereview.chromium.org/2060983006/diff/180001/appengine/isolate/doc/Design.md#newcode138 appengine/isolate/doc/Design.md:138: - `smallfiles-archive`: An [ar](https://en.wikipedia.org/wiki/Ar_(Unix)) On 2016/06/23 07:17:21, mithro ...
4 years, 6 months ago (2016-06-23 13:29:02 UTC) #22
mithro
https://codereview.chromium.org/2060983006/diff/180001/appengine/isolate/doc/Design.md File appengine/isolate/doc/Design.md (right): https://codereview.chromium.org/2060983006/diff/180001/appengine/isolate/doc/Design.md#newcode138 appengine/isolate/doc/Design.md:138: - `smallfiles-archive`: An [ar](https://en.wikipedia.org/wiki/Ar_(Unix)) On 2016/06/23 13:29:01, M-A Ruel ...
4 years, 4 months ago (2016-07-28 16:38:00 UTC) #35
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2060983006/420001
4 years, 4 months ago (2016-07-28 16:42:05 UTC) #40
commit-bot: I haz the power
Committed patchset #18 (id:420001) as https://github.com/luci/luci-py/commit/6a5bfa1af2f8cd27fb5a43e7f95b969b01404807
4 years, 4 months ago (2016-07-28 16:45:43 UTC) #42
M-A Ruel
4 years, 4 months ago (2016-07-28 16:46:11 UTC) #43
Message was sent while issue was closed.
https://codereview.chromium.org/2060983006/diff/420001/client/tests/isolatese...
File client/tests/isolateserver_test.py (right):

https://codereview.chromium.org/2060983006/diff/420001/client/tests/isolatese...
client/tests/isolateserver_test.py:1134: 
you added one line too much.

Powered by Google App Engine
This is Rietveld 408576698