Agent Skillsrustfs/rustfs › tier-debug

tier-debug

GitHub

用于排查对象存储分层生命周期(ILM)过渡问题,包括 NoSuchVersion、恢复失败及 xl.meta 元数据检查。提供诊断命令与代码入口,指导分析远程分层版本追踪和冷后端故障。

.agents/skills/tier-debug/SKILL.md rustfs/rustfs

Trigger Scenarios

排查 ILM 分层过渡错误 检查 xl.meta 元数据异常 调试远程分层版本 ID 追踪 分析恢复失败原因

Install

npx skills add rustfs/rustfs --skill tier-debug -g -y
More Options

Non-standard path

npx skills add https://github.com/rustfs/rustfs/tree/main/.agents/skills/tier-debug -g -y

Use without installing

npx skills use rustfs/rustfs@tier-debug

指定 Agent (Claude Code)

npx skills add rustfs/rustfs --skill tier-debug -a claude-code -g -y

安装 repo 全部 skill

npx skills add rustfs/rustfs --all -g -y

预览 repo 内 skill

npx skills add rustfs/rustfs --list

SKILL.md

Frontmatter
{
    "name": "tier-debug",
    "description": "Debug ILM tiering \/ lifecycle transition issues — NoSuchVersion on tier GET, restore failures, xl.meta inspection, remote-tier versionId tracing. Use when investigating tiered\/transitioned objects, warm backends, or transition metadata."
}

Tier / ILM Debugging

Playbook: docs/operations/tier-ilm-debugging.md. Read the section matching the symptom: metadata/xl.meta, runtime versionId, manual jobs, or retained-record recovery. Read the local-first expiry invariant before changing cleanup ordering. Before a reconcile/disposition action, read its entire procedure and retain its exact-evidence and confirmation gates.

Quick moves:

# Inspect transition metadata on disk (one xl.meta per erasure shard disk)
cargo run -p rustfs-filemeta --example dump_fileinfo -- "/path/to/{bucket}/{object}/xl.meta"

# Trace what versionId is sent to the remote tier
RUST_LOG=rustfs_ecstore::bucket::lifecycle=debug ./target/debug/rustfs …

Interpretation:

  • transition_ver_id: <none> → correct for an unversioned tier bucket; no versionId must be sent on tier GET/DELETE.
  • transition_ver_id: 00000000-… (nil) → corrupt legacy write-back; readers must filter it out, never send it.
  • Empty-string transitioned-versionID metadata under both x-rustfs-internal-* and x-minio-internal-* keys → object went to an unversioned tier bucket.

Code entry points: crates/ecstore/src/bucket/lifecycle/bucket_lifecycle_ops.rs (ILM actions), crates/ecstore/src/services/tier/ (warm backends), crates/filemeta/src/filemeta/version.rs (metadata read/write + regression tests).

Version History

  • 1880b42 Current 2026-09-23 05:26

    细化 Agent 操作指引并整合审查工作流,新增本地优先过期不变性说明及精确证据保留要求。

  • 0d129ec 2026-08-20 14:32

Same Skill Collection

.agents/skills/adversarial-validation/SKILL.md
.agents/skills/arch-checks/SKILL.md
.agents/skills/code-change-verification/SKILL.md
.agents/skills/issue-triage/SKILL.md
.agents/skills/plugin-contract-guard/SKILL.md
.agents/skills/pr-creation-checker/SKILL.md
.agents/skills/pr-review/SKILL.md
.agents/skills/rust-code-quality/SKILL.md
.agents/skills/rustfs-logging-governance/SKILL.md
.agents/skills/rustfs-release-publish/SKILL.md
.agents/skills/rustfs-release-version-bump/SKILL.md
.agents/skills/security-advisory-lessons/SKILL.md
.agents/skills/test-coverage-improver/SKILL.md
.mimocode/skills/issue-triage/SKILL.md
.mimocode/skills/pr-review/SKILL.md

Metadata

Files
0
Version
1880b42
Hash
bb907e0b
Indexed
2026-08-20 14:32

trang chủ - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-09-23 09:11
浙ICP备14020137号-1