Feature #17967
closed
Prioritize reads from different storage classes
Added by Peter Amstutz over 3 years ago.
Updated about 3 years ago.
Estimated time:
(Total: 0.00 h)
Release relationship:
Auto
Description
Add a list of storage classes
StorageClasses:
default: {Priority: 100, DefaultWrite: true}
foo: {Priority: 50, DefaultWrite: false}
bar: {Priority: 20, DefaultWrite: false}
Higher priority has higher precedence.
Validate the storage classes of each volume list against the main list.
Also includes adding an exported set of possibly multiple "default" storage classes.
Use priority to determine order to check volumes for blocks.
- Description updated (diff)
- Description updated (diff)
- Description updated (diff)
- Assigned To set to Tom Clegg
- Description updated (diff)
- Description updated (diff)
- Blocks Feature #17696: Exported config has default storage class(es), SDKs use the configured default storage class if not overridden added
- Status changed from New to In Progress
It seemed reasonable to add the whole StorageClasses config section (with Default for #17696 as well as Priority for this issue). Then I forgot #17696 was already assigned to someone else and implemented the Default behavior as well.
17967-storage-classes-config @ 13b280ea288fd08e8c77300b087037635d739eaa -- developer-run-tests: #2621
- add config section with default behavior as described in #17696
- try higher-priority volumes (i.e., volumes with higher-priority storage classes) first when reading
- change keepstore behavior to write to the configured default storage classes when the client didn't specify any (previously was "disregard storage classes" in that case) -- I figured this should make the SDK side much easier
- change arv-put behavior to not specify storage classes for newly written collections/blocks if none were specified by the caller (previously was ["default"])
- TODO: update admin/storage-classes.html
# If you use multiple storage classes, specify them here, using
# the storage class name as the key (in place of "SAMPLE" in
# this sample entry).
This comment doesn't explain what a storage class is, it should either be extended a bit ("Storage classes enable you to control which volumes should be used to store the blocks of a given collection") and/or link to the documentation.
Need to mention the config changes in doc/admin/upgrading.html.textile.liquid
There's some changes to the API server behavior, perhaps that should get a test?
- Status changed from In Progress to Resolved
Also available in: Atom
PDF