From 8efad836a5e5a89c1989e92c8ccafe91454bc51d Mon Sep 17 00:00:00 2001 From: Jiangzhou He Date: Mon, 14 Jul 2025 10:01:48 -0700 Subject: [PATCH 1/2] fix(crypto): install a default crypto provider at process level --- src/lib_context.rs | 4 ++++ src/ops/targets/qdrant.rs | 5 ----- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/lib_context.rs b/src/lib_context.rs index 11414553b..1ee2536eb 100644 --- a/src/lib_context.rs +++ b/src/lib_context.rs @@ -247,6 +247,10 @@ pub fn create_lib_context(settings: settings::Settings) -> Result { let _ = env_logger::try_init(); pyo3_async_runtimes::tokio::init_with_runtime(get_runtime()).unwrap(); + + rustls::crypto::aws_lc_rs::default_provider() + .install_default() + .unwrap(); }); let db_pools = DbPools::default(); diff --git a/src/ops/targets/qdrant.rs b/src/ops/targets/qdrant.rs index 558cc12ed..b89ee2d5d 100644 --- a/src/ops/targets/qdrant.rs +++ b/src/ops/targets/qdrant.rs @@ -297,11 +297,6 @@ impl StorageFactoryBase for Factory { Vec>, Vec<(CollectionKey, SetupState)>, )> { - // Hotfix to resolve - // `no process-level CryptoProvider available -- call CryptoProvider::install_default() before this point` - // when using HTTPS URLs. - let _ = rustls::crypto::ring::default_provider().install_default(); - let data_coll_output = data_collections .into_iter() .map(|d| { From c334195471be628ef1e50153bc01c2f05ac317cc Mon Sep 17 00:00:00 2001 From: Jiangzhou He Date: Mon, 14 Jul 2025 10:04:47 -0700 Subject: [PATCH 2/2] fix: don' panick if there's already a default crypto --- src/lib_context.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/lib_context.rs b/src/lib_context.rs index 1ee2536eb..c22f81a87 100644 --- a/src/lib_context.rs +++ b/src/lib_context.rs @@ -248,9 +248,7 @@ pub fn create_lib_context(settings: settings::Settings) -> Result { pyo3_async_runtimes::tokio::init_with_runtime(get_runtime()).unwrap(); - rustls::crypto::aws_lc_rs::default_provider() - .install_default() - .unwrap(); + let _ = rustls::crypto::aws_lc_rs::default_provider().install_default(); }); let db_pools = DbPools::default();