Skip to content

Commit ca94e0f

Browse files
committed
chore: update storage-ledger config
1 parent 3e873d4 commit ca94e0f

File tree

3 files changed

+65
-87
lines changed

3 files changed

+65
-87
lines changed

Cargo.lock

Lines changed: 20 additions & 62 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/storage/src/factory.rs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use inferadb_common_storage::{
1010
},
1111
};
1212
use inferadb_common_storage_ledger::{
13-
LedgerBackend, LedgerBackendConfig, auth::LedgerSigningKeyStore,
13+
ClientConfig, LedgerBackend, LedgerBackendConfig, ServerSource, auth::LedgerSigningKeyStore,
1414
};
1515

1616
use crate::MemoryBackend;
@@ -238,17 +238,20 @@ pub async fn create_storage_backend(config: &StorageConfig) -> StorageResult<Bac
238238
"Ledger configuration required for Ledger backend",
239239
)
240240
})?;
241-
let backend_config = LedgerBackendConfig::builder()
242-
.endpoints(vec![&ledger_config.endpoint])
241+
let client_config = ClientConfig::builder()
242+
.servers(ServerSource::from_static([&ledger_config.endpoint]))
243243
.client_id(&ledger_config.client_id)
244-
.namespace_id(ledger_config.namespace_id)
245-
.maybe_vault_id(ledger_config.vault_id)
246244
.build()
247245
.map_err(|e| {
248246
inferadb_common_storage::StorageError::internal(format!(
249-
"Ledger config error: {e}"
247+
"Ledger client config error: {e}"
250248
))
251249
})?;
250+
let backend_config = LedgerBackendConfig::builder()
251+
.client(client_config)
252+
.namespace_id(ledger_config.namespace_id)
253+
.maybe_vault_id(ledger_config.vault_id)
254+
.build();
252255
let backend = LedgerBackend::new(backend_config).await.map_err(|e| {
253256
inferadb_common_storage::StorageError::internal(format!(
254257
"Ledger connection error: {e}"

crates/storage/tests/ledger_integration_tests.rs

Lines changed: 36 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@ use std::{
2323
};
2424

2525
use bytes::Bytes;
26-
use inferadb_common_storage_ledger::{LedgerBackend, LedgerBackendConfig};
26+
use inferadb_common_storage_ledger::{
27+
ClientConfig, LedgerBackend, LedgerBackendConfig, ServerSource,
28+
};
2729
use inferadb_control_storage::backend::StorageBackend;
2830
use tokio::time::sleep;
2931

@@ -56,13 +58,16 @@ fn unique_vault_id() -> i64 {
5658

5759
async fn create_ledger_backend() -> LedgerBackend {
5860
let vault_id = unique_vault_id();
59-
let config = LedgerBackendConfig::builder()
60-
.endpoints(vec![ledger_endpoint()])
61+
let client_config = ClientConfig::builder()
62+
.servers(ServerSource::from_static([ledger_endpoint()]))
6163
.client_id(format!("control-test-{vault_id}"))
64+
.build()
65+
.expect("valid client config");
66+
let config = LedgerBackendConfig::builder()
67+
.client(client_config)
6268
.namespace_id(ledger_namespace_id())
6369
.vault_id(vault_id)
64-
.build()
65-
.expect("valid config");
70+
.build();
6671

6772
LedgerBackend::new(config).await.expect("backend creation should succeed")
6873
}
@@ -251,15 +256,21 @@ async fn test_ledger_concurrent_writes() {
251256
let mut handles = Vec::new();
252257
for i in 0..10 {
253258
let vault_id = unique_vault_id();
254-
let config = LedgerBackendConfig::builder()
255-
.endpoints(vec![ledger_endpoint()])
256-
.client_id(format!("concurrent-test-{vault_id}"))
257-
.namespace_id(ledger_namespace_id())
258-
.vault_id(vault_id)
259-
.build()
260-
.expect("valid config");
259+
let endpoint = ledger_endpoint();
260+
let namespace_id = ledger_namespace_id();
261261

262262
handles.push(tokio::spawn(async move {
263+
let client_config = ClientConfig::builder()
264+
.servers(ServerSource::from_static([endpoint]))
265+
.client_id(format!("concurrent-test-{vault_id}"))
266+
.build()
267+
.expect("valid client config");
268+
let config = LedgerBackendConfig::builder()
269+
.client(client_config)
270+
.namespace_id(namespace_id)
271+
.vault_id(vault_id)
272+
.build();
273+
263274
let backend = LedgerBackend::new(config).await.expect("backend");
264275
let key = format!("ctrl_concurrent_{i}");
265276
let value = format!("value_{i}");
@@ -287,21 +298,27 @@ async fn test_ledger_vault_isolation() {
287298
let vault_a = unique_vault_id();
288299
let vault_b = unique_vault_id();
289300

290-
let config_a = LedgerBackendConfig::builder()
291-
.endpoints(vec![ledger_endpoint()])
301+
let client_config_a = ClientConfig::builder()
302+
.servers(ServerSource::from_static([ledger_endpoint()]))
292303
.client_id(format!("vault-a-{vault_a}"))
304+
.build()
305+
.unwrap();
306+
let config_a = LedgerBackendConfig::builder()
307+
.client(client_config_a)
293308
.namespace_id(ledger_namespace_id())
294309
.vault_id(vault_a)
310+
.build();
311+
312+
let client_config_b = ClientConfig::builder()
313+
.servers(ServerSource::from_static([ledger_endpoint()]))
314+
.client_id(format!("vault-b-{vault_b}"))
295315
.build()
296316
.unwrap();
297-
298317
let config_b = LedgerBackendConfig::builder()
299-
.endpoints(vec![ledger_endpoint()])
300-
.client_id(format!("vault-b-{vault_b}"))
318+
.client(client_config_b)
301319
.namespace_id(ledger_namespace_id())
302320
.vault_id(vault_b)
303-
.build()
304-
.unwrap();
321+
.build();
305322

306323
let backend_a = LedgerBackend::new(config_a).await.unwrap();
307324
let backend_b = LedgerBackend::new(config_b).await.unwrap();

0 commit comments

Comments
 (0)