minio/cmd/gateway
poornas 224b4f13b8
Add cache eviction low and high watermarks (#8958)
To allow better control the cache eviction process.

Introduce MINIO_CACHE_WATERMARK_LOW and 
MINIO_CACHE_WATERMARK_HIGH env. variables to specify 
when to stop/start cache eviction process. 

Deprecate MINIO_CACHE_EXPIRY environment variable. Cache 
gc sweeps at 30 minute intervals whenever high watermark is
reached to clear least recently accessed entries in the cache
until sufficient space is cleared to reach the low watermark.

Garbage collection uses an adaptive file scoring approach based
on last access time, with greater weights assigned to larger
objects and those with more hits to find the candidates for eviction.

Thanks to @klauspost for this file scoring algorithm

Co-authored-by: Klaus Post <klauspost@minio.io>
2020-02-23 19:03:39 +05:30
..
azure Add cache eviction low and high watermarks (#8958) 2020-02-23 19:03:39 +05:30
b2 Add cache eviction low and high watermarks (#8958) 2020-02-23 19:03:39 +05:30
gcs Add cache eviction low and high watermarks (#8958) 2020-02-23 19:03:39 +05:30
hdfs Add cache eviction low and high watermarks (#8958) 2020-02-23 19:03:39 +05:30
nas Add cache eviction low and high watermarks (#8958) 2020-02-23 19:03:39 +05:30
oss Add cache eviction low and high watermarks (#8958) 2020-02-23 19:03:39 +05:30
s3 Add cache eviction low and high watermarks (#8958) 2020-02-23 19:03:39 +05:30
gateway.go Implement S3-HDFS gateway (#7440) 2019-04-17 09:52:08 -07:00