Repository navigation
Bug 2079526 - Allow attribution values up to 512 bytes - #3729
akasakariko wants to merge 3 commits into
Conversation
chutten
left a comment
There was a problem hiding this comment.
Looks to be in good repair, but I have some questions.
Also: rather than running all those custom cargo test lines, please follow the guidance from our contribution documentation: https://mozilla.github.io/glean/dev/contributing.html
| use crate::metrics::MetricType; | ||
|
|
There was a problem hiding this comment.
What is this use statement for?
There was a problem hiding this comment.
MetricType provides meta(), which the overflow assertions use to pass each field's metadata to test_get_num_recorded_errors
Added a comment at the import to explain that dependency
There was a problem hiding this comment.
Oh, I see. You shouldn't need that. You should use the metric object's test_get_num_recorded_errors member instead of calling error_recording's function.
There was a problem hiding this comment.
The attribution test now calls the string metric's test_get_num_recorded_errors_sync member and no longer imports MetricType
The test owns a local Glean instance, whereas the existing public getter uses the global singleton, so the crate-private synchronous member accepts that instance explicitly
The public getter delegates to the same implementation and its API is unchanged
I also rebased onto e6d54f3 and resolved the changelog conflict while preserving both entries
The range-diff confirms that the review follow-up code is unchanged by the rebase
On the final revision, Linux arm64 through Colima with Rust 1.90.0 passes CI=1 RUST_LOG=glean_core=debug make test-rust with 438 passed and 10 ignored, including mps_delay
The standard lint and formatting targets and the SQLite compatibility checks also pass
The PR description records the remaining macOS full-suite timeout, which also reproduced on the unchanged previous PR head 9e93367
The isolated timing test passes on the final revision, but the full-suite timeout remains undiagnosed
No assertions were weakened or timeouts extended
Ready for another look
|
@chutten Both inline questions are addressed in 9e93367 Follow-up validation after installing Homebrew
The test process PATH includes With default test threading, both toolchains still hit the existing 5-second timeout in the first No test assertions, timeouts, or repository files were changed for this validation |
|
@chutten Sorry about that — I have now followed the contribution documentation and rerun the standard Makefile targets on the unchanged revision 9e93367
This run used macOS Tahoe arm64, stable Rust, cargo-nextest, Homebrew libfaketime, and GNU timeout on PATH The earlier default-threading timeout with the built-in Rust test runner remains unexplained and was not rerun through that runner in this follow-up Both inline questions were already addressed in 9e93367 |
chutten
left a comment
There was a problem hiding this comment.
Ah, my mistake for thinking that eacute would be a single byte of UTF-8.
Switching to the metric's own fn ought to be the only change left.
15039d4 to
ff82808
Compare
|
@chutten The remaining review change is addressed in ff82808 The attribution test now calls the metric object's I also rebased onto e6d54f3 and resolved the changelog conflict while preserving both entries Validation on the final revision, using Linux arm64 through Colima with Rust 1.90.0
The macOS full-suite Ready for another review |
Summary
Bugzilla bug 2079526
Review follow-up
MetricTypeimportGleaninstance and have the existing public getter delegate to it without changing the public APILatest local validation
Validated the final revision ff82808 on Linux arm64 through Colima with Rust 1.90.0, an unprivileged user, and faketime available
The Makefile selected the built-in Rust test runner with default threading, including doctests
cargo test --locked -p glean-core --lib attribution_and_distribution_are_correctly_storedpassesCI=1 RUST_LOG=glean_core=debug make test-rustpasses with 438 passed and 10 ignored, including the attribution regression andmps_delaymake lint-rustpasses without warnings or errorsmake fmt-rustpasses and leaves the working tree unchangedcargo test --locked -p glean-core --features sqlite --lib --test string --test ping_makerpasses with 175 passed and 2 ignoredgit diff --checkand the diff check against the new base passmacOS validation limitation
On macOS 26.4.1 arm64 with Rust 1.98.1 and nextest 0.9.150, the final revision's
CI=1 RUST_LOG=glean_core=debug make test-rustreports 433 passed, 1 failed, and 5 skippedThe failure remains the 5-second timeout in the first
mps_delayinitialization subprocess, with exit code 124The same timeout also reproduced on the unchanged previous PR head 9e93367 before the rebase
On the final revision,
cargo nextest run --locked --all -E 'test(mps_delay)'passes when run separately withCI=1The root cause of the macOS full-suite timeout remains undetermined, and the passing Linux run is not a claim that it is fixed
No assertions were weakened, timeouts extended, or tests disabled to obtain the passing results