cache: fix commit value lookup in config (#13551)

This commit is contained in:
Poorna K 2021-11-02 17:20:52 -04:00 committed by GitHub
parent 3dfcca68e6
commit 7c33a33ef3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 4 deletions

View File

@ -27,6 +27,13 @@ import (
"github.com/minio/pkg/ellipses"
)
const (
// WriteBack allows staging and write back of cached content for single object uploads
WriteBack = "writeback"
// WriteThrough allows caching multipart uploads to disk synchronously
WriteThrough = "writethrough"
)
// Config represents cache config settings
type Config struct {
Enabled bool `json:"-"`
@ -39,7 +46,7 @@ type Config struct {
WatermarkLow int `json:"watermark_low"`
WatermarkHigh int `json:"watermark_high"`
Range bool `json:"range"`
CacheCommitMode string `json:"commit_mode"`
CacheCommitMode string `json:"commit"`
}
// UnmarshalJSON - implements JSON unmarshal interface for unmarshalling
@ -157,7 +164,7 @@ func parseCacheExcludes(excludes string) ([]string, error) {
func parseCacheCommitMode(commitStr string) (string, error) {
switch strings.ToLower(commitStr) {
case "writeback", "writethrough":
case WriteBack, WriteThrough:
return strings.ToLower(commitStr), nil
default:
return "", config.ErrInvalidCacheCommitValue(nil).Msg("cache commit value must be `writeback` or `writethrough`")

View File

@ -56,7 +56,7 @@ const (
DefaultAfter = "0"
DefaultWaterMarkLow = "70"
DefaultWaterMarkHigh = "80"
DefaultCacheCommit = "writethrough"
DefaultCacheCommit = WriteThrough
)
// DefaultKVS - default KV settings for caching.
@ -223,7 +223,7 @@ func LookupConfig(kvs config.KVS) (Config, error) {
if err != nil {
return cfg, err
}
if cfg.After > 0 && cfg.CacheCommitMode != "" {
if cfg.After > 0 && cfg.CacheCommitMode != WriteThrough {
err := errors.New("cache after cannot be used with commit writeback")
return cfg, config.ErrInvalidCacheSetting(err)
}