container-storage-interface / spec

Container Storage Interface (CSI) Specification.
Apache License 2.0
1.34k stars 373 forks source link

gRPC Unavailable error code MAY be returned for any RPC that the plugin cannot currently process due to a transient condition. #345

Open jdef opened 5 years ago

jdef commented 5 years ago

Some use cases:

  1. plugin is still booting up and CO invoked a non-probe func before Probe returned OK.
  2. plugin is overwhelmed with requests and cannot process further requests until it catches up
  3. plugin is encountering transient network error conditions when communicating w/ the storage backend (e.g. read/write timeouts), and/or storage backend has indicated "too many requests" (so the plugin should try to shed load).

In response to receiving this error code a CO can choose to:

  1. give up
  2. back off and retry later
saad-ali commented 5 years ago

Seems reasonable considering we don't define behavior for this (so no backwards compat worries).