cxymds
080363f10f
feat: harden site replication control plane ( #3842 )
2026-06-27 08:35:49 +08:00
houseme
ae4aa4f5d4
feat(get): add rustfs codec decode engine ( #3928 )
2026-06-27 08:35:38 +08:00
cxymds
688b14b572
fix(ecstore): preserve multipart part quorum errors ( #3920 )
...
* fix(ecstore): preserve multipart part quorum errors
* fix(ecstore): honor confirmed missing part quorum
* fix(ecstore): add multipart quorum diagnostics
2026-06-27 08:33:43 +08:00
Zhengchao An
27bb9c75dc
refactor: move ecstore rpc metadata modules ( #3933 )
2026-06-27 07:19:45 +08:00
Zhengchao An
c6ecfae39e
refactor: move ecstore owner layout modules ( #3932 )
2026-06-27 05:54:25 +08:00
Zhengchao An
61b1296972
refactor: move ecstore store init support ( #3931 )
2026-06-27 05:05:01 +08:00
Zhengchao An
bdfcde1866
refactor: move ecstore store support modules ( #3930 )
2026-06-27 03:51:11 +08:00
Zhengchao An
07428c8a34
refactor: move ecstore store owner roots ( #3929 )
2026-06-27 02:25:04 +08:00
houseme
8994a8ff00
feat(get): add local-first shard reads ( #3924 )
...
* feat(get): observe shard locality cost
* feat(get): add local-first shard reads
----
Co-Authored-By: Heihutu <heihutu@gmail.com >
2026-06-27 01:08:36 +08:00
Zhengchao An
840d21d201
fix(deps): remove vulnerable thrift dependency ( #3926 )
2026-06-27 00:16:51 +08:00
houseme
c0ddc14bb8
feat(get): observe shard locality cost ( #3922 )
...
* feat(get): observe shard locality cost
* fix(storage): avoid request counter underflow panic
* fix(storage): import put guard in concurrency tests
2026-06-26 23:50:37 +08:00
houseme
2c04807f05
feat(get): add guarded metadata early stop ( #3916 )
...
* feat(get): add v2 metrics compatibility harness
* feat(get): observe metadata fanout quorum (#3915 )
* feat(get): observe metadata fanout quorum
* fix(app): use storage ECStore type in app boundary
* feat(get): add guarded metadata early stop
2026-06-26 21:56:23 +08:00
cxymds
7820a55fdc
fix: decouple readiness from cluster health ( #3912 )
...
* fix: include foreground write pressure
* fix: split readiness and cluster health probes
* fix: publish ready on node readiness
* fix: bound cluster health collection
* test: pin health probe collector routing
* fix: qualify app storage ECStore type
* test(admin): narrow runtime capabilities topology assertion
---------
Co-authored-by: houseme <housemecn@gmail.com >
2026-06-26 21:55:18 +08:00
houseme
5a78a9c416
feat(get): add v2 metrics compatibility harness ( #3913 )
...
* feat(get): add v2 metrics compatibility harness
* feat(get): observe metadata fanout quorum (#3915 )
* feat(get): observe metadata fanout quorum
* fix(app): use storage ECStore type in app boundary
----
Co-Authored-By: heihutu <heihutu@gmail.com >
2026-06-26 20:09:09 +08:00
Henry Guo
a8327f8901
fix(scanner): account versioned delete markers in usage ( #3904 )
...
Co-authored-by: Henry Guo <marshawcoco@users.noreply.github.com >
2026-06-26 18:34:21 +08:00
houseme
0321e4c6ca
perf(get): reduce metrics and streaming handoff overhead ( #3907 )
2026-06-26 18:12:51 +08:00
cxymds
30957e2b51
fix(ecstore): throttle data movement under read pressure ( #3906 )
2026-06-26 17:48:09 +08:00
Zhengchao An
b38976d5ee
refactor: segment ECStore storage contracts by domain ( #3910 )
2026-06-26 17:47:36 +08:00
Zhengchao An
72ae43cb90
refactor: segment external storage contract imports ( #3908 )
2026-06-26 16:44:59 +08:00
Zhengchao An
6efbfff2c5
refactor: segment residual storage api boundaries ( #3905 )
2026-06-26 15:56:38 +08:00
cxymds
ae641a33ac
feat(admin): expose global heal progress ( #3897 )
2026-06-26 15:19:48 +08:00
cxymds
90638bfc19
fix(heal): add backpressure to repair admission ( #3900 )
2026-06-26 15:19:37 +08:00
Zhengchao An
1f7e159388
refactor: segment external storage api boundaries ( #3903 )
2026-06-26 15:10:49 +08:00
Zhengchao An
c9614eb7cb
refactor: route ecstore storage api boundaries ( #3892 )
2026-06-26 09:35:18 +08:00
cxymds
0b9c8a7731
fix(heal): align scanner repair safety with quorum errors ( #3887 )
...
* fix(heal): avoid task-level delete on repair failure
* fix(scanner): avoid recreate for scanner heal checks
* fix(heal): preserve typed quorum failures
* test(heal): satisfy clippy bool assertion
2026-06-26 08:58:27 +08:00
Zhengchao An
e37e367390
refactor: route remaining external storage boundaries ( #3889 )
2026-06-26 06:22:51 +08:00
Zhengchao An
4d6ea453a7
refactor: route scanner heal storage boundaries ( #3888 )
2026-06-26 05:24:41 +08:00
houseme
f7a9a7142b
chore: update deps and e2e cache action ( #3885 )
...
* chore(deps): update workspace crate versions
* ci: update e2e s3tests cache action
2026-06-26 04:19:28 +08:00
houseme
7bf411f465
obs(get): add GET read pipeline metrics ( #3868 )
2026-06-26 04:02:02 +08:00
cxymds
86e9362459
fix(heal): canonicalize scanner object-dir repairs ( #3864 )
2026-06-25 22:07:38 +08:00
Henry Guo
30f781871d
fix(scanner): preserve dirty usage convergence ( #3844 )
...
Co-authored-by: Henry Guo <marshawcoco@users.noreply.github.com >
2026-06-25 21:09:12 +08:00
cxymds
4cdc6ae63f
fix(admin): refresh persisted pool states ( #3861 )
2026-06-25 21:08:55 +08:00
houseme
ef0dcec479
feat(ecstore): add deeper zero-copy ingest experiment ( #3847 )
...
* feat(storage): add multipart put stage metrics
* feat(scripts): add multipart put focus runner
* docs(operations): add multipart put server-path guides
* chore(scripts): add local rustfs restart helper
* docs(observability): add local metrics backend guide
* docs(observability): add localized multipart guides
* fix(ecstore): validate multipart batching path
* feat(obs): add erasure encode overlap metrics
* docs(ops): update overlap retest summary
* docs(ops): add batchblocks retest matrix
* docs(ops): extend overlap candidate summary
* docs(ops): capture 8-run overlap summary
* feat(storage): switch rename_data to msgpack map
* test(storage): add rename_data payload checks
* feat(object): add zero_copy_eager put path
* docs(ops): add zero_copy_eager put guide
* docs(ops): add deeper zero-copy next steps
* feat(ecstore): add bytesmut erasure ingest gate
* docs(ops): add bytesmut ingest summary
* docs(ops): extend bytesmut ingest matrix summary
* docs(ops): extend bytesmut larger-object summary
* docs(ops): capture bytesmut variability summary
* chore(scripts): add deeper zero-copy capture flow
* chore(scripts): add deeper zero-copy capture support
* docs(ops): add capture-backed bytesmut retest
* docs(ops): update deeper zero-copy retests
* chore(docs): keep issue-712 notes local only
Co-Authored-By: heihutu <heihutu@gmail.com >
2026-06-25 21:05:00 +08:00
houseme
96b1f5c373
feat(storage): optimize gt1g get read path ( #3860 )
...
* feat(storage): tune gt1g get read path
* docs(ops): add gt1g get benchmark guide
* feat(scripts): add gt1g get fallback runner
* test(storage): trim gt1g get helper warnings
* test(storage): reduce gt1g get helper type complexity
2026-06-25 20:12:08 +08:00
houseme
a30357d21e
feat(storage): extend PUT path tuning and observability ( #3829 )
...
* feat(storage): add multipart put stage metrics
* feat(scripts): add multipart put focus runner
* docs(operations): add multipart put server-path guides
* chore(scripts): add local rustfs restart helper
* docs(observability): add local metrics backend guide
* docs(observability): add localized multipart guides
* fix(ecstore): validate multipart batching path
* feat(obs): add erasure encode overlap metrics
* docs(ops): update overlap retest summary
* docs(ops): add batchblocks retest matrix
* docs(ops): extend overlap candidate summary
* docs(ops): capture 8-run overlap summary
* feat(storage): switch rename_data to msgpack map
* test(storage): add rename_data payload checks
* feat(object): add zero_copy_eager put path
* docs(ops): add zero_copy_eager put guide
* docs(ops): add deeper zero-copy next steps
2026-06-25 19:24:35 +08:00
cxymds
55cbfe256b
fix(heal): skip scanner object-dir recreate misses ( #3839 )
2026-06-25 14:52:24 +08:00
cxymds
4cb28abfc9
fix(scanner): reduce non-actionable scan noise ( #3840 )
2026-06-25 14:35:10 +08:00
cxymds
e6f04bed47
fix(heal): skip missing object-dir candidates ( #3834 )
2026-06-25 09:38:08 +08:00
Zhengchao An
ad6184b126
refactor: centralize iam runtime source helpers ( #3828 )
2026-06-24 22:49:24 +08:00
Zhengchao An
a935854b32
refactor: centralize scanner runtime source helpers ( #3827 )
...
* refactor: batch lifecycle runtime source handles
* refactor: centralize scanner runtime source helpers
2026-06-24 22:05:03 +08:00
Zhengchao An
5cc8bd7952
refactor: centralize ecstore rpc test runtime sources ( #3818 )
2026-06-24 21:18:22 +08:00
Henry Guo
90f6371e29
fix(scanner): clear deleted bucket usage stats ( #3822 )
...
* fix(scanner): clear deleted bucket usage stats
* fix(scanner): preserve usage timestamp on bucket cleanup
---------
Co-authored-by: Henry Guo <marshawcoco@users.noreply.github.com >
2026-06-24 21:08:32 +08:00
houseme
623fc801f1
feat(replication): support custom TLS for bucket targets ( #3825 )
...
* feat(replication): support insecure https bucket targets
* feat(replication): support custom ca bucket targets
* test(replication): satisfy e2e clippy for TLS helpers
* fix(replication): avoid native root panic for custom trust stores
* test(replication): decouple private IP target test from TLS roots
* test(replication): use target TLS client in private IP unit test
2026-06-24 20:23:20 +08:00
houseme
efebcb66be
feat(perf): add large PUT tuning and encode optimization ( #3816 )
2026-06-24 19:04:04 +08:00
cxymds
0ffd561daf
fix(health): decouple liveness and lock RPC deadlines ( #3824 )
2026-06-24 18:34:51 +08:00
cxymds
57e12e56d2
fix(admin): correct pool lifecycle status mapping ( #3823 )
2026-06-24 17:05:07 +08:00
cxymds
eef8f43251
fix: harden lock timeouts, health, and heal paths ( #3815 )
2026-06-24 15:48:06 +08:00
Zhengchao An
94034ef406
refactor: centralize ecstore batch sources and aliases ( #3817 )
2026-06-24 14:12:48 +08:00
cxymds
5eda332fee
fix(heal): recover shards after node rejoin ( #3814 )
2026-06-24 12:51:16 +08:00
Zhengchao An
aa089f18f2
refactor: centralize ecstore accessor runtime sources ( #3813 )
2026-06-24 11:05:30 +08:00