From f9dfc2ea514a268007dbeb9c1ac939c7c73f5649 Mon Sep 17 00:00:00 2001 From: starrysky Date: Wed, 27 May 2026 12:12:01 +0800 Subject: [PATCH] fix: rename checkpoint interval field --- src/cluster_mgr/config/EloqKv.ini | 2 +- .../examples/eloqkv_memory_multi_ng.yaml | 3 +- .../examples/eloqkv_memory_with_standby.yaml | 2 +- .../eloqkv_rocks_eloqdss_rocksdb.yaml | 2 +- .../config/examples/eloqkv_rocks_gcp.yaml | 2 +- .../config/examples/eloqkv_rocks_minio.yaml | 2 +- .../config/examples/eloqkv_rocks_s3.yaml | 2 +- ...v_rocks_s3_standby_withvoter_with_log.yaml | 4 +-- .../config/examples/eloqkv_rocksdb.yaml | 2 +- .../examples/eloqkv_rocksdb_multiple_ng.yaml | 2 +- .../examples/eloqkv_rocksdb_standby.yaml | 4 +-- .../eloqkv_rocksdb_standby_with_log.yaml | 4 +-- .../eloqkv_rocksdb_standby_with_voter.yaml | 4 +-- ...v_rocksdb_standby_with_voter_with_log.yaml | 4 +-- src/cluster_mgr/src/cli/cmd_base.rs | 12 ++++---- src/cluster_mgr/src/cli/task/config_fields.rs | 2 +- .../src/cli/task/topology_update_task.rs | 29 ++++++++++--------- src/cluster_mgr/src/config/deployment.rs | 9 +++--- .../src/state/topology_tx_operation.rs | 1 + tests/e2e/topology.yaml | 2 +- 20 files changed, 49 insertions(+), 45 deletions(-) diff --git a/src/cluster_mgr/config/EloqKv.ini b/src/cluster_mgr/config/EloqKv.ini index 58ca3b33..578b03f7 100644 --- a/src/cluster_mgr/config/EloqKv.ini +++ b/src/cluster_mgr/config/EloqKv.ini @@ -2,7 +2,7 @@ eloq_data_path=${OVERRIDE} ip=${OVERRIDE} port=${OVERRIDE} -checkpoint_interval=${OVERRIDE} +checkpointer_interval=${OVERRIDE} enable_data_store=${OVERRIDE} enable_wal=${OVERRIDE} enable_io_uring=${OVERRIDE} diff --git a/src/cluster_mgr/config/examples/eloqkv_memory_multi_ng.yaml b/src/cluster_mgr/config/examples/eloqkv_memory_multi_ng.yaml index 7e8fe359..776fd106 100644 --- a/src/cluster_mgr/config/examples/eloqkv_memory_multi_ng.yaml +++ b/src/cluster_mgr/config/examples/eloqkv_memory_multi_ng.yaml @@ -10,8 +10,7 @@ deployment: install_dir: "/home/${USER}" enable_wal: false enable_io_uring: false - checkpoint_interval: 120 + checkpointer_interval: 120 tx_service: tx_host_ports: [10.0.0.1:6379, 10.0.0.2:6379, 10.0.0.3:6379] - diff --git a/src/cluster_mgr/config/examples/eloqkv_memory_with_standby.yaml b/src/cluster_mgr/config/examples/eloqkv_memory_with_standby.yaml index 4953c483..4604e00f 100644 --- a/src/cluster_mgr/config/examples/eloqkv_memory_with_standby.yaml +++ b/src/cluster_mgr/config/examples/eloqkv_memory_with_standby.yaml @@ -10,7 +10,7 @@ deployment: install_dir: "/home/${USER}" enable_wal: false enable_io_uring: false - checkpoint_interval: 120 + checkpointer_interval: 120 tx_service: tx_host_ports: [10.0.0.1:6379] standby_host_ports: [10.0.0.2:6379] diff --git a/src/cluster_mgr/config/examples/eloqkv_rocks_eloqdss_rocksdb.yaml b/src/cluster_mgr/config/examples/eloqkv_rocks_eloqdss_rocksdb.yaml index 99b73990..c86ae3c6 100644 --- a/src/cluster_mgr/config/examples/eloqkv_rocks_eloqdss_rocksdb.yaml +++ b/src/cluster_mgr/config/examples/eloqkv_rocks_eloqdss_rocksdb.yaml @@ -10,7 +10,7 @@ deployment: install_dir: "/home/${USER}" enable_wal: true enable_io_uring: false - checkpoint_interval: 120 + checkpointer_interval: 120 tx_service: tx_host_ports: [127.0.0.1:6389] # client_port: 6389 diff --git a/src/cluster_mgr/config/examples/eloqkv_rocks_gcp.yaml b/src/cluster_mgr/config/examples/eloqkv_rocks_gcp.yaml index 71c688c7..02e56837 100644 --- a/src/cluster_mgr/config/examples/eloqkv_rocks_gcp.yaml +++ b/src/cluster_mgr/config/examples/eloqkv_rocks_gcp.yaml @@ -10,7 +10,7 @@ deployment: install_dir: "/home/${USER}" enable_wal: true enable_io_uring: false - checkpoint_interval: 120 + checkpointer_interval: 120 tx_service: tx_host_ports: [127.0.0.1:6389] # client_port: 6389 diff --git a/src/cluster_mgr/config/examples/eloqkv_rocks_minio.yaml b/src/cluster_mgr/config/examples/eloqkv_rocks_minio.yaml index 303bbef6..103db4ed 100644 --- a/src/cluster_mgr/config/examples/eloqkv_rocks_minio.yaml +++ b/src/cluster_mgr/config/examples/eloqkv_rocks_minio.yaml @@ -10,7 +10,7 @@ deployment: install_dir: "/home/${USER}" enable_wal: true enable_io_uring: false - checkpoint_interval: 120 + checkpointer_interval: 120 tx_service: tx_host_ports: [127.0.0.1:6389] # client_port: 6389 diff --git a/src/cluster_mgr/config/examples/eloqkv_rocks_s3.yaml b/src/cluster_mgr/config/examples/eloqkv_rocks_s3.yaml index 022229cd..70a700ca 100644 --- a/src/cluster_mgr/config/examples/eloqkv_rocks_s3.yaml +++ b/src/cluster_mgr/config/examples/eloqkv_rocks_s3.yaml @@ -10,7 +10,7 @@ deployment: install_dir: "/home/${USER}" enable_wal: true enable_io_uring: false - checkpoint_interval: 120 + checkpointer_interval: 120 tx_service: tx_host_ports: [127.0.0.1:6389] # client_port: 6389 diff --git a/src/cluster_mgr/config/examples/eloqkv_rocks_s3_standby_withvoter_with_log.yaml b/src/cluster_mgr/config/examples/eloqkv_rocks_s3_standby_withvoter_with_log.yaml index e27f3f93..fc27a38c 100644 --- a/src/cluster_mgr/config/examples/eloqkv_rocks_s3_standby_withvoter_with_log.yaml +++ b/src/cluster_mgr/config/examples/eloqkv_rocks_s3_standby_withvoter_with_log.yaml @@ -10,7 +10,7 @@ deployment: install_dir: "/home/${USER}" enable_wal: true enable_io_uring: true - checkpoint_interval: 120 + checkpointer_interval: 120 maxclients: 60000 tx_service: tx_host_ports: [10.0.0.1:6379] @@ -65,4 +65,4 @@ deployment: host: 10.0.0.3 node_exporter: url: "https://github.com/prometheus/node_exporter/releases/download/v1.5.0/node_exporter-1.5.0.linux-amd64.tar.gz" - port: 9200 \ No newline at end of file + port: 9200 diff --git a/src/cluster_mgr/config/examples/eloqkv_rocksdb.yaml b/src/cluster_mgr/config/examples/eloqkv_rocksdb.yaml index 64e07574..287c6ffd 100644 --- a/src/cluster_mgr/config/examples/eloqkv_rocksdb.yaml +++ b/src/cluster_mgr/config/examples/eloqkv_rocksdb.yaml @@ -10,7 +10,7 @@ deployment: install_dir: "/mnt/ssd/${USER}/zhouxiao" enable_wal: true enable_io_uring: false - checkpoint_interval: 6000 + checkpointer_interval: 6000 tx_service: tx_host_ports: [192.168.122.24:6389] # enable_cache_replacement: on diff --git a/src/cluster_mgr/config/examples/eloqkv_rocksdb_multiple_ng.yaml b/src/cluster_mgr/config/examples/eloqkv_rocksdb_multiple_ng.yaml index d0df43d6..80afdd81 100644 --- a/src/cluster_mgr/config/examples/eloqkv_rocksdb_multiple_ng.yaml +++ b/src/cluster_mgr/config/examples/eloqkv_rocksdb_multiple_ng.yaml @@ -10,7 +10,7 @@ deployment: install_dir: "/home/${USER}" enable_wal: false enable_io_uring: false - checkpoint_interval: 120 + checkpointer_interval: 120 tx_service: tx_host_ports: [192.168.122.24:6379,192.168.122.25:6379,192.168.122.26:6379] # storage_service: diff --git a/src/cluster_mgr/config/examples/eloqkv_rocksdb_standby.yaml b/src/cluster_mgr/config/examples/eloqkv_rocksdb_standby.yaml index 6a46c6c1..d1fa709c 100644 --- a/src/cluster_mgr/config/examples/eloqkv_rocksdb_standby.yaml +++ b/src/cluster_mgr/config/examples/eloqkv_rocksdb_standby.yaml @@ -10,10 +10,10 @@ deployment: install_dir: "/home/${USER}" enable_wal: false enable_io_uring: false - checkpoint_interval: 120 + checkpointer_interval: 120 tx_service: tx_host_ports: [10.0.0.1:6379] standby_host_ports: [10.0.0.2:6379|10.0.0.3:6379] storage_service: rocksdb: !LOCAL - # path: /tmp \ No newline at end of file + # path: /tmp diff --git a/src/cluster_mgr/config/examples/eloqkv_rocksdb_standby_with_log.yaml b/src/cluster_mgr/config/examples/eloqkv_rocksdb_standby_with_log.yaml index ffc133cf..de2c8e6a 100644 --- a/src/cluster_mgr/config/examples/eloqkv_rocksdb_standby_with_log.yaml +++ b/src/cluster_mgr/config/examples/eloqkv_rocksdb_standby_with_log.yaml @@ -10,7 +10,7 @@ deployment: install_dir: "/home/${USER}" enable_wal: true enable_io_uring: false - checkpoint_interval: 120 + checkpointer_interval: 120 tx_service: tx_host_ports: [10.0.0.1:6379] standby_host_ports: [10.0.0.2:6379|10.0.0.3:6379] @@ -24,4 +24,4 @@ deployment: bthread_concurrency: 1 storage_service: rocksdb: !LOCAL - # path: /tmp \ No newline at end of file + # path: /tmp diff --git a/src/cluster_mgr/config/examples/eloqkv_rocksdb_standby_with_voter.yaml b/src/cluster_mgr/config/examples/eloqkv_rocksdb_standby_with_voter.yaml index 61b23d84..42735774 100644 --- a/src/cluster_mgr/config/examples/eloqkv_rocksdb_standby_with_voter.yaml +++ b/src/cluster_mgr/config/examples/eloqkv_rocksdb_standby_with_voter.yaml @@ -10,11 +10,11 @@ deployment: install_dir: "/home/${USER}" enable_wal: false enable_io_uring: false - checkpoint_interval: 120 + checkpointer_interval: 120 tx_service: tx_host_ports: [192.168.122.24:6379] standby_host_ports: [192.168.122.25:6379] voter_host_ports: [192.168.122.26:6379] # storage_service: # rocksdb: !LOCAL - # # path: /tmp \ No newline at end of file + # # path: /tmp diff --git a/src/cluster_mgr/config/examples/eloqkv_rocksdb_standby_with_voter_with_log.yaml b/src/cluster_mgr/config/examples/eloqkv_rocksdb_standby_with_voter_with_log.yaml index 29e589a8..eccdd21a 100644 --- a/src/cluster_mgr/config/examples/eloqkv_rocksdb_standby_with_voter_with_log.yaml +++ b/src/cluster_mgr/config/examples/eloqkv_rocksdb_standby_with_voter_with_log.yaml @@ -10,7 +10,7 @@ deployment: install_dir: "/home/${USER}" enable_wal: true enable_io_uring: false - checkpoint_interval: 120 + checkpointer_interval: 120 tx_service: tx_host_ports: [10.0.0.1:6379] standby_host_ports: [10.0.0.2:6379] @@ -25,4 +25,4 @@ deployment: bthread_concurrency: 6 storage_service: rocksdb: !LOCAL - # path: /tmp \ No newline at end of file + # path: /tmp diff --git a/src/cluster_mgr/src/cli/cmd_base.rs b/src/cluster_mgr/src/cli/cmd_base.rs index 4663c151..cb1f1790 100644 --- a/src/cluster_mgr/src/cli/cmd_base.rs +++ b/src/cluster_mgr/src/cli/cmd_base.rs @@ -1568,9 +1568,9 @@ impl CmdExecutor { if let Some(interval) = desired.deployment.checkpoint_interval { if current.deployment.checkpoint_interval != Some(interval) { merged.deployment.checkpoint_interval = Some(interval); - tx_field_updates.push(format!("checkpoint_interval:{interval}")); + tx_field_updates.push(format!("checkpointer_interval:{interval}")); changes.push(format!( - "deployment.checkpoint_interval: {:?} -> {:?}", + "deployment.checkpointer_interval: {:?} -> {:?}", current.deployment.checkpoint_interval, Some(interval) )); @@ -1700,7 +1700,7 @@ impl CmdExecutor { } let supported_paths = [ - "deployment.checkpoint_interval", + "deployment.checkpointer_interval", "deployment.cluster_mode", "deployment.monitor.prometheus.retention_time", "deployment.monitor.prometheus.retention_size", @@ -3067,7 +3067,7 @@ mod tests { retention_time: Option<&str>, ) -> DeployConfig { let checkpoint_line = checkpoint_interval - .map(|value| format!(" checkpoint_interval: {value}\n")) + .map(|value| format!(" checkpointer_interval: {value}\n")) .unwrap_or_default(); let retention_line = retention_time .map(|value| format!(" retention_time: \"{value}\"\n")) @@ -3129,7 +3129,7 @@ deployment: assert_eq!( plan.tx_field_updates, - vec!["checkpoint_interval:120".to_string()] + vec!["checkpointer_interval:120".to_string()] ); assert!(plan.actions.contains(&ReconcileAction::SaveClusterIndex)); assert!(plan @@ -3140,7 +3140,7 @@ deployment: assert!(plan .changes .iter() - .any(|change| change.contains("deployment.checkpoint_interval"))); + .any(|change| change.contains("deployment.checkpointer_interval"))); assert!(plan .changes .iter() diff --git a/src/cluster_mgr/src/cli/task/config_fields.rs b/src/cluster_mgr/src/cli/task/config_fields.rs index 5bb82968..4abf75e4 100644 --- a/src/cluster_mgr/src/cli/task/config_fields.rs +++ b/src/cluster_mgr/src/cli/task/config_fields.rs @@ -440,7 +440,7 @@ pub static AVAILABLE_FIELDS: Lazy> = Lazy:: ); fields.insert( - "checkpoint_interval", + "checkpointer_interval", FieldMetadata { description: "Interval time (seconds) of checkpoint", scope: FieldScope::NodeSpecific, diff --git a/src/cluster_mgr/src/cli/task/topology_update_task.rs b/src/cluster_mgr/src/cli/task/topology_update_task.rs index 5c8e3ced..c97cc27b 100644 --- a/src/cluster_mgr/src/cli/task/topology_update_task.rs +++ b/src/cluster_mgr/src/cli/task/topology_update_task.rs @@ -173,12 +173,12 @@ impl TopologyUpdateTask { error!("Invalid boolean value for enable_io_uring: {}", value); } } - "checkpoint_interval" => { + "checkpoint_interval" | "checkpointer_interval" => { if let Ok(interval) = value.parse::() { config.checkpoint_interval = Some(interval); - info!("Updated checkpoint_interval to {}", interval); + info!("Updated checkpointer_interval to {}", interval); } else { - error!("Invalid integer value for checkpoint_interval: {}", value); + error!("Invalid integer value for checkpointer_interval: {}", value); } } "enable_cache_replacement" => { @@ -253,7 +253,7 @@ impl TopologyUpdateTask { || value == "1" || value.to_lowercase() == "yes"; } - "checkpoint_interval" => { + "checkpoint_interval" | "checkpointer_interval" => { if let Ok(interval) = value.parse::() { config.checkpoint_interval = Some(interval); } @@ -620,7 +620,7 @@ impl TopologyUpdateTask { updated_fields.insert("enable_data_store".to_string(), false); updated_fields.insert("enable_wal".to_string(), false); updated_fields.insert("enable_io_uring".to_string(), false); - updated_fields.insert("checkpoint_interval".to_string(), false); + updated_fields.insert("checkpointer_interval".to_string(), false); updated_fields.insert("enable_cache_replacement".to_string(), false); // Track additional settings @@ -666,10 +666,10 @@ impl TopologyUpdateTask { updated_lines.push(format!("enable_io_uring={}", config.enable_io_uring)); updated_fields.insert("enable_io_uring".to_string(), true); } - "checkpoint_interval" => { + "checkpoint_interval" | "checkpointer_interval" => { if let Some(interval) = config.checkpoint_interval { - updated_lines.push(format!("checkpoint_interval={}", interval)); - updated_fields.insert("checkpoint_interval".to_string(), true); + updated_lines.push(format!("checkpointer_interval={}", interval)); + updated_fields.insert("checkpointer_interval".to_string(), true); } else { // Keep original line if no value provided updated_lines.push(line.to_string()); @@ -732,10 +732,13 @@ impl TopologyUpdateTask { ); } - // Add checkpoint_interval if present and not already updated + // Add checkpointer_interval if present and not already updated if let Some(interval) = config.checkpoint_interval { - if !updated_fields["checkpoint_interval"] { - updated_lines.insert(insert_position, format!("checkpoint_interval={}", interval)); + if !updated_fields["checkpointer_interval"] { + updated_lines.insert( + insert_position, + format!("checkpointer_interval={}", interval), + ); } } @@ -776,9 +779,9 @@ impl TopologyUpdateTask { result.push_str(&format!("enable_wal={}\n", config.enable_wal)); result.push_str(&format!("enable_io_uring={}\n", config.enable_io_uring)); - // Add checkpoint_interval and enable_cache_replacement if present + // Add checkpointer_interval and enable_cache_replacement if present if let Some(interval) = config.checkpoint_interval { - result.push_str(&format!("checkpoint_interval={}\n", interval)); + result.push_str(&format!("checkpointer_interval={}\n", interval)); } if let Some(enable) = config.enable_cache_replacement { diff --git a/src/cluster_mgr/src/config/deployment.rs b/src/cluster_mgr/src/config/deployment.rs index 9dc100b4..b5356ca1 100644 --- a/src/cluster_mgr/src/config/deployment.rs +++ b/src/cluster_mgr/src/config/deployment.rs @@ -203,6 +203,7 @@ pub struct Deployment { pub hardware: Option>, pub enable_wal: Option, pub enable_io_uring: Option, + #[serde(rename = "checkpointer_interval", alias = "checkpoint_interval")] pub checkpoint_interval: Option, #[serde(skip_serializing_if = "Option::is_none")] pub enable_tls: Option, @@ -1294,14 +1295,14 @@ impl Deployment { println!("**WARNING:** Manually modifying `enable_io_uring` in template `EloqKv.ini` is not recommended."); } - if self.is_empty(&ini, SECTION_LOCAL, "checkpoint_interval") { + if self.is_empty(&ini, SECTION_LOCAL, "checkpointer_interval") { ini.set( SECTION_LOCAL, - "checkpoint_interval", + "checkpointer_interval", Some(self.checkpoint_interval.unwrap_or(60).to_string()), ); } else { - println!("**WARNING:** Manually modifying `checkpoint_interval` in template `EloqKv.ini` is not recommended."); + println!("**WARNING:** Manually modifying `checkpointer_interval` in template `EloqKv.ini` is not recommended."); } if let Some(mode) = self.cluster_mode { @@ -2470,7 +2471,7 @@ deployment: install_dir: "/tmp" enable_wal: true enable_io_uring: false - checkpoint_interval: 120 + checkpointer_interval: 120 tx_service: tx_host_ports: [127.0.0.1:6389] storage_service: diff --git a/src/cluster_mgr/src/state/topology_tx_operation.rs b/src/cluster_mgr/src/state/topology_tx_operation.rs index 12d8a949..0a2c4c7c 100644 --- a/src/cluster_mgr/src/state/topology_tx_operation.rs +++ b/src/cluster_mgr/src/state/topology_tx_operation.rs @@ -52,6 +52,7 @@ pub struct ConfigJson { pub enable_wal: bool, #[serde(default)] pub enable_io_uring: bool, + #[serde(rename = "checkpointer_interval", alias = "checkpoint_interval")] pub checkpoint_interval: Option, pub enable_cache_replacement: Option, #[serde(default)] diff --git a/tests/e2e/topology.yaml b/tests/e2e/topology.yaml index 8f06735a..ee30128c 100644 --- a/tests/e2e/topology.yaml +++ b/tests/e2e/topology.yaml @@ -12,7 +12,7 @@ deployment: enable_io_uring: false enable_tls: true cluster_mode: true - checkpoint_interval: 120 + checkpointer_interval: 120 hardware: 172.28.10.11: cpu: 7