1
0
mirror of https://github.com/minio/minio.git synced 2025-03-13 21:12:55 -04:00

11 Commits

Author SHA1 Message Date
Harshavardhana
4ec45753e6 rename server sets to server pools 2020-12-01 13:50:33 -08:00
Klaus Post
990d074f7d
metacache: Allow prefix filtering ()
Do listings with prefix filter when bloom filter is dirty.

This will forward the prefix filter to the lister which will make it 
only scan the folders/objects with the specified prefix.

If we have a clean bloom filter we try to build a more generally 
useful cache so in that case, we will list all objects/folders.
2020-11-18 10:44:18 -08:00
Harshavardhana
ca88ca753c
ignore typed errors correctly in list cache layer ()
bonus write bucket metadata cache with enough quorum

Possible fix for 
2020-11-12 09:28:56 -08:00
Klaus Post
0724205f35
metacache: Add option for life extension ()
Add `MINIO_API_EXTEND_LIST_CACHE_LIFE` that will extend 
the life of generated caches for a while.

This changes caches to remain valid until no updates have been 
received for the specified time plus a fixed margin.

This also changes the caches from being invalidated when the *first* 
set finishes until the *last* set has finished plus the specified time 
has passed.
2020-11-05 11:49:56 -08:00
Klaus Post
bd77f29fc4
Don't replace caches that are receiving updates ()
Keep caches while they are receiving updates.
Move update code to separate function.
2020-11-05 07:34:08 -08:00
Klaus Post
f0819cce75
Keep transient lists while they are updating ()
On extremely long running listings keep the transient list 15 minutes after last update instead of using start time.

Also don't do overlap checks on transient lists.
2020-11-04 08:01:33 -08:00
Klaus Post
b9277c8030
metacache: Add trashcan ()
Add trashcan that keeps recently updated lists after bucket deletion.
All caches were deleted once a bucket was deleted, so caches still running would report errors. Now they are canceled.
Fix `.minio.sys` not being transient.
2020-11-03 12:47:52 -08:00
Klaus Post
fe9f23e632
Recreate bucket metacache if corrupted ()
If bucket metadata cannot be read, clean up existing and create a new.
2020-10-31 10:26:16 -07:00
Harshavardhana
5e5cdc581d
remove unnecessary logging and move to log once ()
the current master logs way too much when a node
is down, instead log once and move on.
2020-10-30 14:55:50 -07:00
Klaus Post
6135f072d2
Fix invalidated metacaches ()
* Fix caches having EOF marked as a failure.
* Simplify cache updates.
* Provide context for checkMetacacheState failures.
* Log 499 when the client disconnects.
2020-10-30 09:33:16 -07:00
Klaus Post
a982baff27
ListObjects Metadata Caching ()
Design: https://gist.github.com/klauspost/025c09b48ed4a1293c917cecfabdf21c

Gist of improvements:

* Cross-server caching and listing will use the same data across servers and requests.
* Lists can be arbitrarily resumed at a constant speed.
* Metadata for all files scanned is stored for streaming retrieval.
* The existing bloom filters controlled by the crawler is used for validating caches.
* Concurrent requests for the same data (or parts of it) will not spawn additional walkers.
* Listing a subdirectory of an existing recursive cache will use the cache.
* All listing operations are fully streamable so the number of objects in a bucket no 
  longer dictates the amount of memory.
* Listings can be handled by any server within the cluster.
* Caches are cleaned up when out of date or superseded by a more recent one.
2020-10-28 09:18:35 -07:00