https://pantsbuild.org/ logo
#development
Title
# development
c

curved-television-6568

06/30/2022, 9:54 AM
Git bisect results for
./pants check
issue (forked from https://pantsbuild.slack.com/archives/C0D7TNJHL/p1656558981928259) 🧵
1
Copy code
58748840eb671a27935d493951b496667babdde6 is the first bad commit
commit 58748840eb671a27935d493951b496667babdde6
Author: Tom Dyas <tdyas@toolchain.com>
Date:   Tue Jun 28 16:32:59 2022 -0400

    [internal] use CAS BatchReadBlobs API for small blob reads (#15969)
    
    In <https://github.com/pantsbuild/pants/pull/12537>, Pants learned how to send small blob writes to a remote store via the `BatchUpdateBlobs` API of the REAPI instead of the `ByteStream.Write` streaming API. This PR similarly teaches Pants how to use the `BatchReadBlobs` API for small blob reads instead of the `ByteStream.Read` API.
    
    The goal is to reduce the overhead of small blob reads by avoiding the multiple message exchanges required by the streaming API.
    
    Note: This PR does not batch multiple small blob reads together, which is an approach that could be worthwhile to evaluate in the future.

 src/rust/engine/fs/store/src/remote.rs           | 84 ++++++++++++++++++++----
 src/rust/engine/protos/src/conversions.rs        |  8 +++
 src/rust/engine/testutil/mock/src/cas_service.rs |  5 ++
 3 files changed, 84 insertions(+), 13 deletions(-)
Bisect log:
Copy code
git bisect start
# bad: [27628c32efff2a9c5bac9e42b8add488fa276fd0] Add ability to `run` any `PythonSourceField` (#15849)
git bisect bad 27628c32efff2a9c5bac9e42b8add488fa276fd0
# good: [2229d781a02ca2e3891c3595eee22c11d5c37113] Prepare 2.12.0.dev0. (#14919)
git bisect good 2229d781a02ca2e3891c3595eee22c11d5c37113
# good: [b083fbcdd0f3a83ece3fd6a91994d2457de6cacc] Fix the 2.13.x release notes title. (#15477)
git bisect good b083fbcdd0f3a83ece3fd6a91994d2457de6cacc
# good: [5bda18d7b3409687bbce163ba2e789cd2818ecbd] Fix help for `--process-total-child-memory-usage` and `--process-per-child-memory-usage` (#15733)
git bisect good 5bda18d7b3409687bbce163ba2e789cd2818ecbd
# good: [762b6b6817207ce8113ec100e534dc6472e2cfd3] Add `MaybeAddress` for infallible evaluation of `AddressInput` (#15863)
git bisect good 762b6b6817207ce8113ec100e534dc6472e2cfd3
# good: [6ac55836de6ee7801bfadbb11a1d23af1931e04f] Remove deprecated `--excluded-target-regexp`, `--files-not-found-behavior`, and `--owners-not-found-behavior` global options (#15929)
git bisect good 6ac55836de6ee7801bfadbb11a1d23af1931e04f
# good: [918ac2f68182a8d308113eff336f55dcdbc84847] Remove 2.13.0a0 entries from 2.14.0.dev0 release notes (#15955)
git bisect good 918ac2f68182a8d308113eff336f55dcdbc84847
# bad: [60f2e0be2419e3b72e0e38fc05f345ff9c60ccab] `tailor` and `update-build-files` require specifying CLI arguments (#15941)
git bisect bad 60f2e0be2419e3b72e0e38fc05f345ff9c60ccab
# good: [aa3ef79a861f47036af70fd292396f76c85d1a94] [internal] add observation metric for REAPI GetActionResult calls (#15967)
git bisect good aa3ef79a861f47036af70fd292396f76c85d1a94
# bad: [58748840eb671a27935d493951b496667babdde6] [internal] use CAS BatchReadBlobs API for small blob reads (#15969)
git bisect bad 58748840eb671a27935d493951b496667babdde6
# good: [3bb4a835f8d4c265af623d5aa7d003864365cf63] Update the docs for `fmt` and test report changes (#15968)
git bisect good 3bb4a835f8d4c265af623d5aa7d003864365cf63
# first bad commit: [58748840eb671a27935d493951b496667babdde6] [internal] use CAS BatchReadBlobs API for small blob reads (#15969)
Using the command
$ ./pants --no-pantsd --no-dynamic-ui -ltrace check src/python/pants/backend/docker/util_rules:
PR with the culprit commit reverted: https://github.com/pantsbuild/pants/pull/16014