11 Commits

Author SHA1 Message Date
Anis Elleuch
5aff310b80
Always deduplicate folders in listing (#12909)
When a prefix with a trailing slash is found, always deduplicate it.

Co-authored-by: Anis Elleuch <anis@min.io>
2021-08-09 06:58:34 -07:00
Anis Elleuch
851f3c5f0c Listing: Do not include marker in CommonPrefixes (#12021) (#12897)
Walk() and Merge code can return dir__XLDIR__ as the last element 
on a page list and dir__XLDIR__ as the first element in the next list page.

dir__XLDIR__ is shown in the second-page list because the marker set to
dir/ is meant to skip dir/ and not dir__XLDIR__

To fix this, the code will avoid adding the marker itself to the listing
result.
2021-08-06 13:11:31 -07:00
Anis Elleuch
5df7bbf9f9 [10-28.sets branch] Use refresh locking mechanism in locks (#12862)
* locking: Add Refresh for better locking cleanup
* locking: Add timeout in unlock calls
2021-08-06 13:11:29 -07:00
Harshavardhana
963f3ee047 fix: crash in healObjects() 2021-07-08 02:55:47 -07:00
Harshavardhana
1c2f82938f change healObjects to heal one set at time 2021-07-06 12:46:01 -07:00
Harshavardhana
0e1dce37ad add throttling delays for HealObjects() based on crawler delay 2021-05-21 13:20:58 -07:00
Harshavardhana
42157eb218 listing also match sets index for proper quorum 2021-02-01 22:48:08 -08:00
Klaus Post
2439d4fb3c Don't retain context in locker (#10515)
Use the context for internal timeouts, but disconnect it from outgoing
calls so we always receive the results and cancel it remotely.
2020-11-04 10:08:58 -08:00
Harshavardhana
0570c21671 fix: replaced drive properly by healing the entire drive
Bonus fixes, we do not need reload format anymore
as the replaced drive is healed locally we only need
to ensure that drive heal reloads the drive properly.

We preserve the UUID of the original order, this means
that the replacement in `format.json` doesn't mean that
the drive needs to be reloaded into memory anymore.

fixes #10791
2020-10-31 00:30:14 -07:00
Harshavardhana
734f258878
fix: slow down auto healing more aggressively (#10730)
Bonus fixes

- logging improvements to ensure that we don't use
  `go logger.LogIf` to avoid runtime.Caller missing
  the function name. log where necessary.
- remove unused code at erasure sets
2020-10-22 13:36:24 -07:00
Harshavardhana
ad726b49b4
rename zones to serverSets to avoid terminology conflict (#10679)
we are bringing in availability zones, we should avoid
zones as per server expansion concept.
2020-10-15 14:28:50 -07:00