Skip to content

Commit 8337678

Browse files
authored
Merge pull request #7638 from youngsofun/users
feat(config): move [[idm.users]] to [[query.users]].
2 parents 3f436ac + 0032388 commit 8337678

File tree

7 files changed

+30
-44
lines changed

7 files changed

+30
-44
lines changed

src/query/config/src/inner.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,6 @@ pub struct Config {
5353
// - Later, catalog information SHOULD be kept in KV Service
5454
// - currently only supports HIVE (via hive meta store)
5555
pub catalog: HiveCatalogConfig,
56-
57-
pub idm: IDMConfig,
5856
}
5957

6058
impl Config {
@@ -150,6 +148,7 @@ pub struct QueryConfig {
150148
pub async_insert_max_data_size: u64,
151149
pub async_insert_busy_timeout: u64,
152150
pub async_insert_stale_timeout: u64,
151+
pub idm: IDMConfig,
153152
}
154153

155154
impl Default for QueryConfig {
@@ -194,6 +193,7 @@ impl Default for QueryConfig {
194193
async_insert_max_data_size: 10000,
195194
async_insert_busy_timeout: 200,
196195
async_insert_stale_timeout: 0,
196+
idm: IDMConfig::default(),
197197
}
198198
}
199199
}

src/query/config/src/outer_v0.rs

Lines changed: 20 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -93,9 +93,6 @@ pub struct Config {
9393
// - currently only supports HIVE (via hive meta store)
9494
#[clap(flatten)]
9595
pub catalog: HiveCatalogConfig,
96-
97-
#[clap(skip)]
98-
pub idm: IDMConfig,
9996
}
10097

10198
impl Default for Config {
@@ -148,7 +145,6 @@ impl From<InnerConfig> for Config {
148145
meta: inner.meta.into(),
149146
storage: inner.storage.into(),
150147
catalog: inner.catalog.into(),
151-
idm: inner.idm.into(),
152148
}
153149
}
154150
}
@@ -165,7 +161,6 @@ impl TryInto<InnerConfig> for Config {
165161
meta: self.meta.try_into()?,
166162
storage: self.storage.try_into()?,
167163
catalog: self.catalog.try_into()?,
168-
idm: self.idm.try_into()?,
169164
})
170165
}
171166
}
@@ -826,6 +821,9 @@ pub struct QueryConfig {
826821
/// The maximum timeout in milliseconds since the last insert before inserting collected data.
827822
#[clap(long, default_value = "0")]
828823
pub async_insert_stale_timeout: u64,
824+
825+
#[clap(skip)]
826+
users: Vec<UserConfig>,
829827
}
830828

831829
impl Default for QueryConfig {
@@ -878,6 +876,9 @@ impl TryInto<InnerQueryConfig> for QueryConfig {
878876
async_insert_max_data_size: self.async_insert_max_data_size,
879877
async_insert_busy_timeout: self.async_insert_busy_timeout,
880878
async_insert_stale_timeout: self.async_insert_stale_timeout,
879+
idm: InnerIDMConfig {
880+
users: users_to_inner(self.users)?,
881+
},
881882
})
882883
}
883884
}
@@ -931,6 +932,7 @@ impl From<InnerQueryConfig> for QueryConfig {
931932
async_insert_max_data_size: inner.async_insert_max_data_size,
932933
async_insert_busy_timeout: inner.async_insert_busy_timeout,
933934
async_insert_stale_timeout: inner.async_insert_stale_timeout,
935+
users: users_from_inner(inner.idm.users),
934936
}
935937
}
936938
}
@@ -1229,36 +1231,22 @@ impl Debug for MetaConfig {
12291231
}
12301232
}
12311233

1232-
#[derive(Clone, Debug, Default, PartialEq, Eq, Serialize, Deserialize)]
1233-
pub struct IDMConfig {
1234-
users: Vec<UserConfig>,
1235-
}
1236-
1237-
impl TryInto<InnerIDMConfig> for IDMConfig {
1238-
type Error = ErrorCode;
1239-
1240-
fn try_into(self) -> Result<InnerIDMConfig> {
1241-
let mut users = HashMap::new();
1242-
for c in self.users.into_iter() {
1243-
users.insert(c.name.clone(), c.auth.try_into()?);
1244-
}
1245-
Ok(InnerIDMConfig { users })
1246-
}
1234+
fn users_from_inner(inner: HashMap<String, AuthInfo>) -> Vec<UserConfig> {
1235+
inner
1236+
.into_iter()
1237+
.map(|(name, auth)| UserConfig {
1238+
name,
1239+
auth: auth.into(),
1240+
})
1241+
.collect()
12471242
}
12481243

1249-
impl From<InnerIDMConfig> for IDMConfig {
1250-
fn from(inner: InnerIDMConfig) -> Self {
1251-
Self {
1252-
users: inner
1253-
.users
1254-
.into_iter()
1255-
.map(|(name, auth)| UserConfig {
1256-
name,
1257-
auth: auth.into(),
1258-
})
1259-
.collect(),
1260-
}
1244+
fn users_to_inner(outer: Vec<UserConfig>) -> Result<HashMap<String, AuthInfo>> {
1245+
let mut inner = HashMap::new();
1246+
for c in outer.into_iter() {
1247+
inner.insert(c.name.clone(), c.auth.try_into()?);
12611248
}
1249+
Ok(inner)
12621250
}
12631251

12641252
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]

src/query/service/src/global_services.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ impl GlobalServices {
8989
SessionManager::init(config.clone(), global_services.clone())?;
9090
UserApiProvider::init(
9191
config.meta.to_meta_grpc_client_conf(),
92-
config.idm,
92+
config.query.idm,
9393
global_services.clone(),
9494
)
9595
.await?;

src/query/service/tests/it/configs.rs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ jwt_key_file = ""
7171
async_insert_max_data_size = 10000
7272
async_insert_busy_timeout = 200
7373
async_insert_stale_timeout = 0
74+
users = []
7475
7576
[log]
7677
level = "INFO"
@@ -142,9 +143,6 @@ root = ""
142143
[catalog]
143144
meta_store_address = "127.0.0.1:9083"
144145
protocol = "binary"
145-
146-
[idm]
147-
users = []
148146
"#;
149147

150148
let tom_actual = toml::to_string(&actual.into_outer()).unwrap();
@@ -485,6 +483,7 @@ jwt_key_file = ""
485483
async_insert_max_data_size = 10000
486484
async_insert_busy_timeout = 200
487485
async_insert_stale_timeout = 0
486+
users = []
488487
489488
[log]
490489
level = "INFO"
@@ -538,10 +537,7 @@ root = ""
538537
[catalog]
539538
meta_store_address = "127.0.0.1:9083"
540539
protocol = "binary"
541-
542-
[idm]
543-
users = []
544-
"#
540+
"#
545541
.as_bytes(),
546542
)?;
547543

src/query/service/tests/it/storages/system/configs_table.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ async fn test_configs_table() -> Result<()> {
104104
"| query | table_engine_memory_enabled | true | |",
105105
"| query | table_memory_cache_mb_size | 256 | |",
106106
"| query | tenant_id | test | |",
107+
"| query | users | | |",
107108
"| query | wait_timeout_mills | 5000 | |",
108109
"| storage | allow_insecure | false | |",
109110
"| storage | azblob.account_key | | |",
@@ -236,6 +237,7 @@ async fn test_configs_table_redact() -> Result<()> {
236237
"| query | table_engine_memory_enabled | true | |",
237238
"| query | table_memory_cache_mb_size | 256 | |",
238239
"| query | tenant_id | test | |",
240+
"| query | users | | |",
239241
"| query | wait_timeout_mills | 5000 | |",
240242
"| storage | allow_insecure | false | |",
241243
"| storage | azblob.account_key | | |",

src/query/service/tests/it/tests/config.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ impl ConfigBuilder {
6565
pub fn add_user(mut self, user_name: &str, auth_info: AuthInfo) -> ConfigBuilder {
6666
let mut users = HashMap::new();
6767
users.insert(user_name.to_string(), auth_info);
68-
self.conf.idm = IDMConfig { users };
68+
self.conf.query.idm = IDMConfig { users };
6969
self
7070
}
7171

src/query/service/tests/it/tests/sessions.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ impl TestGlobalServices {
112112
SessionManager::init(config.clone(), global_services.clone())?;
113113
UserApiProvider::init(
114114
config.meta.to_meta_grpc_client_conf(),
115-
config.idm.clone(),
115+
config.query.idm.clone(),
116116
global_services.clone(),
117117
)
118118
.await?;

0 commit comments

Comments
 (0)