You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While experimenting with NativeLink locally using the remotetool tool I noticed that NativeLink was failing to download a directory given a digest because of the missing page_token value. The errors were in the form of
2024-09-07T03:32:26.190652Z ERROR nativelink_service::cas_server: error: status: Internal, message: "Failed to parse `size_bytes` in `page_token` : Failed on get_tree() command", details: [], metadata: MetadataMap { headers: {} }
at nativelink-service/src/cas_server.rs:374
in nativelink_service::cas_server::get_tree with request: GetTreeRequest { instance_name: "main", root_digest: Some(Digest { hash: "501f8a609222375221dc00498ef446c2c867bc219c189e5afff25fc5611d5f66", size_bytes: 171 }), page_size: 0, page_token: "", digest_function: Unknown }
in nativelink_util::task::http_executor
in nativelink::services::http_connection with remote_addr: 192.168.65.1:16451, socket_addr: 0.0.0.0:50051
How to Verify
Below is how I set up the test of the get_tree functionality.
#905 implemented the
get_tree
functionality of thebuild.bazel.remote.execution.v2.ContentAddressableStorage
. The request type,GetTreeRequest
, includes a field for apage_token
which is to be thenext_page_token
component of a priorGetTreeResponse
object.However, the implementation in #905 assumes that every
get_tree
request will include a specifically formattedpage_token
value. The format is not a component of the API and is not required to be consistent between implementations. In fact, the "reference" implementation viabuildfarm
does explicitly does not require an initialpage_token
: https://github.com/bazelbuild/bazel-buildfarm/blob/635d9fed03bedc076d019dcf4f430f20744eafe8/src/main/java/build/buildfarm/common/TreeIterator.java#L51-L52.While experimenting with NativeLink locally using the
remotetool
tool I noticed that NativeLink was failing to download a directory given a digest because of the missingpage_token
value. The errors were in the form ofHow to Verify
Below is how I set up the test of the
get_tree
functionality.remote-api-sdks
repo:remotetool
$ cd remote-apis-sdks/go/cmd/remotetool/ $ go build -o remotetool
remotetool
'supload_dir
operation which usesBatchUpdateBlobs
method.download_dir
which usesGetTree
.The text was updated successfully, but these errors were encountered: