mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2025-12-28 00:42:56 +00:00
fix(metric-engine): set ttl also on opening metadata regions (#5051)
* fix/metric-metadata-region-options: Remove APPEND_MODE_KEY and refactor TTL option handling in MetricEngineInner * fix/metric-metadata-region-options: Refactor metadata region options into a shared function • Extract metadata region options into region_options_for_metadata_region function • Replace inline options map with a call to the new shared function in both create.rs and open.rs files * fix: exclude typos * fix/metric-metadata-region-options: Refactor metadata region options to accept original options and remove APPEND_MODE_KEY
This commit is contained in:
@@ -456,11 +456,7 @@ impl MetricEngineInner {
|
||||
// concat region dir
|
||||
let metadata_region_dir = join_dir(&request.region_dir, METADATA_REGION_SUBDIR);
|
||||
|
||||
// remove TTL and APPEND_MODE option
|
||||
let mut options = request.options.clone();
|
||||
options.insert(TTL_KEY.to_string(), "10000 years".to_string());
|
||||
options.remove(APPEND_MODE_KEY);
|
||||
|
||||
let options = region_options_for_metadata_region(request.options.clone());
|
||||
RegionCreateRequest {
|
||||
engine: MITO_ENGINE_NAME.to_string(),
|
||||
column_metadatas: vec![
|
||||
@@ -539,6 +535,15 @@ impl MetricEngineInner {
|
||||
}
|
||||
}
|
||||
|
||||
/// Creates the region options for metadata region in metric engine.
|
||||
pub(crate) fn region_options_for_metadata_region(
|
||||
mut original: HashMap<String, String>,
|
||||
) -> HashMap<String, String> {
|
||||
original.remove(APPEND_MODE_KEY);
|
||||
original.insert(TTL_KEY.to_string(), "10000 years".to_string());
|
||||
original
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
use store_api::metric_engine_consts::{METRIC_ENGINE_NAME, PHYSICAL_TABLE_METADATA_KEY};
|
||||
|
||||
@@ -24,6 +24,7 @@ use store_api::region_request::{AffectedRows, RegionOpenRequest, RegionRequest};
|
||||
use store_api::storage::RegionId;
|
||||
|
||||
use super::MetricEngineInner;
|
||||
use crate::engine::create::region_options_for_metadata_region;
|
||||
use crate::engine::options::set_data_region_options;
|
||||
use crate::error::{OpenMitoRegionSnafu, Result};
|
||||
use crate::metrics::{LOGICAL_REGION_COUNT, PHYSICAL_REGION_COUNT};
|
||||
@@ -68,9 +69,10 @@ impl MetricEngineInner {
|
||||
let metadata_region_dir = join_dir(&request.region_dir, METADATA_REGION_SUBDIR);
|
||||
let data_region_dir = join_dir(&request.region_dir, DATA_REGION_SUBDIR);
|
||||
|
||||
let metadata_region_options = region_options_for_metadata_region(request.options.clone());
|
||||
let open_metadata_region_request = RegionOpenRequest {
|
||||
region_dir: metadata_region_dir,
|
||||
options: request.options.clone(),
|
||||
options: metadata_region_options,
|
||||
engine: MITO_ENGINE_NAME.to_string(),
|
||||
skip_wal_replay: request.skip_wal_replay,
|
||||
};
|
||||
|
||||
@@ -11,5 +11,6 @@ extend-exclude = [
|
||||
"tests-fuzz/src/data/lorem_words",
|
||||
"*.sql",
|
||||
"*.result",
|
||||
"src/pipeline/benches/data.log"
|
||||
"src/pipeline/benches/data.log",
|
||||
"cyborg/pnpm-lock.yaml"
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user