Mark a file the decoder cannot open, so the sweep stops fetching it
A decode failure in the face sweep was counted, logged at debug where nobody saw it, and left unmarked — so the next pass fetched the same file and failed the same way. For the 521 MB panorama behind rawler's panic that was half a gigabyte per sweep, on a tablet. It is now marked examined with nothing found and a zero edge, which is what a later "try again with a better decoder" pass would select on, and the warning names the file. The failure count is unchanged: it did fail.
This commit is contained in:
+24
-1
@@ -4298,7 +4298,30 @@ pub fn spawn_face_sweep(
|
||||
}
|
||||
}
|
||||
Err(e) => {
|
||||
log::debug!("face sweep: {}: {e}", req.path);
|
||||
// A file the decoder cannot open fails the same
|
||||
// way on every pass, and every pass fetched it
|
||||
// first: a 521 MB panorama the decoder refuses
|
||||
// was downloaded once per sweep, on a tablet,
|
||||
// and reported at debug level where nobody saw
|
||||
// it. It is marked examined with nothing found,
|
||||
// so the next pass does not fetch it again; the
|
||||
// zero edge is what says why, and is what a
|
||||
// later "try again with a better decoder" pass
|
||||
// would select on. The count still says it
|
||||
// failed, because it did.
|
||||
log::warn!("face sweep: {}: {e}", req.path);
|
||||
if let Err(e) = dr_catalog::faces::record_detections(
|
||||
catalog.connection(),
|
||||
dr_types::ImageId(req.image_id as u64),
|
||||
&model_id,
|
||||
0,
|
||||
&[],
|
||||
) {
|
||||
log::warn!(
|
||||
"face sweep: marking {} as unreadable: {e}",
|
||||
req.image_id
|
||||
);
|
||||
}
|
||||
lane_failed += 1;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user