open-nomad/client/pluginmanager
Tim Gross a135d9b260
CSI: fix data race in plugin manager (#12553)
The plugin manager for CSI hands out instances of a plugin for callers
that need to mount a volume. The `MounterForPlugin` method accesses
the internal instances map without a lock, and can be called
concurrently from outside the plugin manager's main run-loop.

The original commit for the instances map included a warning that it
needed to be accessed only from the main loop but that comment was
unfortunately ignored shortly thereafter, so this bug has existed in
the code for a couple years without being detected until we ran tests
with `-race` in #12098. Lesson learned here: comments make for lousy
enforcement of invariants!
2022-04-12 12:18:04 -04:00
..
csimanager CSI: fix data race in plugin manager (#12553) 2022-04-12 12:18:04 -04:00
drivermanager ci: swap ci parallelization for unconstrained gomaxprocs 2022-03-15 12:58:52 -05:00
group.go chore: fix incorrect docstring formatting. 2021-08-30 11:08:12 +02:00
group_test.go ci: swap ci parallelization for unconstrained gomaxprocs 2022-03-15 12:58:52 -05:00
manager.go client: batch initial fingerprinting in plugin manangers 2018-12-18 22:56:19 -05:00
testing.go pluginmanager: WaitForFirstFingerprint times out (#9597) 2020-12-10 07:27:15 -08:00