provider checkpoint 存在性校验补上 provider_kind
- at-most-once submit 的两字段不变量在数据层一起判定
This commit is contained in:
@@ -1881,11 +1881,10 @@ fn get_worker_owned_external_generation_job(
|
||||
fn ensure_external_generation_job_provider_checkpoint_absent(
|
||||
row: &ExternalGenerationJob,
|
||||
) -> Result<(), String> {
|
||||
if row.provider_task_id.is_some() {
|
||||
return Err(
|
||||
"external_generation_job.provider_task_id 已存在,禁止覆盖 provider checkpoint"
|
||||
.to_string(),
|
||||
);
|
||||
// checkpoint 由 provider_kind + provider_task_id 两个字段共同构成,
|
||||
// 只判 task_id 会让部分写入的行绕过 at-most-once submit 保护。
|
||||
if row.provider_kind.is_some() || row.provider_task_id.is_some() {
|
||||
return Err("external_generation_job.provider checkpoint 已存在,禁止覆盖".to_string());
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user