Conversation
mnoah1
marked this pull request as ready for review
August 27, 2026 16:55
mnoah1
requested review from
a team,
behinddwalls and
sbalabanov
as code owners
August 27, 2026 16:55
mnoah1
force-pushed
the
mnoah1/stovepipe-request-history-storage
branch
from
August 31, 2026 16:28
b384332 to
7727366
Compare
mnoah1
force-pushed
the
mnoah1/stovepipe-request-history-storage
branch
from
August 31, 2026 16:50
7727366 to
cb5d781
Compare
mnoah1
force-pushed
the
mnoah1/stovepipe-request-history-storage
branch
3 times, most recently
from
August 31, 2026 22:21
cad590d to
ebb7b56
Compare
mnoah1
force-pushed
the
mnoah1/stovepipe-request-history-storage
branch
from
August 31, 2026 22:38
ebb7b56 to
9933a99
Compare
mnoah1
force-pushed
the
mnoah1/stovepipe-request-history-storage
branch
from
August 31, 2026 22:52
9933a99 to
9d4815a
Compare
mnoah1
force-pushed
the
mnoah1/stovepipe-request-history-storage
branch
from
August 31, 2026 23:03
9d4815a to
8433f10
Compare
behinddwalls
approved these changes
Sep 1, 2026
behinddwalls
reviewed
Sep 1, 2026
mnoah1
force-pushed
the
mnoah1/stovepipe-request-history-storage
branch
from
September 1, 2026 15:00
8433f10 to
2d019cb
Compare
behinddwalls
pushed a commit
to behinddwalls/submitqueue
that referenced
this pull request
Sep 25, 2026
## Summary
Intent:
- Make the request-log schema usable through a backend-neutral,
queue-scoped persistence contract.
- Supply the retained records that the public request-history API
projects as `HistoryEvent` values.
Changes:
- Define validated `RequestLog` records with bounded state, event, and
outcome-reason vocabularies plus opaque metadata.
- Add create, point-read, and complete per-request list operations with
no pagination.
- Round-trip metadata through MySQL JSON without interpreting its keys
or values, writing nil as `{}` and normalizing stored JSON `null` to an
empty map.
- Keep the raw metadata map out of the public protobuf; key-specific
enforcement is deferred.
- Implement and wire the MySQL store, generated mocks, and reusable
backend contract tests.
## Test Plan
- Exercised metadata round trips, nil normalization, invalid JSON value
handling, duplicate detection, point reads, queue isolation, and
chronological listing.
- `./tool/bazel test //api/stovepipe/... //service/stovepipe/...
//stovepipe/...`
- `make lint check-tidy check-gazelle`
## Revert Plan
Revert this PR; the table introduced by uber#645 remains unused.
## Jira Issues
None.
This branch was previously deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
Intent:
Changes:
request_logtable with stable occurrence identity.Test Plan
./tool/bazel test //stovepipe/extension/storage/mysql/...make lint check-tidy check-gazelleRevert Plan
Revert this PR and remove the unused table before deploying code that writes request-log records.
Jira Issues
None.