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
It would be nice if people could share the live-streaming build log URLs and know that they'll always work, regardless of whether they're still live streaming or have completed (even if they're not one of the most recent 30 builds or so which we keep in memory for debugging).
If we recorded a mapping of (builder-id, rev, hexy *buildStatus pointer) => Cloud Storage URL for every build, then if the /temporarylogs handler got a tuple that wasn't in memory, it could then look it up from storage (Cloud Bigtable?) and just redirect the user to the permanent location.
Then we could rename the handler back to simply /logs too.
FWIU, build logs are stored in Datastore by dashboard permanently, so coordinator can redirect to dashboard, and there is no need for cloud storage/bigtable (unless we want to switch from datastore to cloud storage, but that's a different issue).
Also if we store the (builder-id, rev, hexy *buildStatus pointer) => <something> mapping in coordinator's memory, a restart of the coordinator would lose that info.
Proposal:
Dashboard: new handler /result/log/{rev}/{name} searches for Result entity (simple datastore search), retrieves LogHash, retrieves Log and returns the contents of the log (/log handler code will be reused)
Coordinator: /temporarylogs handler redirects to the new handler if getStatus returns nil
It would be nice if people could share the live-streaming build log URLs and know that they'll always work, regardless of whether they're still live streaming or have completed (even if they're not one of the most recent 30 builds or so which we keep in memory for debugging).
If we recorded a mapping of (builder-id, rev, hexy *buildStatus pointer) => Cloud Storage URL for every build, then if the
/temporarylogs
handler got a tuple that wasn't in memory, it could then look it up from storage (Cloud Bigtable?) and just redirect the user to the permanent location.Then we could rename the handler back to simply
/logs
too./cc @adg
The text was updated successfully, but these errors were encountered: