跳转到内容

ColdTierEvent

type ColdTierEvent =
| {
segment: JournalManifestSegment;
session: ColdSessionRef;
type: "store.segment_sealed";
}
| {
bytes: number;
generation: number;
key: string;
segment: JournalManifestSegment;
session: ColdSessionRef;
type: "store.segment_committed";
}
| {
attempts: number;
error: StoreError;
gaveUp: boolean;
segment: JournalManifestSegment | null;
session: ColdSessionRef;
type: "store.commit_failed";
}
| {
hotBytes: number;
maxBytes: number;
type: "store.hot_full";
}
| {
hotBytes: number;
maxBytes: number;
type: "store.hot_recovered";
}
| {
bytes: number;
segment: JournalManifestSegment;
session: ColdSessionRef;
type: "store.evicted";
}
| {
deleted: string[];
session: ColdSessionId;
type: "store.orphan_gc";
};

结构化事件(可映射为 serve 日志事件 / onStoreError):

  • store.segment_sealed:收到封段通知,已入队(热层事实);
  • store.segment_committed:段 put 成功且冷清单 CAS 已提交(冷层事实;可逐出);
  • store.commit_failed:一次上传 / 提交失败(gaveUp = 重试预算耗尽或 permanent / precondition_failed 放弃;此后该段留在热盘、积压可见);
  • store.hot_full:热盘触顶(ready → false);store.hot_recovered:回落;
  • store.evicted:已提交段的本地文件被逐出;
  • store.orphan_gc:孤儿对象清理(段已 put、清单未引用)。