-
Notifications
You must be signed in to change notification settings - Fork 467
fix(internal): fix for potential race condition #15018
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
Conversation
Signed-off-by: Juanjo Alvarez <[email protected]>
Signed-off-by: Juanjo Alvarez <[email protected]>
|
|
Bootstrap import analysisComparison of import times between this PR and base. SummaryThe average import time from this PR is: 241 ± 4 ms. The average import time from base is: 242 ± 4 ms. The import time difference between this PR and base is: -1.3 ± 0.2 ms. Import time breakdownThe following import paths have shrunk:
|
Performance SLOsComparing candidate juanjux/fix-endpoints-iteration-change-size (b011797) with baseline main (11fdb8b) 📈 Performance Regressions (2 suites)📈 iast_aspects - 40/40✅ re_expand_aspectTime: ✅ 31.861µs (SLO: <40.000µs 📉 -20.3%) vs baseline: -1.8% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +5.0% ✅ re_expand_noaspectTime: ✅ 28.501µs (SLO: <40.000µs 📉 -28.7%) vs baseline: -0.4% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.7% ✅ re_findall_aspectTime: ✅ 2.898µs (SLO: <10.000µs 📉 -71.0%) vs baseline: -0.7% Memory: ✅ 38.142MB (SLO: <39.000MB -2.2%) vs baseline: +5.0% ✅ re_findall_noaspectTime: ✅ 1.407µs (SLO: <10.000µs 📉 -85.9%) vs baseline: -1.3% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% ✅ re_finditer_aspectTime: ✅ 4.659µs (SLO: <10.000µs 📉 -53.4%) vs baseline: +5.2% Memory: ✅ 38.044MB (SLO: <39.000MB -2.5%) vs baseline: +4.7% ✅ re_finditer_noaspectTime: ✅ 1.416µs (SLO: <10.000µs 📉 -85.8%) vs baseline: +0.6% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ re_fullmatch_aspectTime: ✅ 2.653µs (SLO: <10.000µs 📉 -73.5%) vs baseline: -7.2% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% ✅ re_fullmatch_noaspectTime: ✅ 1.290µs (SLO: <10.000µs 📉 -87.1%) vs baseline: -0.7% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.7% ✅ re_group_aspectTime: ✅ 2.963µs (SLO: <10.000µs 📉 -70.4%) vs baseline: -4.8% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +5.0% ✅ re_group_noaspectTime: ✅ 1.602µs (SLO: <10.000µs 📉 -84.0%) vs baseline: +0.3% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +5.1% ✅ re_groups_aspectTime: ✅ 3.331µs (SLO: <10.000µs 📉 -66.7%) vs baseline: +2.7% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +4.8% ✅ re_groups_noaspectTime: ✅ 1.711µs (SLO: <10.000µs 📉 -82.9%) vs baseline: +1.1% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ re_match_aspectTime: ✅ 2.978µs (SLO: <10.000µs 📉 -70.2%) vs baseline: 📈 +11.4% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +4.8% ✅ re_match_noaspectTime: ✅ 1.296µs (SLO: <10.000µs 📉 -87.0%) vs baseline: -0.4% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% ✅ re_search_aspectTime: ✅ 2.727µs (SLO: <10.000µs 📉 -72.7%) vs baseline: +7.2% Memory: ✅ 38.044MB (SLO: <39.000MB -2.5%) vs baseline: +4.7% ✅ re_search_noaspectTime: ✅ 1.198µs (SLO: <10.000µs 📉 -88.0%) vs baseline: -0.5% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ re_sub_aspectTime: ✅ 3.386µs (SLO: <10.000µs 📉 -66.1%) vs baseline: -0.4% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +5.0% ✅ re_sub_noaspectTime: ✅ 1.576µs (SLO: <10.000µs 📉 -84.2%) vs baseline: +3.0% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ re_subn_aspectTime: ✅ 3.710µs (SLO: <10.000µs 📉 -62.9%) vs baseline: +0.3% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ re_subn_noaspectTime: ✅ 1.612µs (SLO: <10.000µs 📉 -83.9%) vs baseline: +0.2% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% 📈 iastaspects - 118/118✅ add_aspectTime: ✅ 0.408µs (SLO: <10.000µs 📉 -95.9%) vs baseline: +0.2% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% ✅ add_inplace_aspectTime: ✅ 0.408µs (SLO: <10.000µs 📉 -95.9%) vs baseline: +0.1% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +5.0% ✅ add_inplace_noaspectTime: ✅ 0.319µs (SLO: <10.000µs 📉 -96.8%) vs baseline: +0.3% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ add_noaspectTime: ✅ 0.279µs (SLO: <10.000µs 📉 -97.2%) vs baseline: +0.7% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +5.0% ✅ bytearray_aspectTime: ✅ 1.364µs (SLO: <10.000µs 📉 -86.4%) vs baseline: -0.5% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ bytearray_extend_aspectTime: ✅ 1.515µs (SLO: <10.000µs 📉 -84.8%) vs baseline: +1.2% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +5.1% ✅ bytearray_extend_noaspectTime: ✅ 0.611µs (SLO: <10.000µs 📉 -93.9%) vs baseline: -1.2% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% ✅ bytearray_noaspectTime: ✅ 0.484µs (SLO: <10.000µs 📉 -95.2%) vs baseline: +0.8% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ bytes_aspectTime: ✅ 1.534µs (SLO: <10.000µs 📉 -84.7%) vs baseline: 📈 +18.4% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ bytes_noaspectTime: ✅ 0.498µs (SLO: <10.000µs 📉 -95.0%) vs baseline: +0.5% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ bytesio_aspectTime: ✅ 1.376µs (SLO: <10.000µs 📉 -86.2%) vs baseline: +2.0% Memory: ✅ 38.044MB (SLO: <39.000MB -2.5%) vs baseline: +4.6% ✅ bytesio_noaspectTime: ✅ 0.497µs (SLO: <10.000µs 📉 -95.0%) vs baseline: -0.2% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% ✅ capitalize_aspectTime: ✅ 0.742µs (SLO: <10.000µs 📉 -92.6%) vs baseline: +0.1% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +5.0% ✅ capitalize_noaspectTime: ✅ 0.434µs (SLO: <10.000µs 📉 -95.7%) vs baseline: +0.3% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ casefold_aspectTime: ✅ 0.741µs (SLO: <10.000µs 📉 -92.6%) vs baseline: +0.1% Memory: ✅ 38.142MB (SLO: <39.000MB -2.2%) vs baseline: +5.1% ✅ casefold_noaspectTime: ✅ 0.370µs (SLO: <10.000µs 📉 -96.3%) vs baseline: +0.2% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% ✅ decode_aspectTime: ✅ 0.722µs (SLO: <10.000µs 📉 -92.8%) vs baseline: +0.6% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% ✅ decode_noaspectTime: ✅ 0.421µs (SLO: <10.000µs 📉 -95.8%) vs baseline: +0.7% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ encode_aspectTime: ✅ 0.706µs (SLO: <10.000µs 📉 -92.9%) vs baseline: +0.1% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ encode_noaspectTime: ✅ 0.405µs (SLO: <10.000µs 📉 -95.9%) vs baseline: +0.7% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% ✅ format_aspectTime: ✅ 3.375µs (SLO: <10.000µs 📉 -66.2%) vs baseline: +0.2% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.7% ✅ format_map_aspectTime: ✅ 3.659µs (SLO: <10.000µs 📉 -63.4%) vs baseline: -0.1% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ format_map_noaspectTime: ✅ 0.776µs (SLO: <10.000µs 📉 -92.2%) vs baseline: +0.5% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ format_noaspectTime: ✅ 0.600µs (SLO: <10.000µs 📉 -94.0%) vs baseline: +0.7% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.7% ✅ index_aspectTime: ✅ 0.360µs (SLO: <10.000µs 📉 -96.4%) vs baseline: +1.9% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ index_noaspectTime: ✅ 0.281µs (SLO: <10.000µs 📉 -97.2%) vs baseline: +2.2% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.8% ✅ join_aspectTime: ✅ 1.354µs (SLO: <10.000µs 📉 -86.5%) vs baseline: +0.2% Memory: ✅ 38.142MB (SLO: <39.000MB -2.2%) vs baseline: +5.1% ✅ join_noaspectTime: ✅ 0.490µs (SLO: <10.000µs 📉 -95.1%) vs baseline: -0.4% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ ljust_aspectTime: ✅ 2.603µs (SLO: <20.000µs 📉 -87.0%) vs baseline: +1.6% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ ljust_noaspectTime: ✅ 0.407µs (SLO: <10.000µs 📉 -95.9%) vs baseline: +0.8% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% ✅ lower_aspectTime: ✅ 2.204µs (SLO: <10.000µs 📉 -78.0%) vs baseline: +1.3% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +5.0% ✅ lower_noaspectTime: ✅ 0.369µs (SLO: <10.000µs 📉 -96.3%) vs baseline: +0.2% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ lstrip_aspectTime: ✅ 2.532µs (SLO: <20.000µs 📉 -87.3%) vs baseline: 📈 +14.6% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ lstrip_noaspectTime: ✅ 0.383µs (SLO: <10.000µs 📉 -96.2%) vs baseline: -0.2% Memory: ✅ 38.024MB (SLO: <39.000MB -2.5%) vs baseline: +4.5% ✅ modulo_aspectTime: ✅ 0.985µs (SLO: <10.000µs 📉 -90.2%) vs baseline: -1.0% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ modulo_aspect_for_bytearray_bytearrayTime: ✅ 1.566µs (SLO: <10.000µs 📉 -84.3%) vs baseline: +0.3% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ modulo_aspect_for_bytesTime: ✅ 0.978µs (SLO: <10.000µs 📉 -90.2%) vs baseline: -0.6% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ modulo_aspect_for_bytes_bytearrayTime: ✅ 1.225µs (SLO: <10.000µs 📉 -87.8%) vs baseline: -0.4% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ modulo_noaspectTime: ✅ 0.626µs (SLO: <10.000µs 📉 -93.7%) vs baseline: -0.9% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% ✅ replace_aspectTime: ✅ 4.943µs (SLO: <10.000µs 📉 -50.6%) vs baseline: +1.2% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ replace_noaspectTime: ✅ 0.464µs (SLO: <10.000µs 📉 -95.4%) vs baseline: +0.2% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ repr_aspectTime: ✅ 0.901µs (SLO: <10.000µs 📉 -91.0%) vs baseline: -0.5% Memory: ✅ 38.044MB (SLO: <39.000MB -2.5%) vs baseline: +4.6% ✅ repr_noaspectTime: ✅ 0.418µs (SLO: <10.000µs 📉 -95.8%) vs baseline: -0.4% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ rstrip_aspectTime: ✅ 1.898µs (SLO: <20.000µs 📉 -90.5%) vs baseline: -0.3% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ rstrip_noaspectTime: ✅ 0.383µs (SLO: <10.000µs 📉 -96.2%) vs baseline: +0.7% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ slice_aspectTime: ✅ 0.496µs (SLO: <10.000µs 📉 -95.0%) vs baseline: ~same Memory: ✅ 38.044MB (SLO: <39.000MB -2.5%) vs baseline: +4.7% ✅ slice_noaspectTime: ✅ 0.448µs (SLO: <10.000µs 📉 -95.5%) vs baseline: ~same Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.7% ✅ stringio_aspectTime: ✅ 1.574µs (SLO: <10.000µs 📉 -84.3%) vs baseline: +0.6% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.9% ✅ stringio_noaspectTime: ✅ 0.716µs (SLO: <10.000µs 📉 -92.8%) vs baseline: +0.9% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +5.0% ✅ strip_aspectTime: ✅ 2.204µs (SLO: <20.000µs 📉 -89.0%) vs baseline: +0.9% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% ✅ strip_noaspectTime: ✅ 0.384µs (SLO: <10.000µs 📉 -96.2%) vs baseline: -0.3% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ swapcase_aspectTime: ✅ 2.398µs (SLO: <10.000µs 📉 -76.0%) vs baseline: +0.9% Memory: ✅ 38.063MB (SLO: <39.000MB -2.4%) vs baseline: +4.7% ✅ swapcase_noaspectTime: ✅ 0.533µs (SLO: <10.000µs 📉 -94.7%) vs baseline: ~same Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ title_aspectTime: ✅ 2.313µs (SLO: <10.000µs 📉 -76.9%) vs baseline: +0.3% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +5.0% ✅ title_noaspectTime: ✅ 0.497µs (SLO: <10.000µs 📉 -95.0%) vs baseline: -0.9% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.8% ✅ translate_aspectTime: ✅ 3.262µs (SLO: <10.000µs 📉 -67.4%) vs baseline: +1.6% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.8% ✅ translate_noaspectTime: ✅ 1.042µs (SLO: <10.000µs 📉 -89.6%) vs baseline: -0.4% Memory: ✅ 38.122MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% ✅ upper_aspectTime: ✅ 2.217µs (SLO: <10.000µs 📉 -77.8%) vs baseline: +2.3% Memory: ✅ 38.083MB (SLO: <39.000MB -2.4%) vs baseline: +4.7% ✅ upper_noaspectTime: ✅ 0.370µs (SLO: <10.000µs 📉 -96.3%) vs baseline: -0.3% Memory: ✅ 38.103MB (SLO: <39.000MB -2.3%) vs baseline: +4.9% 🟡 Near SLO Breach (3 suites)🟡 djangosimple - 30/30✅ appsecTime: ✅ 20.531ms (SLO: <22.300ms -7.9%) vs baseline: -0.2% Memory: ✅ 65.271MB (SLO: <67.000MB -2.6%) vs baseline: +4.8% ✅ exception-replay-enabledTime: ✅ 1.354ms (SLO: <1.450ms -6.6%) vs baseline: +0.3% Memory: ✅ 64.639MB (SLO: <67.000MB -3.5%) vs baseline: +4.8% ✅ iastTime: ✅ 20.515ms (SLO: <22.250ms -7.8%) vs baseline: ~same Memory: ✅ 65.273MB (SLO: <67.000MB -2.6%) vs baseline: +4.8% ✅ profilerTime: ✅ 15.445ms (SLO: <16.550ms -6.7%) vs baseline: -0.2% Memory: ✅ 54.143MB (SLO: <54.500MB 🟡 -0.7%) vs baseline: +5.0% ✅ resource-renamingTime: ✅ 20.621ms (SLO: <21.750ms -5.2%) vs baseline: +0.2% Memory: ✅ 65.270MB (SLO: <67.000MB -2.6%) vs baseline: +4.8% ✅ span-code-originTime: ✅ 25.431ms (SLO: <28.200ms -9.8%) vs baseline: +0.2% Memory: ✅ 67.539MB (SLO: <69.500MB -2.8%) vs baseline: +4.9% ✅ tracerTime: ✅ 20.510ms (SLO: <21.750ms -5.7%) vs baseline: -0.2% Memory: ✅ 65.268MB (SLO: <67.000MB -2.6%) vs baseline: +4.8% ✅ tracer-and-profilerTime: ✅ 22.624ms (SLO: <23.500ms -3.7%) vs baseline: -0.2% Memory: ✅ 66.741MB (SLO: <67.500MB 🟡 -1.1%) vs baseline: +4.9% ✅ tracer-dont-create-db-spansTime: ✅ 19.365ms (SLO: <21.500ms -9.9%) vs baseline: +0.4% Memory: ✅ 65.309MB (SLO: <66.000MB 🟡 -1.0%) vs baseline: +4.9% ✅ tracer-minimalTime: ✅ 16.592ms (SLO: <17.500ms -5.2%) vs baseline: -0.3% Memory: ✅ 65.293MB (SLO: <66.000MB 🟡 -1.1%) vs baseline: +4.9% ✅ tracer-nativeTime: ✅ 20.550ms (SLO: <21.750ms -5.5%) vs baseline: +0.3% Memory: ✅ 71.388MB (SLO: <72.500MB 🟡 -1.5%) vs baseline: +4.8% ✅ tracer-no-cachesTime: ✅ 18.504ms (SLO: <19.650ms -5.8%) vs baseline: -0.2% Memory: ✅ 65.284MB (SLO: <67.000MB -2.6%) vs baseline: +4.9% ✅ tracer-no-databasesTime: ✅ 18.828ms (SLO: <20.100ms -6.3%) vs baseline: +0.4% Memory: ✅ 65.249MB (SLO: <67.000MB -2.6%) vs baseline: +4.9% ✅ tracer-no-middlewareTime: ✅ 20.261ms (SLO: <21.500ms -5.8%) vs baseline: ~same Memory: ✅ 65.288MB (SLO: <67.000MB -2.6%) vs baseline: +4.8% ✅ tracer-no-templatesTime: ✅ 20.413ms (SLO: <22.000ms -7.2%) vs baseline: +0.3% Memory: ✅ 65.261MB (SLO: <67.000MB -2.6%) vs baseline: +4.8% 🟡 errortrackingdjangosimple - 6/6✅ errortracking-enabled-allTime: ✅ 18.121ms (SLO: <19.850ms -8.7%) vs baseline: ~same Memory: ✅ 65.167MB (SLO: <66.500MB -2.0%) vs baseline: +4.8% ✅ errortracking-enabled-userTime: ✅ 18.111ms (SLO: <19.400ms -6.6%) vs baseline: ~same Memory: ✅ 65.253MB (SLO: <66.500MB 🟡 -1.9%) vs baseline: +4.8% ✅ tracer-enabledTime: ✅ 18.060ms (SLO: <19.450ms -7.1%) vs baseline: -0.5% Memory: ✅ 65.155MB (SLO: <66.500MB -2.0%) vs baseline: +4.8% 🟡 flasksimple - 18/18✅ appsec-getTime: ✅ 4.603ms (SLO: <4.750ms -3.1%) vs baseline: +0.3% Memory: ✅ 61.991MB (SLO: <65.000MB -4.6%) vs baseline: +4.9% ✅ appsec-postTime: ✅ 6.635ms (SLO: <6.750ms 🟡 -1.7%) vs baseline: +0.2% Memory: ✅ 61.927MB (SLO: <65.000MB -4.7%) vs baseline: +4.9% ✅ appsec-telemetryTime: ✅ 4.607ms (SLO: <4.750ms -3.0%) vs baseline: ~same Memory: ✅ 61.912MB (SLO: <65.000MB -4.8%) vs baseline: +4.8% ✅ debuggerTime: ✅ 1.861ms (SLO: <2.000ms -7.0%) vs baseline: ~same Memory: ✅ 45.337MB (SLO: <47.000MB -3.5%) vs baseline: +4.9% ✅ iast-getTime: ✅ 1.857ms (SLO: <2.000ms -7.2%) vs baseline: -0.3% Memory: ✅ 42.389MB (SLO: <49.000MB 📉 -13.5%) vs baseline: +4.8% ✅ profilerTime: ✅ 1.916ms (SLO: <2.100ms -8.8%) vs baseline: +0.2% Memory: ✅ 46.458MB (SLO: <47.000MB 🟡 -1.2%) vs baseline: +4.2% ✅ resource-renamingTime: ✅ 3.383ms (SLO: <3.650ms -7.3%) vs baseline: +0.2% Memory: ✅ 52.258MB (SLO: <53.500MB -2.3%) vs baseline: +5.0% ✅ tracerTime: ✅ 3.365ms (SLO: <3.650ms -7.8%) vs baseline: ~same Memory: ✅ 52.258MB (SLO: <53.500MB -2.3%) vs baseline: +5.1% ✅ tracer-nativeTime: ✅ 3.373ms (SLO: <3.650ms -7.6%) vs baseline: +0.3% Memory: ✅ 58.252MB (SLO: <60.000MB -2.9%) vs baseline: +5.0%
|
dstroobants
left a comment
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.
LGTM
Fix testing notes:
- Without the custom wheel: Reproduced the issue constantly within 5 minutes of running the script.
- With the custom wheel and the fix: Unable to reproduce the issue within 30 mins on two different executions of the script.
releasenotes/notes/potential-race-endpoints-b8592670cdcbf023.yaml
Outdated
Show resolved
Hide resolved
Signed-off-by: Juanjo Alvarez <[email protected]>
…/github.com/DataDog/dd-trace-py into juanjux/fix-endpoints-iteration-change-size
## Description We had a potential (and reported to happen to a client) race condition where the `self.endpoints` list in `internal/endpoints.py` could change size during iteration (modified by a thread), causing an exception. This fixes it by using a tuple copy of the iterated list and adds regression tests. Thanks Adria Ardilla for reporting and suggesting the fix. --------- Signed-off-by: Juanjo Alvarez <[email protected]> (cherry picked from commit ae5562f)
## Description We had a potential (and reported to happen to a client) race condition where the `self.endpoints` list in `internal/endpoints.py` could change size during iteration (modified by a thread), causing an exception. This fixes it by using a tuple copy of the iterated list and adds regression tests. Thanks Adria Ardilla for reporting and suggesting the fix. --------- Signed-off-by: Juanjo Alvarez <[email protected]> (cherry picked from commit ae5562f)
## Description We had a potential (and reported to happen to a client) race condition where the `self.endpoints` list in `internal/endpoints.py` could change size during iteration (modified by a thread), causing an exception. This fixes it by using a tuple copy of the iterated list and adds regression tests. Thanks Adria Ardilla for reporting and suggesting the fix. --------- Signed-off-by: Juanjo Alvarez <[email protected]> (cherry picked from commit ae5562f)
## Description We had a potential (and reported to happen to a client) race condition where the `self.endpoints` list in `internal/endpoints.py` could change size during iteration (modified by a thread), causing an exception. This fixes it by using a tuple copy of the iterated list and adds regression tests. Thanks Adria Ardilla for reporting and suggesting the fix. --------- Signed-off-by: Juanjo Alvarez <[email protected]> (cherry picked from commit ae5562f) Signed-off-by: Juanjo Alvarez <[email protected]>
## Description We had a potential (and reported to happen to a client) race condition where the `self.endpoints` list in `internal/endpoints.py` could change size during iteration (modified by a thread), causing an exception. This fixes it by using a tuple copy of the iterated list and adds regression tests. Thanks Adria Ardilla for reporting and suggesting the fix. --------- Signed-off-by: Juanjo Alvarez <[email protected]> (cherry picked from commit ae5562f) Signed-off-by: Juanjo Alvarez <[email protected]>
## Description We had a potential (and reported to happen to a client) race condition where the `self.endpoints` list in `internal/endpoints.py` could change size during iteration (modified by a thread), causing an exception. This fixes it by using a tuple copy of the iterated list and adds regression tests. Thanks Adria Ardilla for reporting and suggesting the fix. --------- Signed-off-by: Juanjo Alvarez <[email protected]> (cherry picked from commit ae5562f) Signed-off-by: Juanjo Alvarez <[email protected]>
Backport ae5562f from #15018 to 3.17. ## Description We had a potential (and reported to happen to a client) race condition where the `self.endpoints` list in `internal/endpoints.py` could change size during iteration (modified by a thread), causing an exception. This fixes it by using a tuple copy of the iterated list and adds regression tests. Thanks Adria Ardilla for reporting and suggesting the fix. Signed-off-by: Juanjo Alvarez <[email protected]> Co-authored-by: Juanjo Alvarez Martinez <[email protected]> Co-authored-by: Taegyun Kim <[email protected]>
Backport ae5562f from #15018 to 3.16. ## Description We had a potential (and reported to happen to a client) race condition where the `self.endpoints` list in `internal/endpoints.py` could change size during iteration (modified by a thread), causing an exception. This fixes it by using a tuple copy of the iterated list and adds regression tests. Thanks Adria Ardilla for reporting and suggesting the fix. Signed-off-by: Juanjo Alvarez <[email protected]> Co-authored-by: Juanjo Alvarez Martinez <[email protected]>
Description
We had a potential (and reported to happen to a client) race condition where the
self.endpointslist ininternal/endpoints.pycould change size during iteration (modified by a thread), causing an exception.This fixes it by using a tuple copy of the iterated list and adds regression tests.
Thanks Adria Ardilla for reporting and suggesting the fix.