-
Notifications
You must be signed in to change notification settings - Fork 315
Fix ConcurrentModificationException error in AppsecRequestContext #9880
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: master
Are you sure you want to change the base?
Fix ConcurrentModificationException error in AppsecRequestContext #9880
Conversation
|
🎯 Code Coverage 🔗 Commit SHA: c710a79 | Docs | Datadog PR Page | Was this helpful? Give us feedback! |
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 54 metrics, 11 unstable metrics. Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.56.0-SNAPSHOT~c710a79257, baseline=1.56.0-SNAPSHOT~8db72c0988
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.056 s) : 0, 1055913
Total [baseline] (8.673 s) : 0, 8673111
Agent [candidate] (1.048 s) : 0, 1047582
Total [candidate] (8.674 s) : 0, 8674236
section iast
Agent [baseline] (1.177 s) : 0, 1177167
Total [baseline] (9.259 s) : 0, 9259182
Agent [candidate] (1.19 s) : 0, 1190472
Total [candidate] (9.311 s) : 0, 9310985
gantt
title insecure-bank - break down per module: candidate=1.56.0-SNAPSHOT~c710a79257, baseline=1.56.0-SNAPSHOT~8db72c0988
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.494 ms) : 0, 1494
crashtracking [candidate] (1.458 ms) : 0, 1458
BytebuddyAgent [baseline] (710.34 ms) : 0, 710340
BytebuddyAgent [candidate] (704.572 ms) : 0, 704572
GlobalTracer [baseline] (248.108 ms) : 0, 248108
GlobalTracer [candidate] (246.505 ms) : 0, 246505
AppSec [baseline] (32.662 ms) : 0, 32662
AppSec [candidate] (32.333 ms) : 0, 32333
Debugger [baseline] (6.485 ms) : 0, 6485
Debugger [candidate] (6.351 ms) : 0, 6351
Remote Config [baseline] (722.034 µs) : 0, 722
Remote Config [candidate] (708.257 µs) : 0, 708
Telemetry [baseline] (14.563 ms) : 0, 14563
Telemetry [candidate] (16.597 ms) : 0, 16597
Flare Poller [baseline] (6.558 ms) : 0, 6558
Flare Poller [candidate] (4.27 ms) : 0, 4270
section iast
crashtracking [baseline] (1.475 ms) : 0, 1475
crashtracking [candidate] (1.49 ms) : 0, 1490
BytebuddyAgent [baseline] (826.78 ms) : 0, 826780
BytebuddyAgent [candidate] (837.599 ms) : 0, 837599
GlobalTracer [baseline] (234.305 ms) : 0, 234305
GlobalTracer [candidate] (235.982 ms) : 0, 235982
IAST [baseline] (34.006 ms) : 0, 34006
IAST [candidate] (34.259 ms) : 0, 34259
AppSec [baseline] (26.981 ms) : 0, 26981
AppSec [candidate] (27.036 ms) : 0, 27036
Debugger [baseline] (6.015 ms) : 0, 6015
Debugger [candidate] (6.058 ms) : 0, 6058
Remote Config [baseline] (596.405 µs) : 0, 596
Remote Config [candidate] (590.091 µs) : 0, 590
Telemetry [baseline] (8.272 ms) : 0, 8272
Telemetry [candidate] (8.399 ms) : 0, 8399
Flare Poller [baseline] (4.123 ms) : 0, 4123
Flare Poller [candidate] (4.102 ms) : 0, 4102
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.56.0-SNAPSHOT~c710a79257, baseline=1.56.0-SNAPSHOT~8db72c0988
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.047 s) : 0, 1046731
Total [baseline] (10.833 s) : 0, 10832879
Agent [candidate] (1.047 s) : 0, 1046824
Total [candidate] (10.791 s) : 0, 10790757
section appsec
Agent [baseline] (1.225 s) : 0, 1225241
Total [baseline] (10.926 s) : 0, 10926211
Agent [candidate] (1.223 s) : 0, 1223434
Total [candidate] (10.934 s) : 0, 10934399
section iast
Agent [baseline] (1.18 s) : 0, 1179896
Total [baseline] (11.202 s) : 0, 11202054
Agent [candidate] (1.183 s) : 0, 1183232
Total [candidate] (11.196 s) : 0, 11195661
section profiling
Agent [baseline] (1.195 s) : 0, 1195278
Total [baseline] (10.873 s) : 0, 10872967
Agent [candidate] (1.203 s) : 0, 1202789
Total [candidate] (10.925 s) : 0, 10925374
gantt
title petclinic - break down per module: candidate=1.56.0-SNAPSHOT~c710a79257, baseline=1.56.0-SNAPSHOT~8db72c0988
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.461 ms) : 0, 1461
crashtracking [candidate] (1.465 ms) : 0, 1465
BytebuddyAgent [baseline] (703.725 ms) : 0, 703725
BytebuddyAgent [candidate] (704.365 ms) : 0, 704365
GlobalTracer [baseline] (246.416 ms) : 0, 246416
GlobalTracer [candidate] (246.25 ms) : 0, 246250
AppSec [baseline] (32.372 ms) : 0, 32372
AppSec [candidate] (32.215 ms) : 0, 32215
Debugger [baseline] (6.396 ms) : 0, 6396
Debugger [candidate] (6.356 ms) : 0, 6356
Remote Config [baseline] (725.261 µs) : 0, 725
Remote Config [candidate] (709.21 µs) : 0, 709
Telemetry [baseline] (15.154 ms) : 0, 15154
Telemetry [candidate] (15.696 ms) : 0, 15696
Flare Poller [baseline] (5.748 ms) : 0, 5748
Flare Poller [candidate] (4.969 ms) : 0, 4969
section appsec
crashtracking [baseline] (1.464 ms) : 0, 1464
crashtracking [candidate] (1.465 ms) : 0, 1465
BytebuddyAgent [baseline] (729.683 ms) : 0, 729683
BytebuddyAgent [candidate] (729.311 ms) : 0, 729311
GlobalTracer [baseline] (238.518 ms) : 0, 238518
GlobalTracer [candidate] (237.947 ms) : 0, 237947
IAST [baseline] (25.213 ms) : 0, 25213
IAST [candidate] (24.88 ms) : 0, 24880
AppSec [baseline] (175.971 ms) : 0, 175971
AppSec [candidate] (175.708 ms) : 0, 175708
Debugger [baseline] (6.111 ms) : 0, 6111
Debugger [candidate] (6.018 ms) : 0, 6018
Remote Config [baseline] (667.89 µs) : 0, 668
Remote Config [candidate] (648.896 µs) : 0, 649
Telemetry [baseline] (8.752 ms) : 0, 8752
Telemetry [candidate] (8.615 ms) : 0, 8615
Flare Poller [baseline] (3.934 ms) : 0, 3934
Flare Poller [candidate] (3.963 ms) : 0, 3963
section iast
crashtracking [baseline] (1.481 ms) : 0, 1481
crashtracking [candidate] (1.457 ms) : 0, 1457
BytebuddyAgent [baseline] (828.68 ms) : 0, 828680
BytebuddyAgent [candidate] (830.703 ms) : 0, 830703
GlobalTracer [baseline] (234.905 ms) : 0, 234905
GlobalTracer [candidate] (235.763 ms) : 0, 235763
IAST [baseline] (31.521 ms) : 0, 31521
IAST [candidate] (32.523 ms) : 0, 32523
AppSec [baseline] (29.458 ms) : 0, 29458
AppSec [candidate] (28.806 ms) : 0, 28806
Debugger [baseline] (6.022 ms) : 0, 6022
Debugger [candidate] (6.005 ms) : 0, 6005
Remote Config [baseline] (612.191 µs) : 0, 612
Remote Config [candidate] (605.13 µs) : 0, 605
Telemetry [baseline] (8.389 ms) : 0, 8389
Telemetry [candidate] (8.371 ms) : 0, 8371
Flare Poller [baseline] (4.098 ms) : 0, 4098
Flare Poller [candidate] (4.14 ms) : 0, 4140
section profiling
crashtracking [baseline] (1.497 ms) : 0, 1497
crashtracking [candidate] (1.471 ms) : 0, 1471
BytebuddyAgent [baseline] (730.379 ms) : 0, 730379
BytebuddyAgent [candidate] (736.253 ms) : 0, 736253
GlobalTracer [baseline] (222.406 ms) : 0, 222406
GlobalTracer [candidate] (223.455 ms) : 0, 223455
AppSec [baseline] (32.158 ms) : 0, 32158
AppSec [candidate] (32.409 ms) : 0, 32409
Debugger [baseline] (6.78 ms) : 0, 6780
Debugger [candidate] (9.107 ms) : 0, 9107
Remote Config [baseline] (720.764 µs) : 0, 721
Remote Config [candidate] (708.212 µs) : 0, 708
Telemetry [baseline] (16.25 ms) : 0, 16250
Telemetry [candidate] (13.774 ms) : 0, 13774
Flare Poller [baseline] (4.175 ms) : 0, 4175
Flare Poller [candidate] (4.175 ms) : 0, 4175
ProfilingAgent [baseline] (111.293 ms) : 0, 111293
ProfilingAgent [candidate] (111.63 ms) : 0, 111630
Profiling [baseline] (111.965 ms) : 0, 111965
Profiling [candidate] (112.298 ms) : 0, 112298
LoadParameters
See matching parameters
SummaryFound 1 performance improvements and 5 performance regressions! Performance is the same for 6 metrics, 12 unstable metrics.
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.56.0-SNAPSHOT~c710a79257, baseline=1.56.0-SNAPSHOT~8db72c0988
dateFormat X
axisFormat %s
section baseline
no_agent (1.207 ms) : 1195, 1219
. : milestone, 1207,
iast (3.236 ms) : 3192, 3281
. : milestone, 3236,
iast_FULL (5.638 ms) : 5583, 5694
. : milestone, 5638,
iast_GLOBAL (3.53 ms) : 3472, 3588
. : milestone, 3530,
profiling (1.888 ms) : 1873, 1903
. : milestone, 1888,
tracing (1.773 ms) : 1759, 1787
. : milestone, 1773,
section candidate
no_agent (1.278 ms) : 1265, 1291
. : milestone, 1278,
iast (3.102 ms) : 3062, 3143
. : milestone, 3102,
iast_FULL (5.98 ms) : 5919, 6040
. : milestone, 5980,
iast_GLOBAL (3.641 ms) : 3588, 3693
. : milestone, 3641,
profiling (2.052 ms) : 2034, 2071
. : milestone, 2052,
tracing (1.797 ms) : 1781, 1812
. : milestone, 1797,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.56.0-SNAPSHOT~c710a79257, baseline=1.56.0-SNAPSHOT~8db72c0988
dateFormat X
axisFormat %s
section baseline
no_agent (18.082 ms) : 17900, 18265
. : milestone, 18082,
appsec (18.623 ms) : 18430, 18816
. : milestone, 18623,
code_origins (17.738 ms) : 17567, 17910
. : milestone, 17738,
iast (17.463 ms) : 17290, 17635
. : milestone, 17463,
profiling (18.806 ms) : 18619, 18993
. : milestone, 18806,
tracing (17.705 ms) : 17528, 17882
. : milestone, 17705,
section candidate
no_agent (19.182 ms) : 18981, 19383
. : milestone, 19182,
appsec (18.586 ms) : 18395, 18776
. : milestone, 18586,
code_origins (18.984 ms) : 18791, 19177
. : milestone, 18984,
iast (17.638 ms) : 17463, 17814
. : milestone, 17638,
profiling (19.133 ms) : 18939, 19328
. : milestone, 19133,
tracing (17.703 ms) : 17524, 17882
. : milestone, 17703,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 1 unstable metrics. Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.56.0-SNAPSHOT~c710a79257, baseline=1.56.0-SNAPSHOT~8db72c0988
dateFormat X
axisFormat %s
section baseline
no_agent (15.45 s) : 15450000, 15450000
. : milestone, 15450000,
appsec (15.256 s) : 15256000, 15256000
. : milestone, 15256000,
iast (18.525 s) : 18525000, 18525000
. : milestone, 18525000,
iast_GLOBAL (18.287 s) : 18287000, 18287000
. : milestone, 18287000,
profiling (15.148 s) : 15148000, 15148000
. : milestone, 15148000,
tracing (14.887 s) : 14887000, 14887000
. : milestone, 14887000,
section candidate
no_agent (14.977 s) : 14977000, 14977000
. : milestone, 14977000,
appsec (14.842 s) : 14842000, 14842000
. : milestone, 14842000,
iast (18.53 s) : 18530000, 18530000
. : milestone, 18530000,
iast_GLOBAL (18.057 s) : 18057000, 18057000
. : milestone, 18057000,
profiling (14.704 s) : 14704000, 14704000
. : milestone, 14704000,
tracing (15.068 s) : 15068000, 15068000
. : milestone, 15068000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.56.0-SNAPSHOT~c710a79257, baseline=1.56.0-SNAPSHOT~8db72c0988
dateFormat X
axisFormat %s
section baseline
no_agent (1.475 ms) : 1463, 1486
. : milestone, 1475,
appsec (3.688 ms) : 3469, 3907
. : milestone, 3688,
iast (2.202 ms) : 2138, 2265
. : milestone, 2202,
iast_GLOBAL (2.248 ms) : 2184, 2312
. : milestone, 2248,
profiling (2.084 ms) : 2031, 2137
. : milestone, 2084,
tracing (2.022 ms) : 1972, 2071
. : milestone, 2022,
section candidate
no_agent (1.478 ms) : 1466, 1490
. : milestone, 1478,
appsec (3.684 ms) : 3468, 3901
. : milestone, 3684,
iast (2.207 ms) : 2143, 2271
. : milestone, 2207,
iast_GLOBAL (2.254 ms) : 2190, 2318
. : milestone, 2254,
profiling (2.044 ms) : 1993, 2095
. : milestone, 2044,
tracing (2.028 ms) : 1978, 2077
. : milestone, 2028,
|
526d702 to
86d3d3d
Compare
What Does This Do
Fixes ConcurrentModificationException when multiple threads concurrently access derivatives map during request processing.
Changes
Used ConcurrentHashMap with minimal locking:
a. Lazy initialization double-checked locking in reportDerivatives()
b. Atomic swap operation in commitDerivatives()
Why this approach:
Motivation
Error tracking report
Additional Notes
stacktrace
Contributor Checklist
type:and (comp:orinst:) labels in addition to any useful labelsclose,fixor any linking keywords when referencing an issue.Use
solvesinstead, and assign the PR milestone to the issueJira ticket: [PROJ-IDENT]