Repository navigation
Conversation
The API reserves credits for the functionality being rendered and keys the reservation on the frid and module name the client sends. When regression recreates the conformance tests of an earlier functionality, the call named that earlier functionality instead. The API found no reservation and answered 404, and the render stopped. Every other call in the conformance test loop already names the rendered functionality. This one now does too. The functionality under test still drives the folder name, through functional_requirement and existing_folder_names. ENG-337
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The problem
A render stops in the middle. The user sees this and nothing more:
The message helps nobody. 404 means "not found". So it reads like the server is down, or like an address is wrong. Both are false. The address is correct and the server is healthy.
The user waits about 45 seconds while the client tries the same call four more times. Then the render stops. Tests that were already built are deleted, so the user starts again.
Why this change fixes it
This is the part that looks unrelated, so here it is step by step.
The 404 does not mean "address not found". The server also answers 404 when it cannot find reserved credits for a call.
The server reserves credits for the one functionality the user is rendering. Every call must name that functionality, or the server finds no credits and refuses.
Near the end of a render, the renderer tests the functionalities that came before. If one of those older tests keeps failing, the renderer builds the tests of that older functionality again. That one call named the older functionality. The server looked for credits under the older functionality. There were none, because the credits belong to the functionality being rendered. So it answered 404.
This change makes that call name the functionality being rendered, which is what every other call already does. The server finds the credits. The render continues.
Closes ENG-337. Sentry: CODEPLAIN-23.