mito2/sst/index/indexer/
abort.rs1use common_telemetry::warn;
16
17use crate::sst::index::Indexer;
18
19impl Indexer {
20 pub(crate) async fn do_abort(&mut self) {
21 self.do_abort_inverted_index().await;
22 self.do_abort_fulltext_index().await;
23 self.do_abort_bloom_filter().await;
24 self.puffin_manager = None;
25 }
26
27 async fn do_abort_inverted_index(&mut self) {
28 let Some(mut indexer) = self.inverted_indexer.take() else {
29 return;
30 };
31 let Err(err) = indexer.abort().await else {
32 return;
33 };
34
35 if cfg!(any(test, feature = "test")) {
36 panic!(
37 "Failed to abort inverted index, region_id: {}, file_id: {}, err: {:?}",
38 self.region_id, self.file_id, err
39 );
40 } else {
41 warn!(
42 err; "Failed to abort inverted index, region_id: {}, file_id: {}",
43 self.region_id, self.file_id,
44 );
45 }
46 }
47
48 async fn do_abort_fulltext_index(&mut self) {
49 let Some(mut indexer) = self.fulltext_indexer.take() else {
50 return;
51 };
52 let Err(err) = indexer.abort().await else {
53 return;
54 };
55
56 if cfg!(any(test, feature = "test")) {
57 panic!(
58 "Failed to abort full-text index, region_id: {}, file_id: {}, err: {:?}",
59 self.region_id, self.file_id, err
60 );
61 } else {
62 warn!(
63 err; "Failed to abort full-text index, region_id: {}, file_id: {}",
64 self.region_id, self.file_id,
65 );
66 }
67 }
68
69 async fn do_abort_bloom_filter(&mut self) {
70 let Some(mut indexer) = self.bloom_filter_indexer.take() else {
71 return;
72 };
73 let Err(err) = indexer.abort().await else {
74 return;
75 };
76
77 if cfg!(any(test, feature = "test")) {
78 panic!(
79 "Failed to abort bloom filter, region_id: {}, file_id: {}, err: {:?}",
80 self.region_id, self.file_id, err
81 );
82 } else {
83 warn!(
84 err; "Failed to abort bloom filter, region_id: {}, file_id: {}",
85 self.region_id, self.file_id,
86 );
87 }
88 }
89}