-
Notifications
You must be signed in to change notification settings - Fork 468
fix(debugger): retry writes when any error occurs #15246
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
|
f30833b to
d1f9bad
Compare
Bootstrap import analysisComparison of import times between this PR and base. SummaryThe average import time from this PR is: 236 ± 2 ms. The average import time from base is: 238 ± 2 ms. The import time difference between this PR and base is: -1.6 ± 0.1 ms. Import time breakdownThe following import paths have shrunk:
|
d1f9bad to
c2008ac
Compare
b289fcf to
df47319
Compare
Performance SLOsComparing candidate tyler.finethy/repro-retry-failure (e9cac05) with baseline main (548d46a) 📈 Performance Regressions (1 suite)📈 iastaspects - 118/118✅ add_aspectTime: ✅ 0.405µs (SLO: <10.000µs 📉 -95.9%) vs baseline: -0.1% Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: +5.1% ✅ add_inplace_aspectTime: ✅ 0.408µs (SLO: <10.000µs 📉 -95.9%) vs baseline: +0.3% Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +4.7% ✅ add_inplace_noaspectTime: ✅ 0.321µs (SLO: <10.000µs 📉 -96.8%) vs baseline: +0.7% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +4.9% ✅ add_noaspectTime: ✅ 0.279µs (SLO: <10.000µs 📉 -97.2%) vs baseline: +0.9% Memory: ✅ 37.336MB (SLO: <39.000MB -4.3%) vs baseline: +4.9% ✅ bytearray_aspectTime: ✅ 1.341µs (SLO: <10.000µs 📉 -86.6%) vs baseline: +1.3% Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: +4.8% ✅ bytearray_extend_aspectTime: ✅ 1.489µs (SLO: <10.000µs 📉 -85.1%) vs baseline: +1.4% Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +4.7% ✅ bytearray_extend_noaspectTime: ✅ 0.615µs (SLO: <10.000µs 📉 -93.8%) vs baseline: +1.6% Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: +5.0% ✅ bytearray_noaspectTime: ✅ 0.481µs (SLO: <10.000µs 📉 -95.2%) vs baseline: -0.3% Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +4.7% ✅ bytes_aspectTime: ✅ 1.308µs (SLO: <10.000µs 📉 -86.9%) vs baseline: +1.1% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +4.5% ✅ bytes_noaspectTime: ✅ 0.496µs (SLO: <10.000µs 📉 -95.0%) vs baseline: +1.4% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +4.5% ✅ bytesio_aspectTime: ✅ 1.364µs (SLO: <10.000µs 📉 -86.4%) vs baseline: +0.3% Memory: ✅ 37.277MB (SLO: <39.000MB -4.4%) vs baseline: +4.8% ✅ bytesio_noaspectTime: ✅ 0.492µs (SLO: <10.000µs 📉 -95.1%) vs baseline: -2.2% Memory: ✅ 37.179MB (SLO: <39.000MB -4.7%) vs baseline: +4.6% ✅ capitalize_aspectTime: ✅ 0.731µs (SLO: <10.000µs 📉 -92.7%) vs baseline: -0.1% Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: +4.9% ✅ capitalize_noaspectTime: ✅ 0.436µs (SLO: <10.000µs 📉 -95.6%) vs baseline: -0.5% Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +5.1% ✅ casefold_aspectTime: ✅ 0.737µs (SLO: <10.000µs 📉 -92.6%) vs baseline: -0.5% Memory: ✅ 37.336MB (SLO: <39.000MB -4.3%) vs baseline: +5.2% ✅ casefold_noaspectTime: ✅ 0.367µs (SLO: <10.000µs 📉 -96.3%) vs baseline: -2.0% Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: +5.0% ✅ decode_aspectTime: ✅ 0.721µs (SLO: <10.000µs 📉 -92.8%) vs baseline: -0.1% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +5.0% ✅ decode_noaspectTime: ✅ 0.417µs (SLO: <10.000µs 📉 -95.8%) vs baseline: -0.4% Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +4.6% ✅ encode_aspectTime: ✅ 0.701µs (SLO: <10.000µs 📉 -93.0%) vs baseline: -1.1% Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +5.0% ✅ encode_noaspectTime: ✅ 0.398µs (SLO: <10.000µs 📉 -96.0%) vs baseline: -0.8% Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: +5.1% ✅ format_aspectTime: ✅ 3.378µs (SLO: <10.000µs 📉 -66.2%) vs baseline: -1.0% Memory: ✅ 37.139MB (SLO: <39.000MB -4.8%) vs baseline: +4.6% ✅ format_map_aspectTime: ✅ 3.618µs (SLO: <10.000µs 📉 -63.8%) vs baseline: -0.3% Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: +4.9% ✅ format_map_noaspectTime: ✅ 0.774µs (SLO: <10.000µs 📉 -92.3%) vs baseline: +0.3% Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: +5.0% ✅ format_noaspectTime: ✅ 0.596µs (SLO: <10.000µs 📉 -94.0%) vs baseline: -2.6% Memory: ✅ 37.277MB (SLO: <39.000MB -4.4%) vs baseline: +4.9% ✅ index_aspectTime: ✅ 0.358µs (SLO: <10.000µs 📉 -96.4%) vs baseline: -0.8% Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: +5.1% ✅ index_noaspectTime: ✅ 0.278µs (SLO: <10.000µs 📉 -97.2%) vs baseline: +0.9% Memory: ✅ 37.159MB (SLO: <39.000MB -4.7%) vs baseline: +4.7% ✅ join_aspectTime: ✅ 1.360µs (SLO: <10.000µs 📉 -86.4%) vs baseline: +1.3% Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +4.8% ✅ join_noaspectTime: ✅ 0.490µs (SLO: <10.000µs 📉 -95.1%) vs baseline: +0.2% Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: +5.0% ✅ ljust_aspectTime: ✅ 2.613µs (SLO: <20.000µs 📉 -86.9%) vs baseline: +0.4% Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: +5.0% ✅ ljust_noaspectTime: ✅ 0.405µs (SLO: <10.000µs 📉 -95.9%) vs baseline: +0.2% Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +4.7% ✅ lower_aspectTime: ✅ 2.208µs (SLO: <10.000µs 📉 -77.9%) vs baseline: +0.4% Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: +4.7% ✅ lower_noaspectTime: ✅ 0.372µs (SLO: <10.000µs 📉 -96.3%) vs baseline: +1.8% Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +4.7% ✅ lstrip_aspectTime: ✅ 2.227µs (SLO: <20.000µs 📉 -88.9%) vs baseline: -0.1% Memory: ✅ 37.277MB (SLO: <39.000MB -4.4%) vs baseline: +4.8% ✅ lstrip_noaspectTime: ✅ 0.383µs (SLO: <10.000µs 📉 -96.2%) vs baseline: -0.2% Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: +5.0% ✅ modulo_aspectTime: ✅ 0.994µs (SLO: <10.000µs 📉 -90.1%) vs baseline: +0.4% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +5.0% ✅ modulo_aspect_for_bytearray_bytearrayTime: ✅ 1.545µs (SLO: <10.000µs 📉 -84.5%) vs baseline: +0.7% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +4.9% ✅ modulo_aspect_for_bytesTime: ✅ 0.982µs (SLO: <10.000µs 📉 -90.2%) vs baseline: +1.0% Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: +5.2% ✅ modulo_aspect_for_bytes_bytearrayTime: ✅ 1.197µs (SLO: <10.000µs 📉 -88.0%) vs baseline: +0.2% Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: +4.9% ✅ modulo_noaspectTime: ✅ 0.626µs (SLO: <10.000µs 📉 -93.7%) vs baseline: -2.0% Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +4.9% ✅ replace_aspectTime: ✅ 4.897µs (SLO: <10.000µs 📉 -51.0%) vs baseline: +0.8% Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: +4.7% ✅ replace_noaspectTime: ✅ 0.460µs (SLO: <10.000µs 📉 -95.4%) vs baseline: +0.2% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +4.3% ✅ repr_aspectTime: ✅ 0.904µs (SLO: <10.000µs 📉 -91.0%) vs baseline: +0.3% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +4.7% ✅ repr_noaspectTime: ✅ 0.415µs (SLO: <10.000µs 📉 -95.9%) vs baseline: -0.2% Memory: ✅ 37.277MB (SLO: <39.000MB -4.4%) vs baseline: +4.9% ✅ rstrip_aspectTime: ✅ 1.916µs (SLO: <20.000µs 📉 -90.4%) vs baseline: -0.3% Memory: ✅ 37.159MB (SLO: <39.000MB -4.7%) vs baseline: +4.9% ✅ rstrip_noaspectTime: ✅ 0.379µs (SLO: <10.000µs 📉 -96.2%) vs baseline: -1.2% Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: +4.4% ✅ slice_aspectTime: ✅ 0.497µs (SLO: <10.000µs 📉 -95.0%) vs baseline: +0.6% Memory: ✅ 37.336MB (SLO: <39.000MB -4.3%) vs baseline: +5.1% ✅ slice_noaspectTime: ✅ 0.447µs (SLO: <10.000µs 📉 -95.5%) vs baseline: +1.2% Memory: ✅ 37.277MB (SLO: <39.000MB -4.4%) vs baseline: +5.0% ✅ stringio_aspectTime: ✅ 1.731µs (SLO: <10.000µs 📉 -82.7%) vs baseline: +9.7% Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: +5.0% ✅ stringio_noaspectTime: ✅ 0.714µs (SLO: <10.000µs 📉 -92.9%) vs baseline: +0.7% Memory: ✅ 37.336MB (SLO: <39.000MB -4.3%) vs baseline: +5.2% ✅ strip_aspectTime: ✅ 2.502µs (SLO: <20.000µs 📉 -87.5%) vs baseline: 📈 +12.6% Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +4.6% ✅ strip_noaspectTime: ✅ 0.381µs (SLO: <10.000µs 📉 -96.2%) vs baseline: -1.7% Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +4.6% ✅ swapcase_aspectTime: ✅ 2.411µs (SLO: <10.000µs 📉 -75.9%) vs baseline: +0.4% Memory: ✅ 37.179MB (SLO: <39.000MB -4.7%) vs baseline: +4.8% ✅ swapcase_noaspectTime: ✅ 0.533µs (SLO: <10.000µs 📉 -94.7%) vs baseline: +0.5% Memory: ✅ 37.277MB (SLO: <39.000MB -4.4%) vs baseline: +4.8% ✅ title_aspectTime: ✅ 2.356µs (SLO: <10.000µs 📉 -76.4%) vs baseline: -0.2% Memory: ✅ 37.159MB (SLO: <39.000MB -4.7%) vs baseline: +4.6% ✅ title_noaspectTime: ✅ 0.500µs (SLO: <10.000µs 📉 -95.0%) vs baseline: -0.1% Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: +4.9% ✅ translate_aspectTime: ✅ 3.276µs (SLO: <10.000µs 📉 -67.2%) vs baseline: +0.6% Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +4.9% ✅ translate_noaspectTime: ✅ 1.043µs (SLO: <10.000µs 📉 -89.6%) vs baseline: +0.6% Memory: ✅ 37.139MB (SLO: <39.000MB -4.8%) vs baseline: +4.5% ✅ upper_aspectTime: ✅ 2.269µs (SLO: <10.000µs 📉 -77.3%) vs baseline: +2.6% Memory: ✅ 37.179MB (SLO: <39.000MB -4.7%) vs baseline: +4.9% ✅ upper_noaspectTime: ✅ 0.372µs (SLO: <10.000µs 📉 -96.3%) vs baseline: +0.4% Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: +4.9% 🟡 Near SLO Breach (3 suites)🟡 djangosimple - 30/30✅ appsecTime: ✅ 19.181ms (SLO: <22.300ms 📉 -14.0%) vs baseline: -0.6% Memory: ✅ 65.992MB (SLO: <67.000MB 🟡 -1.5%) vs baseline: +4.8% ✅ exception-replay-enabledTime: ✅ 1.338ms (SLO: <1.450ms -7.7%) vs baseline: -0.9% Memory: ✅ 64.065MB (SLO: <67.000MB -4.4%) vs baseline: +4.8% ✅ iastTime: ✅ 19.254ms (SLO: <22.250ms 📉 -13.5%) vs baseline: ~same Memory: ✅ 65.960MB (SLO: <67.000MB 🟡 -1.6%) vs baseline: +4.9% ✅ profilerTime: ✅ 15.355ms (SLO: <16.550ms -7.2%) vs baseline: -0.1% Memory: ✅ 53.743MB (SLO: <54.500MB 🟡 -1.4%) vs baseline: +4.5% ✅ resource-renamingTime: ✅ 19.355ms (SLO: <21.750ms 📉 -11.0%) vs baseline: +0.1% Memory: ✅ 65.888MB (SLO: <67.000MB 🟡 -1.7%) vs baseline: +4.7% ✅ span-code-originTime: ✅ 22.729ms (SLO: <28.200ms 📉 -19.4%) vs baseline: -0.9% Memory: ✅ 67.106MB (SLO: <69.500MB -3.4%) vs baseline: +4.8% ✅ tracerTime: ✅ 19.293ms (SLO: <21.750ms 📉 -11.3%) vs baseline: +0.4% Memory: ✅ 65.855MB (SLO: <67.000MB 🟡 -1.7%) vs baseline: +4.6% ✅ tracer-and-profilerTime: ✅ 21.173ms (SLO: <23.500ms -9.9%) vs baseline: ~same Memory: ✅ 67.865MB (SLO: <68.000MB 🟡 -0.2%) vs baseline: +4.9% ✅ tracer-dont-create-db-spansTime: ✅ 19.287ms (SLO: <21.500ms 📉 -10.3%) vs baseline: ~same Memory: ✅ 65.956MB (SLO: <67.000MB 🟡 -1.6%) vs baseline: +4.8% ✅ tracer-minimalTime: ✅ 16.647ms (SLO: <17.500ms -4.9%) vs baseline: -0.1% Memory: ✅ 65.857MB (SLO: <67.000MB 🟡 -1.7%) vs baseline: +4.7% ✅ tracer-nativeTime: ✅ 19.284ms (SLO: <21.750ms 📉 -11.3%) vs baseline: ~same Memory: ✅ 67.594MB (SLO: <72.500MB -6.8%) vs baseline: +4.9% ✅ tracer-no-cachesTime: ✅ 17.304ms (SLO: <19.650ms 📉 -11.9%) vs baseline: +0.2% Memory: ✅ 65.966MB (SLO: <67.000MB 🟡 -1.5%) vs baseline: +5.0% ✅ tracer-no-databasesTime: ✅ 18.754ms (SLO: <20.100ms -6.7%) vs baseline: +0.1% Memory: ✅ 65.931MB (SLO: <67.000MB 🟡 -1.6%) vs baseline: +4.7% ✅ tracer-no-middlewareTime: ✅ 19.002ms (SLO: <21.500ms 📉 -11.6%) vs baseline: ~same Memory: ✅ 65.915MB (SLO: <67.000MB 🟡 -1.6%) vs baseline: +4.8% ✅ tracer-no-templatesTime: ✅ 19.083ms (SLO: <22.000ms 📉 -13.3%) vs baseline: ~same Memory: ✅ 65.861MB (SLO: <67.000MB 🟡 -1.7%) vs baseline: +4.6% 🟡 errortrackingdjangosimple - 6/6✅ errortracking-enabled-allTime: ✅ 16.379ms (SLO: <19.850ms 📉 -17.5%) vs baseline: +0.2% Memory: ✅ 65.726MB (SLO: <66.500MB 🟡 -1.2%) vs baseline: +5.1% ✅ errortracking-enabled-userTime: ✅ 16.347ms (SLO: <19.400ms 📉 -15.7%) vs baseline: ~same Memory: ✅ 65.805MB (SLO: <66.500MB 🟡 -1.0%) vs baseline: +5.2% ✅ tracer-enabledTime: ✅ 16.377ms (SLO: <19.450ms 📉 -15.8%) vs baseline: ~same Memory: ✅ 65.617MB (SLO: <66.500MB 🟡 -1.3%) vs baseline: +4.8% 🟡 flasksimple - 18/18✅ appsec-getTime: ✅ 4.596ms (SLO: <4.750ms -3.2%) vs baseline: -0.4% Memory: ✅ 62.062MB (SLO: <65.000MB -4.5%) vs baseline: +5.0% ✅ appsec-postTime: ✅ 6.604ms (SLO: <6.750ms -2.2%) vs baseline: -0.1% Memory: ✅ 62.258MB (SLO: <65.000MB -4.2%) vs baseline: +5.2% ✅ appsec-telemetryTime: ✅ 4.590ms (SLO: <4.750ms -3.4%) vs baseline: -0.3% Memory: ✅ 62.053MB (SLO: <65.000MB -4.5%) vs baseline: +5.0% ✅ debuggerTime: ✅ 1.853ms (SLO: <2.000ms -7.3%) vs baseline: ~same Memory: ✅ 45.187MB (SLO: <47.000MB -3.9%) vs baseline: +4.9% ✅ iast-getTime: ✅ 1.854ms (SLO: <2.000ms -7.3%) vs baseline: ~same Memory: ✅ 42.141MB (SLO: <49.000MB 📉 -14.0%) vs baseline: +4.9% ✅ profilerTime: ✅ 1.914ms (SLO: <2.100ms -8.9%) vs baseline: +0.1% Memory: ✅ 46.509MB (SLO: <47.000MB 🟡 -1.0%) vs baseline: +4.8% ✅ resource-renamingTime: ✅ 3.367ms (SLO: <3.650ms -7.7%) vs baseline: ~same Memory: ✅ 52.642MB (SLO: <53.500MB 🟡 -1.6%) vs baseline: +5.4% ✅ tracerTime: ✅ 3.355ms (SLO: <3.650ms -8.1%) vs baseline: -0.2% Memory: ✅ 52.424MB (SLO: <53.500MB -2.0%) vs baseline: +4.8% ✅ tracer-nativeTime: ✅ 3.355ms (SLO: <3.650ms -8.1%) vs baseline: ~same Memory: ✅ 53.976MB (SLO: <60.000MB 📉 -10.0%) vs baseline: +5.0%
|
Description
The main change is that the uploader now raises a
SignalUploaderErrorfor all HTTP status codes 400 and above, not just 4xx client errors. This improves robustness by ensuring that server errors (like 502 Bad Gateway) are also handled as failures.Testing
Added a test (
test_uploader_502_error) to verify that theSignalUploaderraises aSignalUploaderErrorwhen a 502 Bad Gateway response is received from the server. This test uses mock classes to simulate the HTTP connection and response.Risks
More requests will get retried 3 times.
Additional Notes
N/A