What type of enhancement is this?
Refactor
What does the enhancement do?
The cluster_id field was originally intended to isolate nodes from different clusters, allowing metasrv to be shared among various GreptimeDB clusters. However, since the cluster ID is not assigned anywhere and is largely ignored, it can lead to confusion. We need to remove this field because we will not rely on it for tenant isolation.
Implementation challenges
The main challenge is metadata compatibility in that many key values in metasrv contains a cluster id field, for example:
|
pub struct DatanodeLeaseKey { |
|
pub cluster_id: ClusterId, |
|
pub node_id: u64, |
|
} |
What type of enhancement is this?
Refactor
What does the enhancement do?
The
cluster_idfield was originally intended to isolate nodes from different clusters, allowing metasrv to be shared among various GreptimeDB clusters. However, since the cluster ID is not assigned anywhere and is largely ignored, it can lead to confusion. We need to remove this field because we will not rely on it for tenant isolation.Implementation challenges
The main challenge is metadata compatibility in that many key values in metasrv contains a cluster id field, for example:
greptimedb/src/meta-srv/src/key/datanode.rs
Lines 44 to 47 in 4045298