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
{{ message }}
Repository navigation
Commit a67eae2
Browse filesBrowse the repository at this point in the historyBrowse files
## Summary
**What**:
- Maintain a degree-ordered lookup table for project validation facts
and repair interrupted writes on retry.
- Start the lookup table empty while keeping existing project listing
and pagination unchanged.
**Why**:
- Prepare efficient severity-first reads without historical migration or
backfill tooling.
## Test Plan
- [x] Add unit tests.
- [x] Verify database writes and unchanged service and browser
pagination against real services.
## Revert Plan
- Revert dependent readers first, then this PR. Leave the additive table
in place; authoritative validation facts are unchanged.
## Issue Links
-
[CODEM-608](https://linear.app/uber/issue/CODEM-608/order-by-most-broken)
## Stack
1. #908
1. #903
Copy file name to clipboardExpand all lines: stovepipe/extension/storage/README.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,6 +24,8 @@ Same design space as [`submitqueue/extension/storage`](../../../submitqueue/exte
24
24
25
25
`QueueStore` owns internal enablement alongside pipeline coordination. `QueueSummaryStore` persists the current read model projected from immutable `QueueLogStore` occurrences. Enablement sequences, operational row versions and projection versions are distinct. These stores use primary-key operations; version arithmetic, duplicate reconciliation and projection repair belong to business logic. See [queue state](../../../doc/rfc/stovepipe/queue-state.md).
26
26
27
+
`ProjectFactByDegreeStore` is the ordered lookup mapping for named project facts. Its immutable `(queue, URI, degree DESC, project ASC)` primary key stores the original degree and orders by descending degree and ascending bytewise project ID, so listing is a bounded key-range read. It holds no duplicate validation payload; readers hydrate facts by their original keys and verify the mapping. The record controller ensures mappings from persisted winning facts before recording project completion, including retries after partial writes. Create the table before deploying writers. The table starts empty: only results processed by index-aware writers receive mappings, with no historical population or read-time fallback.
28
+
27
29
## Build issue observations
28
30
29
31
`BuildIssueStore` accumulates immutable observations identified by build, task, and unit within the bound queue. The build ID is supplied separately from the detected issue. Repeated observations return `ErrAlreadyExists`, which callers may treat as successful persistence. Empty unit IDs represent task-wide observations.
0 commit comments