open-nomad/nomad/state
Tim Gross b2cd0da0a2
CSI: fix transaction handling in state store (#9438)
When making updates to CSI plugins, the state store methods that have open
write transactions were querying the state store using the same methods used
by the CSI RPC endpoint, but these method creates their own top-level read
transactions. During concurrent plugin updates (as happens when a plugin job
is stopped), this can cause write skew in the plugin counts.

* Refactor the CSIPlugin query methods to have an implementation method that
accepts a transaction, which can be called with either a read txn or a write
txn.
* Refactor the CSIVolume query methods to have an implementation method that
accepts a transaction, which can be called with either a read txn or a write
txn.
* CSI volumes need to be "denormalized" with their plugins and (optionally)
allocations. Read-only RPC endpoints should take a snapshot so that we can
make multiple state store method calls with a consistent view.
2020-11-25 11:15:57 -05:00
..
autopilot.go
autopilot_test.go
deployment_events_test.go Events/mv structs (#9430) 2020-11-23 14:01:10 -05:00
events.go Events/mv structs (#9430) 2020-11-23 14:01:10 -05:00
events_test.go Events/mv structs (#9430) 2020-11-23 14:01:10 -05:00
iterator.go
schema.go event sink crud operation api (#9155) 2020-10-23 14:23:00 -04:00
schema_test.go remove event durability (#9147) 2020-10-22 12:21:03 -04:00
state_changes.go events: Use single eventsFromChanges func (#9281) 2020-11-05 13:06:52 -08:00
state_store.go CSI: fix transaction handling in state store (#9438) 2020-11-25 11:15:57 -05:00
state_store_oss.go added new policy capabilities for recommendations API 2020-10-28 14:32:16 +00:00
state_store_test.go CSI: fix transaction handling in state store (#9438) 2020-11-25 11:15:57 -05:00
testing.go Events/msgtype cleanup (#9117) 2020-10-19 09:30:15 -04:00