bazelbuild / bazelbuild/remote-apis

GetActionResult non-error cache miss response

Open
#58 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
445
Forks
141
PR merge metrics
No merged PRs in 30d

Description

The error classification response of NOT_FOUND for GetActionResult cache misses means that some response observers, including those of the circuit breaker implementation available but not currently in use by bazel, cannot use success vs. failure as a signal for the reliability of remote availability. Since these requests connote a completely successful round trip through the service to serve an application-level meaningful response, to be lumped in with all other errors, some of which can indicate any level of failure along the communication hierarchy, is an incorrect presentation of the nature of the cache miss.

I suggest that the response should be wrapped in a GetActionResultResponse, with the `present` (hasActionResult() == false) interpretation via protobuf available as the proper means of determining a cache miss, rather than the RESTful error response of NOT_FOUND.

Contributor guide

Open the contributing guide

Research direction

Start by locating the GetActionResult API definition and the current NOT_FOUND handling. Review how GetActionResultResponse and hasActionResult() are represented, then trace any related response observers or tests; done means cache misses use the response's absent-result interpretation rather than an error response.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
api, backend-api-design
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.