From 580ad73ced9c46aff7e8a72a253b09ee021cc045 Mon Sep 17 00:00:00 2001 From: Yannic Bonenberger Date: Thu, 12 May 2022 18:11:48 +0200 Subject: [PATCH 1/2] Document errors returned by Execution/WaitExecution --- .../remote/execution/v2/remote_execution.proto | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/build/bazel/remote/execution/v2/remote_execution.proto b/build/bazel/remote/execution/v2/remote_execution.proto index 437ead7c..bdedbc71 100644 --- a/build/bazel/remote/execution/v2/remote_execution.proto +++ b/build/bazel/remote/execution/v2/remote_execution.proto @@ -80,7 +80,8 @@ service Execution { // // Errors discovered during creation of the `Operation` will be reported // as gRPC Status errors, while errors that occurred while running the - // action will be reported in the `status` field of the `ExecuteResponse`. The + // action will be reported in the `status` field of the + // [ExecuteResponse][build.bazel.remote.execution.v2.ExecuteResponse]. The // server MUST NOT set the `error` field of the `Operation` proto. // The possible errors include: // @@ -120,6 +121,21 @@ service Execution { // operation completes, and then respond with the completed operation. The // server MAY choose to stream additional updates as execution progresses, // such as to provide an update as to the state of the execution. + // + // Similarly to [Execute][build.bazel.remote.execution.v2.Execution.Execute], + // errors that occured while running the action will be reported in the + // `status` field of + // [ExecuteResponse][build.bazel.remote.execution.v2.ExecuteResponse]. + // The possible errors include: + // + // * `NOT_FOUND`: The client requested an + // [Operation][google.longrunning.Operation] that is not known by the server + // (e.g., because + // [Execute][build.bazel.remote.execution.v2.Execution.Execute] never + // returned that value, or because the action was already executed and + // returned the result). + // * All errors returned by + // [Execute][build.bazel.remote.execution.v2.Execution.Execute]. rpc WaitExecution(WaitExecutionRequest) returns (stream google.longrunning.Operation) { option (google.api.http) = { post: "/v2/{name=operations/**}:waitExecution" body: "*" }; } From a87db4bb31e23e573f195f90df2d96a5f702c1df Mon Sep 17 00:00:00 2001 From: Yannic Date: Wed, 8 Mar 2023 21:38:36 +0100 Subject: [PATCH 2/2] Update remote_execution.proto --- build/bazel/remote/execution/v2/remote_execution.proto | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/build/bazel/remote/execution/v2/remote_execution.proto b/build/bazel/remote/execution/v2/remote_execution.proto index bdedbc71..1d6425a3 100644 --- a/build/bazel/remote/execution/v2/remote_execution.proto +++ b/build/bazel/remote/execution/v2/remote_execution.proto @@ -132,8 +132,10 @@ service Execution { // [Operation][google.longrunning.Operation] that is not known by the server // (e.g., because // [Execute][build.bazel.remote.execution.v2.Execution.Execute] never - // returned that value, or because the action was already executed and - // returned the result). + // returned that value, because the action was already executed and returned + // the result, or because the action was cancelled explicitly using + // [google.longrunning.Operations.CancelOperation] or implicitly because there + // was no client waiting for the action to execute). // * All errors returned by // [Execute][build.bazel.remote.execution.v2.Execution.Execute]. rpc WaitExecution(WaitExecutionRequest) returns (stream google.longrunning.Operation) {