Skip to content

Conversation

@overtrue
Copy link
Collaborator

@overtrue overtrue commented Nov 10, 2025

Type of Change

  • New Feature
  • Bug Fix
  • Documentation
  • Performance Improvement
  • Test/CI
  • Refactor
  • Other

Related Issues

Summary of Changes

  • set_disk.rs:新增 750 ms TTL 的磁盘健康缓存,只在缓存过期时对远端盘做 is_online() 探测,并在在线磁盘少于仲裁时立即返回 ErasureWriteQuorum,避免反复触发慢速路径。
    set_disk.rs: Added a 750 ms disk-health cache so writes probe remote disks only when the cache expires, and now fail fast with ErasureWriteQuorum when healthy disks are below quorum.
  • set_disk.rs:补充 DiskHealthEntry 单测,验证缓存命中与过期语义。
    Added unit tests for DiskHealthEntry to ensure cache hit/expiry semantics.
  • net.rs:测试 DNS 解析器改为 RAII guard(MockResolverGuard),并按需导入 MutexGuard,防止并发测试互相污染全局解析器。
    Updated the test DNS resolver to use an RAII MockResolverGuard and gated MutexGuard under #[cfg(test)] to eliminate test races.

Checklist

  • I have read and followed the CONTRIBUTING.md guidelines
  • Passed make pre-commit
  • Added/updated necessary tests(新增 DiskHealthEntry 单测,net 测试仍可运行)
  • Documentation updated (not needed)
  • CI/CD passed (needs rerun with network)

Impact

  • Breaking change (compatibility)
  • Requires doc/config/deployment update
  • Other impact: 写入仲裁不足时更早返回 ErasureWriteQuorum
    Other: Writes now fail fast with ErasureWriteQuorum when quorum isn’t met.

@overtrue overtrue requested review from houseme and weisd and removed request for weisd November 10, 2025 13:57
@overtrue overtrue merged commit 8a020ec into main Nov 11, 2025
14 checks passed
@overtrue overtrue deleted the feat/issue-806-timeout-improvements branch November 11, 2025 01:35
houseme added a commit that referenced this pull request Nov 11, 2025
…ypto

* 'main' of github.com:rustfs/rustfs:
  wip (#830)
  fix list object err (#831)
  fix (#828)
  feat(storage): refactor audit and notification with OperationHelper (#825)

# Conflicts:
#	Cargo.toml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants