Sessions
Chronicle 對使用者公開的是 recording。recording 是有明確上限的擷取生命週期、其 WAL、metadata、catalog identity,以及已發佈的 canonical result。canonical result 是 session:供 inspect 與 replay 使用的可攜單位。
Recording 識別資訊
標題為「Recording 識別資訊」的章節公開參照採用穩定且適合人閱讀的形式:
rec_<uuid>是對使用者公開的 recording ID。latest會透過 catalog 解析為最新的已發佈 recording。- recording 唯一時,可以用
checkout這類完全相符的名稱解析它。 - 直接查詢 identity 時可以使用單獨的 UUID。
catalog 只提供參考。WAL 中由復原流程認定為權威的事實,以及 canonical session 的事實,優先於互相矛盾的 catalog 資料。chronicle record --retry RECORDING 會重試可復原的 finalization 與 publication,不會重新擷取工作負載。
Session 識別資訊
標題為「Session 識別資訊」的章節canonical SessionId 是獨立且 deterministic 的識別值,可能與 recording ID 不同。Session 關聯需要明確的 source provenance(recording_id/epoch_id)。識別碼相等永遠不代表 lineage;缺少充分 provenance 的 session 視為未解決。使用者應指定 recording,不要依賴內部 session ID。
完整性是明確定義的
標題為「完整性是明確定義的」的章節操作可能是 complete、incomplete、truncated、malformed、unmatched 或 unsupported。與遺失範圍重疊的操作可能因時間範圍內的遺失而變成 incomplete。Chronicle 不會把缺少的證據靜默轉成可 replay 的操作。
inspect 會回報以下其中一種高階 replay 狀態:
fully_replayablepartially_replayablenot_replayable
部分可 replay 的 session 仍可執行已證明位於遺失範圍之外的操作,同時將不安全或有歧義的操作清楚標示為 skipped。
本機發佈
標題為「本機發佈」的章節ETL 會以 atomic 方式發佈 canonical session。manifest、session JSON 與 content-addressed payload artifact 會先寫入私有 staging directory;最後才寫入 manifest,只有 publication 完成後才會重新命名 destination。