-
-
Notifications
You must be signed in to change notification settings - Fork 636
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[internal] use CAS BatchReadBlobs API for small blob reads #15969
Conversation
[ci skip-build-wheels]
Note: The tests will need to be reworked to test both small and large blob paths. This could be done by directly calling the |
Needs cherry-pick to 2.13? |
Eventually maybe but not today. I need to do a follow-up which properly invokes both the bath and stream paths in the tests. |
…d#15969) In pantsbuild#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. # Building wheels and fs_util will be skipped. Delete if not intended. [ci skip-build-wheels]
…ck of #15969) (#15997) In #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.
…antsbuild#15969)" This reverts commit 5874884. This resolves and issue with running `./pants check` on more than just a few files.
…antsbuild#15969)" This reverts commit 5874884. [ci skip-build-wheels]
…herry-pick of pantsbuild#15969) (pantsbuild#15997)" This reverts commit bcbfda5. [ci skip-build-wheels]
Causes stack blowout due to the Future being too big. * Revert "[internal] test batch and stream API paths for load/store from remote store (#15996)" This reverts commit 2fa8671. [ci skip-build-wheels] * Revert "[internal] use CAS BatchReadBlobs API for small blob reads (#15969)" This reverts commit 5874884. [ci skip-build-wheels]
In #12537, Pants learned how to send small blob writes to a remote store via the
BatchUpdateBlobs
API of the REAPI instead of theByteStream.Write
streaming API. This PR similarly teaches Pants how to use theBatchReadBlobs
API for small blob reads instead of theByteStream.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.