Skip to content

net status: preserve controller receipt times in summary patches - #799

Closed
Patrick W. Healy (phealy) wants to merge 1 commit into
phealy/lightweight-status-summary-info-panefrom
phealy/lightweight-status-summary-receipt-time
Closed

Patrick W. Healy (phealy) wants to merge 1 commit into
phealy/lightweight-status-summary-info-panefrom
phealy/lightweight-status-summary-receipt-time

Conversation

@phealy

@phealy Patrick W. Healy (phealy) commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

Based on #798. Live pr712 verification showed last-update times after a full cluster rebuild, but subsequent node-cache notifications replaced them with absent node-provided timestamps. Notify the cluster cache using the entry controller receipt time while preserving raw wire metadata. Applies to summaries, legacy full/delta publications and source changes; changing transports does not renew freshness.

Regression coverage exercises all three publishing paths under a controlled clock, incremental cluster patching, summary deltas, immutable older snapshots and source-only changes. Controller race suite and scoped make fmt passed. One initial unrelated informer lifecycle timeout passed three isolated repetitions and the full race-suite rerun. Draft layer below 1,000 changed lines.

Lightweight status draft stack

Base: #745. Each layer targets the preceding branch and remains draft.

#746 -> #747 -> #748 -> #750 -> #751 -> #752 -> #753 -> #754 -> #755 -> #756 -> #757 -> #758 -> #759 -> #760 -> #761 -> #762 -> #763 -> #764 -> #765 -> #766 -> #767 -> #768 -> #769 -> #770 -> #771 -> #772 -> #773 -> #774 -> #775 -> #776 -> #777 -> #778 -> #779 -> #780 -> #781 -> #782 -> #783 -> #784 -> #785 -> #786 -> #787 -> #788 -> #789 -> #790 -> #791 -> #792 -> #793 -> #794 -> #795 -> #796 -> #797 -> #798 -> #799

Live dashboard verification found that full rebuilds supplied lastPushTime, but subsequent summary patches lost it. Stamp notification copies with the cache entry receipt time for summary, legacy full/delta and transport-source changes, without altering wire metadata or renewing freshness on reconnect.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: d2243398-6c36-4c3d-969e-7ed7bfb5b459
This was referenced Sep 17, 2026
This was referenced Sep 17, 2026
@phealy

Copy link
Copy Markdown
Contributor Author

Deployed the combined dashboard corrections (#796, #797, #798 and #799) to pr712 with controller commit 024fd30, pinned image sha256:26f284d16d5ff055309b482458d949ad6d2825673b8a2104ad27668bdbe74315. Agent images were unchanged for these dashboard/controller corrections.

Live Chromium through the authenticated kubectl dashboard proxy confirmed: opening a node shows Node Info, current health and status age without any detail request; Load data and Refresh each complete POST 202 -> GET 200 for only the selected node; 10 peers, 9 routes and 20 BPF entries render in their tabs. Advancing browser wall time beyond the real snapshot expiry removes diagnostic tables while keeping the info pane, with no replacement request. Native timer/expiry behavior also has the Chromium fixture regression.

Final cluster state: 11/11 Ready nodes, 12/12 ready component pods, Site Healthy, 110/110 healthy peer links, all summary metadata and receipt timestamps present. Global JSON remains summary-only after explicit detail loads. Controller background pulling remains disabled; routine summary publishing is enabled. Deployment spec was preserved except for the controller image. All 53 layers remain draft and under the 1,000-line ceiling.

@phealy

Copy link
Copy Markdown
Contributor Author

This PR was mistaken churn from splitting the lightweight-status work into unnecessarily small PRs. That was my mistake, not a requirement from the user.

Its changes are preserved in #755, #766 within the user-approved, consolidated 12-PR draft stack. Closing this superseded PR; the implementation is not being discarded, and nothing has been merged into main.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant