mirror of
https://github.com/meilisearch/MeiliSearch
synced 2025-01-27 13:47:29 +01:00
Merge #5242
5242: Fix infinite loop r=Kerollmops a=dureuill - Fix possible infinite loop by releasing `writer_receiver` as soon as writing to DB panics - Demote panic to error log Co-authored-by: Louis Dureuil <louis@meilisearch.com>
This commit is contained in:
commit
a5c44b4d79
@ -110,7 +110,7 @@ where
|
||||
},
|
||||
);
|
||||
|
||||
let (extractor_sender, mut writer_receiver) = pool
|
||||
let (extractor_sender, writer_receiver) = pool
|
||||
.install(|| extractor_writer_bbqueue(&mut bbbuffers, total_bbbuffer_capacity, 1000))
|
||||
.unwrap();
|
||||
|
||||
@ -425,6 +425,7 @@ where
|
||||
let mut arroy_writers = arroy_writers?;
|
||||
|
||||
{
|
||||
let mut writer_receiver = writer_receiver;
|
||||
let span = tracing::trace_span!(target: "indexing::write_db", "all");
|
||||
let _entered = span.enter();
|
||||
|
||||
@ -584,10 +585,12 @@ fn write_from_bbqueue(
|
||||
}
|
||||
(key, None) => match database.delete(wtxn, key) {
|
||||
Ok(false) => {
|
||||
unreachable!(
|
||||
"We tried to delete an unknown key from {database_name}: {:?}",
|
||||
key.as_bstr()
|
||||
)
|
||||
tracing::error!(
|
||||
database_name,
|
||||
key_bytes = ?key,
|
||||
formatted_key = ?key.as_bstr(),
|
||||
"Attempt to delete an unknown key"
|
||||
);
|
||||
}
|
||||
Ok(_) => (),
|
||||
Err(error) => {
|
||||
|
Loading…
x
Reference in New Issue
Block a user