code-reviews: resolve Server-059/060 + Tests-041 (fixed in 9ae6bce)
Dashboard Galaxy summary now copies volatile fields fresh and memoizes only the O(N) breakdown; added the DI registration-order wiring test and the memoization regression/guard tests. All modules back to 0 pending.
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
| Review date | 2026-06-25 |
|
||||
| Commit reviewed | `3cd7776` |
|
||||
| Status | Re-reviewed |
|
||||
| Open findings | 1 |
|
||||
| Open findings | 0 |
|
||||
|
||||
## Checklist coverage
|
||||
|
||||
@@ -789,7 +789,7 @@ The cancellation tests for `WorkerClient` in `WorkerClientTests` *do* exercise t
|
||||
| Severity | Medium |
|
||||
| Category | Testing coverage |
|
||||
| Location | `src/ZB.MOM.WW.MxGateway.Tests/Gateway/Dashboard/DashboardSnapshotServiceTests.cs`, `src/ZB.MOM.WW.MxGateway.Server/Dashboard/DashboardSnapshotService.cs:109-128` |
|
||||
| Status | Open |
|
||||
| Status | Resolved |
|
||||
|
||||
**Description:** `DashboardSnapshotService.ResolveGalaxySummary` introduced a lock-free
|
||||
memoization cache keyed on `GalaxyHierarchyCacheEntry.Sequence` (lines 109-128):
|
||||
@@ -830,4 +830,4 @@ same `Sequence`. No test:
|
||||
`MutableGalaxyHierarchyCache` with a settable `Current` property suffices; the
|
||||
existing `StubGalaxyHierarchyCache` pattern is a single-line extension.
|
||||
|
||||
**Resolution:**
|
||||
**Resolution:** Resolved in `9ae6bce` (2026-06-25). Added a `MutableGalaxyHierarchyCache` stub (settable `Current`) and three `DashboardSnapshotServiceTests` cases: `GetSnapshot_WhenGalaxyEntryChangesAtSameSequence_ReflectsVolatileStatusAndError` (the Server-059 regression), `GetSnapshot_WhenSequenceUnchanged_ReusesExpensiveTemplateBreakdown` (memoization hit — Objects swapped at the same `Sequence` stay frozen), and `GetSnapshot_WhenSequenceChanges_RecomputesTemplateBreakdown` (invalidation on `Sequence` change). The fix memoizes only the O(N) breakdown, so the assertions now target that rather than whole-summary identity.
|
||||
|
||||
Reference in New Issue
Block a user