Harshavardhana and GitHub
e7b60c4d65
Add slow drive timeouts to match with active disk monitoring ( #17701 )
...
allow active disk-monitoring to be configurable, and use
these add deadlines in various call layers for various
syscalls.
2023-07-25 16:58:31 -07:00
Harshavardhana and GitHub
a566bcf613
treat 0-byte objects to honor same quorum as delete marker ( #17633 )
...
on unversioned buckets its possible that 0-byte objects
might lose quorum on flaky systems, allow them to be same
as DELETE markers. Since practically speak they have no
content.
2023-07-11 21:53:49 -07:00
Kaan Kabalak and GitHub
f64d62b01d
Fix style of logOnceIf calls w/unique identifiers ( #17631 )
2023-07-11 13:17:45 -07:00
Poorna and GitHub
e8c98c3246
Avoid extra GetObjectInfo call in DeleteObject API ( #17599 )
...
Optimize DeleteObject API to avoid extra
GetObjectInfo call on the replicating side.
For receiving side, it is just a regular
DeleteObject call.
Bonus: Fix a corner case where version purged is
absent on target (either due to replication not yet
complete or target version already deleted in a
one-way replication or when replication was disabled).
In such cases, mark version purge complete.
2023-07-10 07:57:56 -07:00
Klaus Post and GitHub
ff5988f4e0
Reduce allocations ( #17584 )
...
* Reduce allocations
* Add stringsHasPrefixFold which can compare string prefixes, while ignoring case and not allocating.
* Reuse all msgp.Readers
* Reuse metadata buffers when not reading data.
* Make type safe. Make buffer 4K instead of 8.
* Unslice
2023-07-06 16:02:08 -07:00
Kaan Kabalak and GitHub
21fbe88e1f
Print certain log messages once per error ( #17484 )
2023-06-24 20:29:13 -07:00
Harshavardhana and GitHub
1f8b9b4bd5
fix: do not listAndHeal() inline with PutObject() ( #17499 )
...
there is a possibility that slow drives can actually add latency
to the overall call, leading to a large spike in latency.
this can happen if there are other parallel listObjects()
calls to the same drive, in-turn causing each other to sort
of serialize.
this potentially improves performance and makes PutObject()
also non-blocking.
2023-06-24 19:31:04 -07:00
Harshavardhana and GitHub
02c2ec3027
skip onlineDisks with parity mismatch ( #17478 )
2023-06-20 13:18:24 -07:00
Aditya Manthramurthy and GitHub
5a1612fe32
Bump up madmin-go and pkg deps ( #17469 )
2023-06-19 17:53:08 -07:00
Harshavardhana and GitHub
1443b5927a
allow quorum fileInfo to pick same parityBlocks ( #17454 )
...
Bonus: allow replication to proceed for 503 errors such as
with error code SlowDownRead
2023-06-18 18:20:15 -07:00
Harshavardhana and GitHub
64de61d15d
fallback on etags if they match when mtime is not same ( #17424 )
...
on "unversioned" buckets there are situations
when successive concurrent I/O can lead to
an inconsistent state() with mtime while the
etag might be the same for the object on disk.
in such a scenario it is possible for us to
allow reading of the object since etag matches
and if etag matches we are guaranteed that we
have enough copies the object will be readable
and same.
This PR allows fallback in such scenarios.
2023-06-17 19:18:20 -07:00
Harshavardhana and GitHub
ad4e511026
do not save plain-text ETag when encryption is requested ( #17427 )
...
fixes an issue under bucket replication could cause
ETags for replicated SSE-S3 single part PUT objects,
to fail as we would attempt a decryption while listing,
or stat() operation.
2023-06-15 12:43:26 -07:00
Harshavardhana and GitHub
54e544e03e
allow lookup()/head() operations on Veeam SOS objects ( #17331 )
2023-06-01 15:26:26 -07:00
Harshavardhana and GitHub
ef54200db7
offline drives more than 50% of total drives return error ( #17252 )
2023-05-23 07:57:57 -07:00
Krishnan Parthasarathi and GitHub
3e128c116e
Add lifecycle event source to audit log tags ( #17248 )
2023-05-22 15:28:56 -07:00
Klaus Post and GitHub
aaf1abc993
simplify HardLimitReader by using LimitReader for internal usage ( #17218 )
2023-05-16 13:14:37 -07:00
Poorna and GitHub
e07c2ab868
Use hash.NewLimitReader for internal multipart calls ( #17191 )
2023-05-12 11:19:08 -07:00
Klaus Post and GitHub
7fad0c8b41
Remove checksums from HTTP range request, add part checksums ( #17105 )
2023-04-28 08:26:32 -07:00
Krishnan Parthasarathi and GitHub
e7cac8acef
Add tags to auditLogLifecycle ( #17081 )
2023-04-26 17:49:00 -07:00
Praveen raj Mani and GitHub
72802a5972
Use 'minio/pkg/sync/errgroup' and 'minio/pkg/workers' ( #17069 )
2023-04-25 22:57:40 -07:00
Harshavardhana and GitHub
b1f3935c5b
allow ListObjects() when a prefix is an object ( #17074 )
2023-04-25 22:41:54 -07:00
Krishnan Parthasarathi and GitHub
fae9000304
heal: Pick maximally occuring modTime in quorum ( #17071 )
2023-04-25 10:13:57 -07:00
Harshavardhana and GitHub
84f31ed45d
simplify MRF, converge it to regular healing ( #17026 )
2023-04-19 07:47:42 -07:00
Harshavardhana and GitHub
6825bd7e75
fix: inlined objects don't need to honor long locks ( #17039 )
2023-04-17 12:16:37 -07:00
Klaus Post and GitHub
c133979b8e
Add part count to checksum ( #17035 )
2023-04-14 09:44:45 -07:00
Poorna and GitHub
cd6dec49c0
Add trace support for ilm activity ( #16993 )
2023-04-11 19:22:32 -07:00
Harshavardhana and GitHub
c06e0bfef9
set correct Host: value for replication event notification ( #16984 )
2023-04-06 10:20:53 -07:00
Poorna and GitHub
699a24f7e5
batch: validate versioning on src/tgt buckets ( #16955 )
2023-04-04 10:50:11 -07:00
Harshavardhana and GitHub
216a471bbb
on quorum DeleteObject() errors attempt an MRF ( #16932 )
2023-03-31 08:15:41 -07:00
Harshavardhana and GitHub
6c11dbffd5
add crash protection from backend modifications ( #16846 )
2023-03-20 09:08:42 -07:00
Poorna and GitHub
d1e775313d
support decommissioning of tiered objects ( #16751 )
2023-03-16 07:48:05 -07:00
Harshavardhana and GitHub
e0f4dd6027
remove unncessary logs from WalkDir(), PutObject() ( #16818 )
2023-03-15 11:52:23 -07:00
ferhat elmas and GitHub
714283fae2
cleanup ignored static analysis ( #16767 )
2023-03-06 08:56:10 -08:00
Klaus Post and GitHub
9acf1024e4
Remove bloom filter ( #16682 )
...
Removes the bloom filter since it has so limited usability, often gets saturated anyway and adds a bunch of complexity to the scanner.
Also removes a tiny bit of CPU by each write operation.
2023-02-24 09:03:31 +05:30
Harshavardhana and GitHub
a0f06eac2a
add Veeam SOS API first implementation ( #16688 )
2023-02-22 19:54:57 +05:30
Krishnan Parthasarathi and GitHub
d136ac0596
Don't close transition task channel on server exit ( #16627 )
2023-02-15 22:09:25 -08:00
Krishnan Parthasarathi and GitHub
cea2ca8c8e
Add restore-status header for multipart objects ( #16508 )
2023-01-31 07:53:45 +05:30
Harshavardhana and GitHub
67fce4a5b3
fix: dangling delete() upon success should return 404 ( #16494 )
2023-01-27 12:43:45 -08:00
Anis Elleuch and GitHub
d98116559b
Use async healing in PutObject call ( #16431 )
2023-01-19 00:54:22 -08:00
Harshavardhana and GitHub
2937711390
fix: DeleteObject() API with versionId under replication ( #16325 )
2022-12-28 22:48:33 -08:00
Anis Elleuch and GitHub
acc9c033ed
debug: Add X-Amz-Request-ID to lock/unlock calls ( #16309 )
2022-12-23 19:49:07 -08:00
Krishnan Parthasarathi and GitHub
2fa35def2c
Fix DeleteObject when only free versions remain ( #16289 )
2022-12-21 16:24:07 -08:00
Anis Elleuch and GitHub
89db3fdb5d
Do not return an error when version disparity is detected ( #16269 )
2022-12-16 08:52:12 -08:00
Harshavardhana and GitHub
dfe73629a3
fix: delete marker discrepancies via DeleteObject() API ( #16195 )
2022-12-08 18:15:16 -08:00
Aditya Manthramurthy and GitHub
a30cfdd88f
Bump up madmin-go to v2 ( #16162 )
2022-12-06 13:46:50 -08:00
Klaus Post and GitHub
a713aee3d5
Run staticcheck on CI ( #16170 )
2022-12-05 11:18:50 -08:00
Klaus Post and GitHub
1cd875de1e
Persist updated metadata ( #16160 )
2022-12-02 08:35:04 -08:00
Poorna and GitHub
63fc6ba2cd
preserve replicated ETag properly on target ( #16129 )
2022-11-26 14:43:32 -08:00
Harshavardhana and GitHub
91f45c4aa6
avoid inconsistent versions healing when versions are large ( #16066 )
2022-11-14 18:35:26 -08:00
Anis Elleuch and GitHub
7260241511
Remove some logs caused by external apps ( #16027 )
2022-11-08 13:29:05 -08:00