Skip to content

Commit c5577a6

Browse files
jgiannuzzicorwinjoy
authored andcommitted
Use async kms
Signed-off-by: Corwin Joy <[email protected]>
1 parent a036d7f commit c5577a6

File tree

4 files changed

+14
-11
lines changed

4 files changed

+14
-11
lines changed

crates/core/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ datatest-stable = "0.3"
9494
deltalake-test = { path = "../test" }
9595
dotenvy = "0"
9696
fs_extra = "1.2.0"
97-
parquet-key-management = { version = "0.4.1", features = ["_test_utils", "datafusion"] }
97+
parquet-key-management = { version = "0.5.0", features = ["_test_utils", "datafusion", "tokio"] }
9898
paste = "1"
9999
pretty_assertions = "1.2.1"
100100
pretty_env_logger = "0.5.0"

crates/core/tests/commands_with_encryption.rs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ use deltalake_core::table::file_format_options::{
1919
};
2020
use deltalake_core::{arrow, parquet, DeltaOps};
2121
use deltalake_core::{operations::optimize::OptimizeType, DeltaTable, DeltaTableError};
22-
use parquet_key_management::datafusion::{KmsEncryptionFactory, KmsEncryptionFactoryOptions};
2322
use parquet_key_management::{
2423
crypto_factory::{CryptoFactory, DecryptionConfiguration, EncryptionConfiguration},
24+
datafusion::{KmsEncryptionFactory, KmsEncryptionFactoryOptions},
2525
kms::KmsConnectionConfig,
26-
test_kms::TestKmsClientFactory,
26+
test_kms::TestAsyncKmsClientFactory,
2727
};
2828
use paste::paste;
2929
use std::{fs, sync::Arc};
@@ -294,7 +294,8 @@ fn plain_crypto_format_bad_decryptor() -> Result<FileFormatRef, DeltaTableError>
294294
create_plain_crypto_format(encryption_key.clone(), decryption_key.clone())
295295
}
296296
fn kms_crypto_format() -> Result<FileFormatRef, DeltaTableError> {
297-
let crypto_factory = CryptoFactory::new(TestKmsClientFactory::with_default_keys());
297+
let crypto_factory =
298+
CryptoFactory::new_async_with_tokio(TestAsyncKmsClientFactory::with_default_keys());
298299

299300
let kms_connection_config = Arc::new(KmsConnectionConfig::default());
300301
let encryption_factory = Arc::new(KmsEncryptionFactory::new(
@@ -404,13 +405,13 @@ macro_rules! encryption_tests {
404405
$runner(file_format_options, false).await;
405406
}
406407

407-
#[tokio::test]
408+
#[tokio::test(flavor = "multi_thread", worker_threads = 1)]
408409
async fn [<$runner _kms>]() {
409410
let file_format_options = kms_crypto_format().unwrap();
410411
$runner(file_format_options, true).await;
411412
}
412413

413-
#[tokio::test]
414+
#[tokio::test(flavor = "multi_thread", worker_threads = 1)]
414415
#[should_panic(expected = "Failed to read encrypted table")]
415416
async fn [<$runner _kms_no_decryptor>]() {
416417
let file_format_options = kms_crypto_format().unwrap();

crates/deltalake/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
5959
chrono = { workspace = true, default-features = false, features = ["clock"] }
6060
tracing = { workspace = true }
6161
tempfile = "3.21.0"
62-
parquet-key-management = { version = "0.4.1", features = ["_test_utils", "datafusion"] }
62+
parquet-key-management = { version = "0.5.0", features = ["_test_utils", "datafusion", "tokio"] }
6363
url = { workspace = true }
6464

6565
[[example]]

crates/deltalake/examples/basic_operations_encryption.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@ use deltalake_core::{
2222
datafusion::common::test_util::format_batches, operations::optimize::OptimizeType, DeltaTable,
2323
DeltaTableError,
2424
};
25-
use parquet_key_management::datafusion::{KmsEncryptionFactory, KmsEncryptionFactoryOptions};
2625
use parquet_key_management::{
2726
crypto_factory::{CryptoFactory, DecryptionConfiguration, EncryptionConfiguration},
27+
datafusion::{KmsEncryptionFactory, KmsEncryptionFactoryOptions},
2828
kms::KmsConnectionConfig,
29-
test_kms::TestKmsClientFactory,
29+
test_kms::TestAsyncKmsClientFactory,
3030
};
3131
use std::{fs, sync::Arc};
3232
use tempfile::TempDir;
@@ -291,8 +291,10 @@ fn plain_crypto_format() -> Result<FileFormatRef, DeltaTableError> {
291291
let file_format_options = Arc::new(SimpleFileFormatOptions::new(tbl_options)) as FileFormatRef;
292292
Ok(file_format_options)
293293
}
294+
294295
fn kms_crypto_format() -> Result<FileFormatRef, DeltaTableError> {
295-
let crypto_factory = CryptoFactory::new(TestKmsClientFactory::with_default_keys());
296+
let crypto_factory =
297+
CryptoFactory::new_async_with_tokio(TestAsyncKmsClientFactory::with_default_keys());
296298

297299
let kms_connection_config = Arc::new(KmsConnectionConfig::default());
298300
let encryption_factory = Arc::new(KmsEncryptionFactory::new(
@@ -332,7 +334,7 @@ async fn round_trip_test(
332334
Ok(())
333335
}
334336

335-
#[tokio::main(flavor = "current_thread")]
337+
#[tokio::main(flavor = "multi_thread", worker_threads = 1)]
336338
async fn main() -> Result<(), DeltaTableError> {
337339
println!("====================");
338340
println!("Begin Plain encryption test");

0 commit comments

Comments
 (0)