Idea #17465
closedSupport writing blocks to correct storage classes in Python SDK
Description
Depends on #13382
The client is responsible for keeping track of how many replicas have been written for each storage class. If one storage class is satisfied but not another, the satisfied one can be removed from the X-Keep-Storage-Classes list. The overall write is a success if all storage classes were satisfied, and a failure if any of the storage classes could not be satisfied.
Add as an option to Python keepclient and Collection class.
"We are not expecting to skip servers, we just need to send the storage classes and know when we are done"
Keepclient code in Go and Python SDK support:
Setting storage classes to use when uploading a block
Passing storage classes in the X-Keep-Storage-Classes header
The client is responsible for keeping track of how many replicas have been written for each storage class. If one storage class is satisfied but not another, the satisfied one can be removed from the X-Keep-Storage-Classes list. The overall write is a success if all storage classes were satisfied, and a failure if any of the storage classes could not be satisfied.
- Collection instance knows the storage classes
- Storage classes are passed to the block manager instance
- Block manager passes storage classes to the put() call via a new optional parameter
Related issues