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