minio/internal
Harshavardhana 2f9e2147f5
allow quota enforcement to rely on older values (#17351)
PUT calls cannot afford to have large latency build-ups due
to contentious usage.json, or worse letting them fail with
some unexpected error, this can happen when this file is
concurrently being updated via scanner or it is being
healed during a disk replacement heal.

However, these are fairly quick in theory, stressed clusters
can quickly show visible latency this can add up leading to
invalid errors returned during PUT.

It is perhaps okay for us to relax this error return requirement
instead, make sure that we log that we are proceeding to take in
the requests while the quota is using an older value for the quota
enforcement. These things will reconcile themselves eventually,
via scanner making sure to overwrite the usage.json.

Bonus: make sure that storage-rest-client sets ExpectTimeouts to
be 'true', such that DiskInfo() call with contextTimeout does
not prematurely disconnect the servers leading to a longer
healthCheck, back-off routine. This can easily pile up while also
causing active callers to disconnect, leading to quorum loss.

DiskInfo is actively used in the PUT, Multipart call path for
upgrading parity when disks are down, it in-turn shouldn't cause
more disks to go down.
2023-06-05 16:56:35 -07:00
..
amztime use correct xml package for custom MarshalXML() (#16421) 2023-01-17 05:08:33 +05:30
arn run gofumpt cleanup across code-base (#14015) 2022-01-02 09:15:06 -08:00
auth Add "name" and "description" params to service acc (#17172) 2023-05-17 17:05:36 -07:00
bpool run gofumpt cleanup across code-base (#14015) 2022-01-02 09:15:06 -08:00
bucket fix: expMovingAvg is too small when startTime is zero (#17346) 2023-06-03 13:41:51 -07:00
color log: Do not interpret verbs in object names in console output (#16233) 2022-12-13 08:27:40 -08:00
config fix: ignore existing target status when adding new targets (#17250) 2023-05-24 22:57:37 -07:00
crypto Add number of offline disks in quorum errors (#16822) 2023-05-25 09:39:06 -07:00
deadlineconn add deadlineConnections on remoteTransport (#16010) 2022-11-05 11:09:21 -07:00
disk optimization use small blocks up to 64KB (#17107) 2023-05-01 09:47:49 -07:00
dsync lock: Retry locking with an increasing random interval (#17200) 2023-05-13 08:42:21 -07:00
etag Remove deprecated io/ioutil (#15707) 2022-09-19 11:05:16 -07:00
event fix: for Target isActive use net.Dial instead (#17251) 2023-05-25 09:24:11 -07:00
fips disable builds for go1.18 (#16332) 2022-12-30 11:37:07 -08:00
handlers lint: fix some lint issues on files 2023-04-06 22:42:10 -07:00
hash support fan-out objects via PostUpload() (#17233) 2023-05-24 22:51:07 -07:00
http Add updatedAt for GetBucketLifecycleConfig (#17271) 2023-05-24 22:52:39 -07:00
init force all internal MinIO operations to be under UTC (#16009) 2022-11-04 16:44:38 -07:00
ioutil Signed trailers for signature v4 (#16484) 2023-05-05 19:53:12 -07:00
jwt allow JWT parsing on large session policy based tokens (#17167) 2023-05-09 00:53:08 -07:00
kms simplify error responses for KMS (#16793) 2023-03-16 11:59:42 -07:00
lock Remove deprecated io/ioutil (#15707) 2022-09-19 11:05:16 -07:00
logger logger-http: Don't retry after a succesful send (#17266) 2023-05-22 14:53:18 -07:00
lsync cleanup Go linter settings (#16736) 2023-03-04 20:57:35 -08:00
mcontext Add X-Amz-Request-Id to internode calls (#16146) 2022-12-06 09:27:26 -08:00
mountinfo Remove deprecated io/ioutil (#15707) 2022-09-19 11:05:16 -07:00
once Support persistent queue store for loggers (#17121) 2023-05-08 21:20:31 -07:00
pubsub mark pubsub type safe via generics (#15961) 2022-10-28 10:55:42 -07:00
rest allow quota enforcement to rely on older values (#17351) 2023-06-05 16:56:35 -07:00
s3select Revert s3 select simdjson reuse (#17310) 2023-05-30 10:02:22 -07:00
store Check for only network errors in audit webhook for reachability (#17228) 2023-05-17 11:10:33 -07:00