Skip to content

Group Excon EOF errors by call site - #16167

Merged
v-robaiken merged 4 commits into
dependabot:mainfrom
robaiken:v-robaiken/handle-python-registry-eof
Sep 3, 2026
Merged

Group Excon EOF errors by call site#16167
v-robaiken merged 4 commits into
dependabot:mainfrom
robaiken:v-robaiken/handle-python-registry-eof

Conversation

@robaiken

@robaiken robaiken commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

What are you trying to accomplish?

Group Excon::Error::Socket failures backed by EOFError using the package manager and first non-registry-client Dependabot call site. This prevents unrelated registry EOF failures from being collapsed into one Sentry issue while preserving existing custom fingerprints and grouping behavior for every other error.

Anything you want to highlight for special attention from reviewers?

The new fingerprint is deliberately a fallback only for EOF-backed Excon socket errors. Existing sentry_context fingerprints retain their previous handling across service and command-specific error-reporting paths.

How will you know you have accomplished your goal?

Focused updater coverage verifies the new grouping, existing fingerprint preservation, unchanged behavior for unrelated and non-EOF socket errors, and consistent fingerprints in command-specific unknown-error reports.

Validation:

  • bin/test --workdir updater bundler rspec spec/dependabot/sentry/error_fingerprint_spec.rb spec/dependabot/service_spec.rb spec/dependabot/updater/error_handler_spec.rb spec/dependabot/update_files_command_spec.rb spec/dependabot/update_graph_command_spec.rb (141 examples, 0 failures)
  • Focused RuboCop for all changed production and spec files

Checklist

  • I have run the complete test suite to ensure all tests and linters pass.
  • I have thoroughly tested my code changes to ensure they work as expected, including adding additional tests for new functionality.
  • I have written clear and descriptive commit messages.
  • I have provided a detailed description of the changes in the pull request, including the problem it addresses, how it fixes the problem, and any relevant details about the implementation.
  • I have ensured that the code is well-documented and easy to understand.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

馃煛 Changes recommended

All unknown-error reporting paths must use the shared EOF fingerprint logic and receive coverage.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Adds call-site-aware grouping for EOF-backed Excon socket errors while preserving existing fingerprints.

Changes:

  • Introduces shared EOF fingerprint generation.
  • Integrates fingerprints into service and updater reporting.
  • Adds focused regression coverage.

A moderate issue remains: several command-specific error-reporting paths bypass the shared fingerprint extraction, allowing duplicate ungrouped Sentry events.

File summaries
File Description
updater/spec/dependabot/updater/error_handler_spec.rb Tests updater fingerprint integration and preservation.
updater/spec/dependabot/service_spec.rb Tests service fingerprint handling.
updater/spec/dependabot/sentry/error_fingerprint_spec.rb Tests EOF fingerprint generation.
updater/lib/dependabot/updater/error_handler.rb Applies fingerprints to updater error details.
updater/lib/dependabot/service.rb Applies fallback fingerprints, but some command-specific reporting paths remain uncovered.
updater/lib/dependabot/sentry/error_fingerprint.rb Generates package-manager and call-site fingerprints.
Review details
  • Files reviewed: 6/6 changed files
  • Comments generated: 1
  • Review effort level: Balanced

馃挕 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread updater/lib/dependabot/service.rb

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

馃數 Needs a closer look

Approval assessments are split, and the unresolved Sorbet strictness nit warrants human review.

Review details

Suppressed comments (1)

updater/spec/dependabot/sentry/error_fingerprint_spec.rb:1

  • New files are required to use at least # typed: strict; typed: false leaves this new spec unchecked by Sorbet. Please raise the sigil and address any resulting type errors.
# typed: false
  • Files reviewed: 11/11 changed files
  • Comments generated: 0 new
  • Review effort level: Balanced

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

馃煝 Approval recommended

The reviewed changes have focused coverage and no unresolved issues.

Review details
  • Files reviewed: 11/11 changed files
  • Comments generated: 0 new
  • Review effort level: Balanced

@v-robaiken
v-robaiken marked this pull request as ready for review September 3, 2026 15:08
@v-robaiken
v-robaiken requested a review from a team as a code owner September 3, 2026 15:08
@v-robaiken v-robaiken self-assigned this Sep 3, 2026
@v-robaiken
v-robaiken merged commit 978d3dc into dependabot:main Sep 3, 2026
164 of 212 checks passed
@robaiken
robaiken deleted the v-robaiken/handle-python-registry-eof branch September 7, 2026 09:53
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.

5 participants