Commit d92193f
authored
fix: data race on sender.enabled in trace writer (#54640)
<!--Please give us some feedback on your experience writing this PR ! https://app.datadoghq.com/forms/43db4c02-6837-400c-8083-692e141b1b88 !-->
### What does this PR do?
Fixes a data race on `sender.enabled` in `pkg/trace/writer/sender.go`: `isEnabled()` read/wrote the field with no synchronization. Switched it to `atomic.Bool`.
### Motivation
Fix a race, found via a race-detector-enabled build in staging.
### Describe how you validated your changes
Added `TestIsEnabledConcurrent` in `pkg/trace/writer/sender_test.go`, which calls `isEnabled()` concurrently; it reproduces the race under `-race` before the fix and is clean after.
### Additional Notes
Co-authored-by: pierre.gimalac <pierre.gimalac@datadoghq.com>1 parent d5d46db commit d92193f
3 files changed
Lines changed: 31 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
| 60 | + | |
60 | 61 | | |
61 | 62 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
244 | 244 | | |
245 | 245 | | |
246 | 246 | | |
247 | | - | |
| 247 | + | |
248 | 248 | | |
249 | 249 | | |
250 | 250 | | |
| |||
256 | 256 | | |
257 | 257 | | |
258 | 258 | | |
259 | | - | |
| 259 | + | |
260 | 260 | | |
261 | 261 | | |
262 | 262 | | |
| |||
432 | 432 | | |
433 | 433 | | |
434 | 434 | | |
435 | | - | |
| 435 | + | |
436 | 436 | | |
437 | | - | |
438 | 437 | | |
439 | 438 | | |
440 | 439 | | |
441 | 440 | | |
442 | | - | |
443 | | - | |
| 441 | + | |
444 | 442 | | |
445 | 443 | | |
446 | 444 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
| |||
457 | 458 | | |
458 | 459 | | |
459 | 460 | | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
460 | 486 | | |
461 | 487 | | |
462 | 488 | | |
| |||
0 commit comments