GatewayJ
675597ec16
fix(ecstore): handle stalled recovery reads and listings ( #3790 )
...
* fix(ecstore): handle stalled recovery reads and listings
* fix(rio): start HTTP stall timeout on read
* fix(ecstore): handle stalled reads and partial lists
* fix(ecstore): retire stalled shards and list errors
* fix(ecstore): preserve list merge lookahead entries
* fix(ecstore): bound zero-copy shard reads
* fix(ecstore): hedge stalled shard reads
* fix(ecstore): retire abandoned shard reads
* fix(ecstore): include part identity in metadata quorum
* fix(ecstore): validate heal shard sources
* fix(ecstore): verify reconstructed read shards
* chore(ecstore): log slow object read stages
* fix(heal): throttle auto heal during recovery
* fix(scanner): yield to foreground reads
* fix(scanner): track streaming object reads
* fix(ecstore): avoid false read heal fanout
* fix(ecstore): verify codec streaming reconstruction sources
* fix(ecstore): preserve quorum progress on slow shards
* fix(storage): restore read timeout facade
* fix(ecstore): retain fallback readers after quorum
* chore: allow decode helper argument lists
---------
Co-authored-by: overtrue <anzhengchao@gmail.com >
2026-06-27 10:21:09 +08:00
Zhengchao An
726c26fa01
refactor: centralize RIO HTTP runtime sources ( #3795 )
2026-06-23 21:55:05 +08:00
houseme
583a23bdf2
fix(ecstore): replace panic-driven pool and set stubs ( #3753 )
...
* fix(ecstore): replace panic-driven pool and set stubs
* test(runtime): tolerate restricted local bind checks
* fix(ecstore): remove remaining trait stub placeholders
* fix(ecstore): tighten trait stub follow-up semantics
* chore: ignore local worktrees
* chore: update layer dependency baseline for resolve_* context entries
Add 7 accepted infra->app dependency entries introduced by recent
refactoring PRs (#3770 , #3771 , #3772 ) that route global state lookups
through app::context::resolve_* functions.
Co-Authored-By: heihutu <heihutu@gmail.com >
---------
Co-authored-by: heihutu <heihutu@gmail.com >
2026-06-23 12:31:17 +08:00
houseme
ed73952cb6
perf(ecstore): improve erasure write diagnostics and single-block performance ( #3280 )
...
* docs(object-capacity): add localized crate docs
* fix(ecstore): improve quorum and transport diagnostics
* perf(ecstore): add safe single-block write fast path
* refactor(ecstore): collapse layered small write paths
* chore(docs): keep issue 662 design note tracked
* fix(docs): restore issue 662 design note
* chore(docs): keep issue 662 design local only
* feat(obs): add internode reliability metrics and dashboard
* feat(obs): extend internode diagnostics and service logging
* fix(docs): use AGENTS guide filename
* perf(ecstore): reuse owned buffer in small encode
* fix(ecstore): tighten small write diagnostics
---------
Co-authored-by: cxymds <Cxymds@qq.com >
2026-06-08 09:45:56 +00:00
houseme
20bb5dc4a2
fix(ecstore): retry transient walk dir stream errors ( #3194 )
...
* fix(ecstore): retry transient walk dir stream errors
Retry RemoteDisk walk_dir once when the first failure looks transport-related so restart-time HttpReader stream errors do not immediately count as hard listing failures.
Improve HttpReader request and stream error messages with method and URL context, and add regression coverage for retry recovery and diagnostics.
* fix(ecstore): avoid retry after partial walk dir stream
Stop retrying walk_dir after copy_stream_with_buffer has already written partial bytes into the destination writer.
Keep the retry only for open_walk_dir failures and add a regression test that proves partial stream failures are returned without issuing a second stream.
2026-06-03 13:38:22 +00:00
houseme
d74e6eb042
refactor(tls): centralize runtime foundation ( #3065 )
...
* refactor(targets): move notify net helpers from utils
* refactor(tls): centralize runtime foundation
* refactor(targets): move notify net helpers from utils
* refactor(tls): centralize runtime foundation
* feat(tls-runtime): add TLS debug state and admin handler
* refactor(tls-runtime): unify TLS debug consumer status view
* fix(tls): address PR3065 review feedback
* refactor(tls): align debug status payload types
* refactor(targets): harden TLS hot reload paths
* fix(targets): resolve review-4348251652 findings
* fix(targets): finalize tls runtime review follow-ups
* fix(targets): harden tls reload and review follow-ups
* fix(targets): align tls reload handling across targets
* fix(targets): finalize tls reload state and metrics updates
* chore(deps): trim unused TLS deps
* style(targets): normalize TLS reload formatting
* refactor(targets): introduce tls runtime adapter path
* chore: update workspace manifests for tls refactor
* fix(tls): stabilize material reload and audit workflow
* fix(targets): refresh tls fingerprint flow across sinks
* fix(tls): align runtime coordinator and http reader updates
* fix(sftp): simplify protocol error mapping
* fix(tls): harmonize material loading behavior
* fix(server): finalize tls material wiring in startup flow
* fix(protos): tighten tls generation cache and deps
2026-05-24 06:41:15 +00:00
Henry Guo
0985f0b37b
feat(internode): label transport operation metrics ( #3045 )
...
Co-authored-by: Henry Guo <marshawcoco@users.noreply.github.com >
Co-authored-by: houseme <housemecn@gmail.com >
2026-05-21 15:20:39 +00:00
houseme
73bde843d6
refactor(s3): consolidate semantic boundaries and remove s3-common ( #3012 )
...
* refactor(common): introduce rustfs-data-usage core crate
* refactor(concurrency): migrate workers crate into concurrency
* refactor(crypto): migrate appauth token APIs into crypto
* fix docs urls
* remove unused crate
* refactor(data-usage): switch consumers to rustfs-data-usage
* chore(fmt): apply cargo fmt and lockfile sync
* refactor(common): remove data_usage compatibility re-export
* refactor(capacity): move capacity_scope to object-capacity
* refactor(io-metrics): relocate internode metrics from common
* refactor(common): decouple scanner report from madmin
* chore(fmt): normalize import ordering after pre-commit
* refactor(s3): split s3 types and ops crates
* refactor(s3): centralize event version and safe parsing
* refactor(s3): add op-event compatibility guardrails
* refactor(s3): add runtime op-event mismatch observability
* refactor(s3): extract delete event mapping helper
* refactor(s3): extract put event mapping helper
* refactor(s3): consolidate remaining event semantic helpers
* refactor(s3): add op-event coverage checks and observability alerts
* refactor(s3-ops): consolidate op-event semantic mapping
* refactor(scanner): remove last_minute wrapper module
* refactor(scanner): consolidate duplicated data usage models
2026-05-19 12:50:25 +00:00
Henry Guo
f695870626
feat(internode): add transport observability ( #3007 )
...
* docs: add internode data transport RFC
* feat: add internode operation metrics
* fix feedback
* fix(ci): fallback protoc token to github.token
---------
Co-authored-by: Henry Guo <marshawcoco@users.noreply.github.com >
2026-05-19 07:16:05 +00:00
houseme
28edfd6190
fix(storage): harden offline drive fail-fast paths ( #2564 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
2026-04-16 09:21:45 +00:00
安正超
6d476ae9a1
revert: remove BlockReadable trait and chunk-based I/O from rio, ecstore, disk layers ( #2533 )
2026-04-14 19:09:02 +08:00
houseme
32bf8f5bf3
feat(storage): add direct chunk GET fast path ( #2351 )
...
Signed-off-by: houseme <housemecn@gmail.com >
Co-authored-by: heihutu <heihutu@gmail.com >
Co-authored-by: cxymds <Cxymds@qq.com >
2026-04-07 08:33:46 +08:00
安正超
a236b0d01d
feat(ecstore): implement decommission and rebalance ( #2281 )
...
Co-authored-by: weisd <im@weisd.in >
Co-authored-by: houseme <housemecn@gmail.com >
2026-03-26 11:44:02 +08:00
weisd
05dc131a49
perf(storage): optimize internode RPC transfer path ( #2262 )
...
Co-authored-by: momoda693 <momoda693@gmail.com >
2026-03-23 17:09:49 +08:00
weisd
b9b7d86ae4
feat: improve legacy metadata and admin compatibility ( #2202 )
2026-03-18 21:05:09 +08:00
houseme
2924b4e463
Restore globals and add unified TLS/mTLS loading from RUSTFS_TLS_PATH ( #1309 )
...
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
2025-12-30 21:55:43 +08:00
Jitter
cd6a26bc3a
fix(net): resolve 1GB upload hang and macos build (Issue #1001 regression) ( #1035 )
2025-12-07 18:05:51 +08:00
guojidan
9d5ed1acac
Feature/scanner performance optimization ( #498 )
...
* Refactor: reimplement scanner
Signed-off-by: RustFS Developer <dandan@rustfs.com >
* comment lock
Signed-off-by: junxiang Mu <1948535941@qq.com >
* remove dirty file
Signed-off-by: junxiang Mu <1948535941@qq.com >
* Fix: fix rebase
* fix(scanner): Improve error handling and logging
Signed-off-by: junxiang Mu <1948535941@qq.com >
---------
Signed-off-by: RustFS Developer <dandan@rustfs.com >
Signed-off-by: junxiang Mu <1948535941@qq.com >
Co-authored-by: RustFS Developer <dandan@rustfs.com >
2025-09-08 18:35:45 +08:00
houseme
2e14b32ccd
chore: Add copyright and license headers ( #23 )
...
* chore: Add copyright and license headers
This commit adds the Apache 2.0 license and a copyright notice to the header of all source files. This ensures that the licensing and copyright information is clearly stated within the codebase.
* cargo fmt
* fix
* fmt
* fix clippy
2025-07-02 15:07:47 +08:00
houseme
749537664f
fix:Apply suggestions from clippy 1.88
2025-06-27 18:16:29 +08:00
weisd
e145586b65
refactor: reorganize RPC modules into unified structure
2025-06-19 17:06:54 +08:00
weisd
5b1b527851
fix bitrot
2025-06-18 18:22:30 +08:00
Nugine
4a786618d4
refactor(rio): HttpReader use StreamReader
2025-06-17 16:22:55 +08:00
weisd
52342f2f8e
feat(grpc): walk_dir http
...
fix(ecstore): rebalance loop
2025-06-16 10:32:03 +08:00
Nugine
048727f183
feat(rio): reuse http connections
2025-06-15 16:56:05 +08:00
weisd
db355bb26b
todo
2025-06-06 11:35:27 +08:00
weisd
7fe0cc74d2
add rio/filemeta
2025-06-04 14:21:34 +08:00