faces: log at the three 503 paths in update_face_handler
PATCH /image/faces/{id} can return 503 from three places (face client
disabled, transient embed error, mid-flight disable) and none of them
were logging — operator sees the status code but nothing in the Rust
log explaining why. Add warn! lines at each so future bbox-edit
failures aren't silent. Response body is unchanged so existing clients
keep working.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
16
src/faces.rs
16
src/faces.rs
@@ -2311,6 +2311,12 @@ async fn update_face_handler<D: FaceDao>(
|
||||
let mut new_embedding: Option<Vec<u8>> = None;
|
||||
if let Some((bx, by, bw, bh)) = bbox_patch {
|
||||
if !face_client.is_enabled() {
|
||||
warn!(
|
||||
"PATCH /image/faces/{}: 503 — face client not enabled \
|
||||
(APOLLO_FACE_API_BASE_URL / APOLLO_API_BASE_URL both unset). \
|
||||
Bbox edit requires Apollo to re-embed.",
|
||||
id
|
||||
);
|
||||
return HttpResponse::ServiceUnavailable()
|
||||
.body("face client disabled — bbox edit requires Apollo");
|
||||
}
|
||||
@@ -2387,9 +2393,19 @@ async fn update_face_handler<D: FaceDao>(
|
||||
);
|
||||
}
|
||||
Err(FaceDetectError::Transient(e)) => {
|
||||
warn!(
|
||||
"PATCH /image/faces/{}: 503 — Apollo face client transient \
|
||||
error during re-embed: {}",
|
||||
id, e
|
||||
);
|
||||
return HttpResponse::ServiceUnavailable().body(format!("{}", e));
|
||||
}
|
||||
Err(FaceDetectError::Disabled) => {
|
||||
warn!(
|
||||
"PATCH /image/faces/{}: 503 — face client became disabled \
|
||||
mid-flight",
|
||||
id
|
||||
);
|
||||
return HttpResponse::ServiceUnavailable().body("face client disabled mid-flight");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user