Reuse completed Google embeddings and resume semantic staging
This commit is contained in:
1 parent
0b56ab553c
commit
5c18e7b49c
11 files changed
+1677
-148
No files matched your search
@@ -164,22 +164,31 @@ fn real_google_failed_policy_rebuild_preserves_live_reader_and_retry() -> Result
|
||||
connection.query_row("SELECT count(*) FROM semantic_generations", [], |row| {
|
||||
row.get(0)
|
||||
})?;
|
||||
assert_eq!(generations, 1, "Failed activation must discard staging");
|
||||
|
||||
connection.execute_batch("CREATE TRIGGER reject_generation_cleanup BEFORE DELETE ON semantic_generations WHEN old.id != (SELECT active_generation FROM semantic_meta WHERE singleton=1) BEGIN SELECT RAISE(ABORT,'rejected generation cleanup'); END;")?;
|
||||
assert_eq!(
|
||||
generations, 2,
|
||||
"Failed activation must retain resumable staging"
|
||||
);
|
||||
// A repeated publication failure must preserve the same completed staging
|
||||
// generation and the live reader; it must not create or abandon another one.
|
||||
let failure = service
|
||||
.index_embeddings_with_media(&tools, &limits)
|
||||
.unwrap_err();
|
||||
let message = format!("{failure:#}");
|
||||
assert!(message.contains("rejected generation activation"));
|
||||
assert!(message.contains("rejected generation cleanup"));
|
||||
assert!(format!("{failure:#}").contains("rejected generation activation"));
|
||||
assert_eq!(active(&connection)?, original);
|
||||
assert_reader(&mut service)?;
|
||||
connection.execute_batch(
|
||||
"DROP TRIGGER reject_generation_activation; DROP TRIGGER reject_generation_cleanup;",
|
||||
)?;
|
||||
assert_eq!(
|
||||
connection.query_row("SELECT count(*) FROM semantic_generations", [], |row| row
|
||||
.get::<_, i64>(
|
||||
0
|
||||
))?,
|
||||
2
|
||||
);
|
||||
connection.execute_batch("DROP TRIGGER reject_generation_activation;")?;
|
||||
let retry = service.index_embeddings_with_media(&tools, &limits)?;
|
||||
assert_eq!(retry.passages, 1);
|
||||
assert!(retry.resumed);
|
||||
assert_eq!(retry.reused_sources, 1);
|
||||
assert_eq!(retry.document_inference_calls, 0);
|
||||
assert_reader(&mut service)?;
|
||||
let media_active = active(&connection)?;
|
||||
assert_ne!(media_active.1, original.1);
|
||||
@@ -195,7 +204,9 @@ fn real_google_failed_policy_rebuild_preserves_live_reader_and_retry() -> Result
|
||||
assert_eq!(active(&connection)?, media_active);
|
||||
assert_reader(&mut service)?;
|
||||
connection.execute_batch("DROP TRIGGER reject_generation_activation;")?;
|
||||
service.index_embeddings()?;
|
||||
let reverse_retry = service.index_embeddings()?;
|
||||
assert!(reverse_retry.resumed);
|
||||
assert_eq!(reverse_retry.document_inference_calls, 0);
|
||||
assert_eq!(active(&connection)?.1, original.1);
|
||||
assert_reader(&mut service)?;
|
||||
Ok(())
|
||||
|
||||
Reference in new issue
Block a user