Skip to content

test(e2e): assert msgpack decode-error controls - #5251

Merged
houseme merged 1 commit into
mainfrom
houseme/backlog-1435-metrics-labels-e2e
Jul 26, 2026
Merged

test(e2e): assert msgpack decode-error controls#5251
houseme merged 1 commit into
mainfrom
houseme/backlog-1435-metrics-labels-e2e

Conversation

@houseme

@houseme houseme commented Jul 26, 2026

Copy link
Copy Markdown
Collaborator

Related Issues

Part of rustfs/backlog#1435 and rustfs/backlog#1431.

Summary of Changes

This PR extends the inline fast-path mixed-msgpack E2E OTLP collector to capture rustfs_system_network_internode_msgpack_json_decode_error_total with direction, message, and codec labels alongside the existing msgpack/json fallback counter. The mixed compatibility tests now assert that decode-error counters stay unchanged for the same fallback-control series already covered by the release-window scenarios.

The covered black-box paths are multipart, partNumber reads, SSE-S3, compression, and cold-tier transition fallback controls. The implementation is test-only and does not change the public API, wire protocol, storage format, runtime configuration, or production metric emission.

Verification

  • cargo fmt --all --check
  • git diff --check
  • cargo clippy -p e2e_test --lib -- -D warnings
  • cargo test -p e2e_test --lib inline_fast_path_cluster_test::records_msgpack_decode_error_metric_with_codec_label -- --exact --nocapture
  • cargo test -p e2e_test --lib inline_fast_path_cluster_test::four_node_mixed_msgpack_compat_mode_preserves_fallback_controls -- --exact --nocapture
  • cargo test -p e2e_test --lib inline_fast_path_cluster_test::four_node_mixed_msgpack_compat_mode_preserves_fallback_controls_during_transition -- --exact --nocapture

Impact

No user-facing behavior change. This only strengthens E2E coverage for msgpack/json rollout observability by making decode-error label dimensions visible to the test collector and by requiring no decode-error counter delta during the mixed-version fallback-control scenarios.

Additional Notes

Adversarial review: correctness attacked missing codec label capture and stale counter snapshots, so the PR includes a direct collector unit test for direction/message/codec; simplicity attacked duplicated OTLP parsing, so msgpack counter collection is shared through one helper; coverage attacked false-positive zero deltas, so the E2E assertions are paired with the collector label unit test.


Thank you for your contribution! Please ensure your PR follows the community standards (CODE_OF_CONDUCT.md). If this is your first contribution, review the CLA document and sign it by commenting I have read and agree to the CLA. on the PR.

Extend the inline fast-path mixed-msgpack E2E collector to capture msgpack/json decode-error counters by direction, message, and codec. Assert those counters remain unchanged for the multipart, part-number, SSE, compression, and transition fallback-control scenarios.

Co-Authored-By: heihutu <heihutu@gmail.com>
@github-actions

Copy link
Copy Markdown
Contributor

CLA requirements are satisfied for this pull request.

@houseme
houseme enabled auto-merge (squash) July 26, 2026 01:29
@houseme
houseme merged commit 3fe9359 into main Jul 26, 2026
19 checks passed
@houseme
houseme deleted the houseme/backlog-1435-metrics-labels-e2e branch July 26, 2026 02:07
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