[Run Timeline] Don't drop job data if locations within the FutureTicksQuery fails #27944
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.
Summary & Motivation
Currently, if the FutureTicksQuery itself fails we recover by returning the ongoing runs and complete runs data that we have.
However, if the query doesn't fail then we end up iterating over all of the locations within it and constructing a
jobs
array with all of the rows of the timeline. The problem is that this construction relies on the jobs returned by FutureTicksQuery. If FutureTicksQuery doesn't return a particular job then we drop the data for that job completely. To fix this track which keys we've added via the FutureTicksQuery and then do a second pass where we add data for any jobs that were not in the FutureTicksQueryHow I Tested These Changes
Loaded the Run timeline for a customer with a failing location entry
Changelog