diff --git a/Cargo.toml b/Cargo.toml index e9dc469c41..3b091b83e8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -25,7 +25,7 @@ resolver = "2" # Minimum Supported Rust Version (MSRV) to 1.85.0 # which is datafusion 49 # -edition = "2021" +edition = "2024" # we should try to follow datafusion version rust-version = "1.88.0" diff --git a/ballista-cli/src/command.rs b/ballista-cli/src/command.rs index ebd4c78740..95ed32ce79 100644 --- a/ballista-cli/src/command.rs +++ b/ballista-cli/src/command.rs @@ -28,7 +28,7 @@ use datafusion::common::Result; use datafusion::error::DataFusionError; use datafusion::prelude::SessionContext; -use crate::functions::{display_all_functions, Function}; +use crate::functions::{Function, display_all_functions}; use crate::print_format::PrintFormat; use crate::print_options::PrintOptions; diff --git a/ballista-cli/src/exec.rs b/ballista-cli/src/exec.rs index efbd94fac2..887728f65e 100644 --- a/ballista-cli/src/exec.rs +++ b/ballista-cli/src/exec.rs @@ -18,15 +18,15 @@ //! Execution functions use std::fs::File; -use std::io::prelude::*; use std::io::BufReader; +use std::io::prelude::*; use std::sync::Arc; use std::time::Instant; use datafusion::common::Result; use datafusion::prelude::SessionContext; -use rustyline::error::ReadlineError; use rustyline::Editor; +use rustyline::error::ReadlineError; use crate::{ command::{Command, OutputFormat}, diff --git a/ballista-cli/src/main.rs b/ballista-cli/src/main.rs index 098d23a435..2a6c691d84 100644 --- a/ballista-cli/src/main.rs +++ b/ballista-cli/src/main.rs @@ -20,7 +20,7 @@ use std::{env, sync::Arc}; use ballista::{extension::SessionConfigExt, prelude::SessionContextExt}; use ballista_cli::{ - exec, print_format::PrintFormat, print_options::PrintOptions, BALLISTA_CLI_VERSION, + BALLISTA_CLI_VERSION, exec, print_format::PrintFormat, print_options::PrintOptions, }; use clap::Parser; use datafusion::{ diff --git a/ballista/client/tests/bugs.rs b/ballista/client/tests/bugs.rs index 02b21da222..0c42fefe43 100644 --- a/ballista/client/tests/bugs.rs +++ b/ballista/client/tests/bugs.rs @@ -130,14 +130,14 @@ order by sum_sales - avg_monthly_sales, s_store_name let result = ctx.sql(query).await?.collect().await?; let expected = [ - "+-------------+-----------+----------------+----------------+--------+-------+--------------------+-----------+---------+---------+", - "| i_category | i_brand | s_store_name | s_company_name | d_year | d_moy | avg_monthly_sales | sum_sales | psum | nsum |", - "+-------------+-----------+----------------+----------------+--------+-------+--------------------+-----------+---------+---------+", - "| Electronics | TechBrand | Downtown Store | Retail Corp | 1999 | 4 | 1499.9850000000001 | 999.99 | 999.99 | 999.99 |", - "| Electronics | TechBrand | Downtown Store | Retail Corp | 1999 | 3 | 1499.9850000000001 | 999.99 | 1999.98 | 999.99 |", - "| Electronics | TechBrand | Downtown Store | Retail Corp | 1999 | 1 | 1499.9850000000001 | 1999.98 | 1999.98 | 1999.98 |", - "| Electronics | TechBrand | Downtown Store | Retail Corp | 1999 | 2 | 1499.9850000000001 | 1999.98 | 1999.98 | 999.99 |", - "+-------------+-----------+----------------+----------------+--------+-------+--------------------+-----------+---------+---------+", + "+-------------+-----------+----------------+----------------+--------+-------+--------------------+-----------+---------+---------+", + "| i_category | i_brand | s_store_name | s_company_name | d_year | d_moy | avg_monthly_sales | sum_sales | psum | nsum |", + "+-------------+-----------+----------------+----------------+--------+-------+--------------------+-----------+---------+---------+", + "| Electronics | TechBrand | Downtown Store | Retail Corp | 1999 | 4 | 1499.9850000000001 | 999.99 | 999.99 | 999.99 |", + "| Electronics | TechBrand | Downtown Store | Retail Corp | 1999 | 3 | 1499.9850000000001 | 999.99 | 1999.98 | 999.99 |", + "| Electronics | TechBrand | Downtown Store | Retail Corp | 1999 | 1 | 1499.9850000000001 | 1999.98 | 1999.98 | 1999.98 |", + "| Electronics | TechBrand | Downtown Store | Retail Corp | 1999 | 2 | 1499.9850000000001 | 1999.98 | 1999.98 | 999.99 |", + "+-------------+-----------+----------------+----------------+--------+-------+--------------------+-----------+---------+---------+", ]; assert_batches_eq!(expected, &result); diff --git a/ballista/client/tests/common/mod.rs b/ballista/client/tests/common/mod.rs index 85cb3fbc51..9d940be6f4 100644 --- a/ballista/client/tests/common/mod.rs +++ b/ballista/client/tests/common/mod.rs @@ -21,7 +21,7 @@ use std::path::PathBuf; use ballista::prelude::{SessionConfigExt, SessionContextExt}; use ballista_core::serde::{ - protobuf::scheduler_grpc_client::SchedulerGrpcClient, BallistaCodec, + BallistaCodec, protobuf::scheduler_grpc_client::SchedulerGrpcClient, }; use ballista_core::{ConfigProducer, RuntimeProducer}; use ballista_scheduler::SessionBuilder; diff --git a/ballista/client/tests/context_setup.rs b/ballista/client/tests/context_setup.rs index e1a49bb077..df999c06e4 100644 --- a/ballista/client/tests/context_setup.rs +++ b/ballista/client/tests/context_setup.rs @@ -103,7 +103,7 @@ mod remote { #[cfg(feature = "standalone")] mod standalone { - use std::sync::{atomic::AtomicBool, Arc}; + use std::sync::{Arc, atomic::AtomicBool}; use ballista::extension::{SessionConfigExt, SessionContextExt}; use ballista_core::serde::BallistaPhysicalExtensionCodec; @@ -111,7 +111,7 @@ mod standalone { assert_batches_eq, common::exec_err, execution::{ - context::QueryPlanner, SessionState, SessionStateBuilder, TaskContext, + SessionState, SessionStateBuilder, TaskContext, context::QueryPlanner, }, logical_expr::LogicalPlan, physical_plan::ExecutionPlan, @@ -226,9 +226,11 @@ mod standalone { .collect() .await; - assert!(physical_codec - .invoked - .load(std::sync::atomic::Ordering::Relaxed)); + assert!( + physical_codec + .invoked + .load(std::sync::atomic::Ordering::Relaxed) + ); Ok(()) } diff --git a/ballista/core/src/client.rs b/ballista/core/src/client.rs index 1b35434696..bc3659d233 100644 --- a/ballista/core/src/client.rs +++ b/ballista/core/src/client.rs @@ -29,9 +29,9 @@ use crate::error::{BallistaError, Result as BResult}; use crate::serde::scheduler::{Action, PartitionId}; use arrow_flight; -use arrow_flight::utils::flight_data_to_arrow_batch; use arrow_flight::Ticket; -use arrow_flight::{flight_service_client::FlightServiceClient, FlightData}; +use arrow_flight::utils::flight_data_to_arrow_batch; +use arrow_flight::{FlightData, flight_service_client::FlightServiceClient}; use datafusion::arrow::array::ArrayRef; use datafusion::arrow::buffer::{Buffer, MutableBuffer}; use datafusion::arrow::ipc::convert::try_schema_from_ipc_buffer; @@ -45,7 +45,7 @@ use datafusion::error::DataFusionError; use datafusion::error::Result; use crate::serde::protobuf; -use crate::utils::{create_grpc_client_connection, GrpcClientConfig}; +use crate::utils::{GrpcClientConfig, create_grpc_client_connection}; use datafusion::physical_plan::{RecordBatchStream, SendableRecordBatchStream}; use futures::{Stream, StreamExt}; use log::{debug, warn}; diff --git a/ballista/core/src/consistent_hash/mod.rs b/ballista/core/src/consistent_hash/mod.rs index 51fa8add60..73767e56cd 100644 --- a/ballista/core/src/consistent_hash/mod.rs +++ b/ballista/core/src/consistent_hash/mod.rs @@ -153,10 +153,10 @@ where .range(hashed_key..) .chain(self.virtual_nodes.iter()) { - if let Some((node, _)) = self.node_replicas.get(node_name) { - if node.is_valid() { - return Some(position_key.clone()); - } + if let Some((node, _)) = self.node_replicas.get(node_name) + && node.is_valid() + { + return Some(position_key.clone()); } if tolerance == 0 { return None; @@ -177,8 +177,8 @@ pub fn md5_hash(data: &[u8]) -> Vec { #[cfg(test)] mod test { - use crate::consistent_hash::node::Node; use crate::consistent_hash::ConsistentHash; + use crate::consistent_hash::node::Node; #[test] fn test_topology() { @@ -219,9 +219,11 @@ mod test { for (i, key) in keys.iter().enumerate() { if i == 2 { assert!(consistent_hash.get(key.as_bytes()).is_none()); - assert!(consistent_hash - .get_with_tolerance(key.as_bytes(), 1) - .is_some()); + assert!( + consistent_hash + .get_with_tolerance(key.as_bytes(), 1) + .is_some() + ); } else { assert_eq!( consistent_hash.get(key.as_bytes()).unwrap().name(), diff --git a/ballista/core/src/diagram.rs b/ballista/core/src/diagram.rs index b316d7c921..1af9e08fd5 100644 --- a/ballista/core/src/diagram.rs +++ b/ballista/core/src/diagram.rs @@ -19,6 +19,7 @@ use crate::error::Result; use crate::execution_plans::{ShuffleWriterExec, UnresolvedShuffleExec}; use datafusion::datasource::source::DataSourceExec; +use datafusion::physical_plan::ExecutionPlan; use datafusion::physical_plan::aggregates::AggregateExec; use datafusion::physical_plan::coalesce_batches::CoalesceBatchesExec; use datafusion::physical_plan::coalesce_partitions::CoalescePartitionsExec; @@ -26,12 +27,11 @@ use datafusion::physical_plan::filter::FilterExec; use datafusion::physical_plan::joins::HashJoinExec; use datafusion::physical_plan::projection::ProjectionExec; use datafusion::physical_plan::sorts::sort::SortExec; -use datafusion::physical_plan::ExecutionPlan; use log::warn; use std::fs::File; use std::io::{BufWriter, Write}; -use std::sync::atomic::{AtomicUsize, Ordering}; use std::sync::Arc; +use std::sync::atomic::{AtomicUsize, Ordering}; pub fn produce_diagram(filename: &str, stages: &[Arc]) -> Result<()> { let write_file = File::create(filename)?; diff --git a/ballista/core/src/event_loop.rs b/ballista/core/src/event_loop.rs index c82cc2315d..be97012349 100644 --- a/ballista/core/src/event_loop.rs +++ b/ballista/core/src/event_loop.rs @@ -15,8 +15,8 @@ // specific language governing permissions and limitations // under the License. -use std::sync::atomic::{AtomicBool, Ordering}; use std::sync::Arc; +use std::sync::atomic::{AtomicBool, Ordering}; use async_trait::async_trait; use log::{error, info}; diff --git a/ballista/core/src/execution_plans/distributed_query.rs b/ballista/core/src/execution_plans/distributed_query.rs index 4336b1fc3b..8a084f964f 100644 --- a/ballista/core/src/execution_plans/distributed_query.rs +++ b/ballista/core/src/execution_plans/distributed_query.rs @@ -19,11 +19,11 @@ use crate::client::BallistaClient; use crate::config::BallistaConfig; use crate::serde::protobuf::SuccessfulJob; use crate::serde::protobuf::{ - execute_query_params::Query, execute_query_result, job_status, - scheduler_grpc_client::SchedulerGrpcClient, ExecuteQueryParams, GetJobStatusParams, - GetJobStatusResult, KeyValuePair, PartitionLocation, + ExecuteQueryParams, GetJobStatusParams, GetJobStatusResult, KeyValuePair, + PartitionLocation, execute_query_params::Query, execute_query_result, job_status, + scheduler_grpc_client::SchedulerGrpcClient, }; -use crate::utils::{create_grpc_client_connection, GrpcClientConfig}; +use crate::utils::{GrpcClientConfig, create_grpc_client_connection}; use datafusion::arrow::datatypes::SchemaRef; use datafusion::arrow::error::ArrowError; use datafusion::arrow::record_batch::RecordBatch; diff --git a/ballista/core/src/execution_plans/shuffle_reader.rs b/ballista/core/src/execution_plans/shuffle_reader.rs index 0635d31040..2ebc2fd3c6 100644 --- a/ballista/core/src/execution_plans/shuffle_reader.rs +++ b/ballista/core/src/execution_plans/shuffle_reader.rs @@ -52,7 +52,7 @@ use itertools::Itertools; use log::{debug, error, trace}; use rand::prelude::SliceRandom; use rand::rng; -use tokio::sync::{mpsc, Semaphore}; +use tokio::sync::{Semaphore, mpsc}; use tokio_stream::wrappers::ReceiverStream; /// ShuffleReaderExec reads partitions that have already been materialized by a ShuffleWriterExec @@ -165,9 +165,9 @@ impl ExecutionPlan for ShuffleReaderExec { if force_remote_read { debug!( - "All shuffle partitions will be read as remote partitions! To disable this behavior set: `{}=false`", - crate::config::BALLISTA_SHUFFLE_READER_FORCE_REMOTE_READ - ); + "All shuffle partitions will be read as remote partitions! To disable this behavior set: `{}=false`", + crate::config::BALLISTA_SHUFFLE_READER_FORCE_REMOTE_READ + ); } log::debug!( @@ -223,9 +223,7 @@ impl ExecutionPlan for ShuffleReaderExec { trace!( "shuffle reader at stage: {} and partition {} returned statistics: {:?}", - self.stage_id, - idx, - stat_for_partition + self.stage_id, idx, stat_for_partition ); stat_for_partition } else { @@ -236,7 +234,10 @@ impl ExecutionPlan for ShuffleReaderExec { .flatten() .map(|loc| loc.partition_stats), ); - trace!("shuffle reader at stage: {} returned statistics for all partitions: {:?}", self.stage_id, stats_for_partitions); + trace!( + "shuffle reader at stage: {} returned statistics for all partitions: {:?}", + self.stage_id, stats_for_partitions + ); Ok(stats_for_partitions) } } @@ -575,7 +576,7 @@ mod tests { use datafusion::physical_plan::common; use datafusion::prelude::SessionContext; - use tempfile::{tempdir, TempDir}; + use tempfile::{TempDir, tempdir}; #[tokio::test] async fn test_stats_for_partitions_empty() { @@ -740,8 +741,8 @@ mod tests { } #[tokio::test] - async fn test_stats_for_partition_statistics_specific_partition_out_of_range( - ) -> Result<()> { + async fn test_stats_for_partition_statistics_specific_partition_out_of_range() + -> Result<()> { let schema = Schema::new(vec![ Field::new("a", DataType::Int32, false), Field::new("b", DataType::Int32, false), diff --git a/ballista/core/src/execution_plans/shuffle_writer.rs b/ballista/core/src/execution_plans/shuffle_writer.rs index c1be52e339..42cfe03d90 100644 --- a/ballista/core/src/execution_plans/shuffle_writer.rs +++ b/ballista/core/src/execution_plans/shuffle_writer.rs @@ -20,8 +20,8 @@ //! partition is re-partitioned and streamed to disk in Arrow IPC format. Future stages of the query //! will use the ShuffleReaderExec to read these results. -use datafusion::arrow::ipc::writer::IpcWriteOptions; use datafusion::arrow::ipc::CompressionType; +use datafusion::arrow::ipc::writer::IpcWriteOptions; use datafusion::arrow::ipc::writer::StreamWriter; use std::any::Any; @@ -51,8 +51,8 @@ use datafusion::physical_plan::metrics::{ }; use datafusion::physical_plan::{ - displayable, DisplayAs, DisplayFormatType, ExecutionPlan, Partitioning, - PlanProperties, SendableRecordBatchStream, Statistics, + DisplayAs, DisplayFormatType, ExecutionPlan, Partitioning, PlanProperties, + SendableRecordBatchStream, Statistics, displayable, }; use futures::{StreamExt, TryFutureExt, TryStreamExt}; diff --git a/ballista/core/src/extension.rs b/ballista/core/src/extension.rs index 49bff2de56..f2690174fe 100644 --- a/ballista/core/src/extension.rs +++ b/ballista/core/src/extension.rs @@ -16,9 +16,10 @@ // under the License. use crate::config::{ - BallistaConfig, BALLISTA_GRPC_CLIENT_MAX_MESSAGE_SIZE, BALLISTA_JOB_NAME, + BALLISTA_GRPC_CLIENT_MAX_MESSAGE_SIZE, BALLISTA_JOB_NAME, BALLISTA_SHUFFLE_READER_FORCE_REMOTE_READ, BALLISTA_SHUFFLE_READER_MAX_REQUESTS, BALLISTA_SHUFFLE_READER_REMOTE_PREFER_FLIGHT, BALLISTA_STANDALONE_PARALLELISM, + BallistaConfig, }; use crate::planner::BallistaQueryPlanner; use crate::serde::protobuf::KeyValuePair; @@ -563,8 +564,10 @@ mod test { let pairs = config.to_key_value_pairs(); assert!(pairs.iter().any(|p| p.key == BALLISTA_JOB_NAME)); - assert!(pairs - .iter() - .any(|p| p.key == "datafusion.catalog.information_schema")) + assert!( + pairs + .iter() + .any(|p| p.key == "datafusion.catalog.information_schema") + ) } } diff --git a/ballista/core/src/object_store.rs b/ballista/core/src/object_store.rs index b698ebdcec..3f752f9acc 100644 --- a/ballista/core/src/object_store.rs +++ b/ballista/core/src/object_store.rs @@ -196,10 +196,13 @@ impl CustomObjectStoreRegistry { } if let Some(endpoint) = endpoint { - if let Ok(endpoint_url) = Url::try_from(endpoint.as_str()) { - if !matches!(allow_http, Some(true)) && endpoint_url.scheme() == "http" { - return config_err!("Invalid endpoint: {endpoint}. HTTP is not allowed for S3 endpoints. To allow HTTP, set 's3.allow_http' to true"); - } + if let Ok(endpoint_url) = Url::try_from(endpoint.as_str()) + && !matches!(allow_http, Some(true)) + && endpoint_url.scheme() == "http" + { + return config_err!( + "Invalid endpoint: {endpoint}. HTTP is not allowed for S3 endpoints. To allow HTTP, set 's3.allow_http' to true" + ); } builder = builder.with_endpoint(endpoint); diff --git a/ballista/core/src/planner.rs b/ballista/core/src/planner.rs index 266da3c6e9..bf9f5b7b7e 100644 --- a/ballista/core/src/planner.rs +++ b/ballista/core/src/planner.rs @@ -25,8 +25,8 @@ use datafusion::common::tree_node::{TreeNode, TreeNodeVisitor}; use datafusion::error::DataFusionError; use datafusion::execution::context::{QueryPlanner, SessionState}; use datafusion::logical_expr::{LogicalPlan, TableScan}; -use datafusion::physical_plan::empty::EmptyExec; use datafusion::physical_plan::ExecutionPlan; +use datafusion::physical_plan::empty::EmptyExec; use datafusion::physical_planner::{DefaultPhysicalPlanner, PhysicalPlanner}; use datafusion_proto::logical_plan::{AsLogicalPlan, LogicalExtensionCodec}; use std::marker::PhantomData; @@ -180,7 +180,7 @@ mod test { use datafusion::{ common::tree_node::TreeNode, error::Result, - execution::{runtime_env::RuntimeEnvBuilder, SessionStateBuilder}, + execution::{SessionStateBuilder, runtime_env::RuntimeEnvBuilder}, prelude::{SessionConfig, SessionContext}, }; diff --git a/ballista/core/src/serde/mod.rs b/ballista/core/src/serde/mod.rs index 089016822c..c71c0b707c 100644 --- a/ballista/core/src/serde/mod.rs +++ b/ballista/core/src/serde/mod.rs @@ -29,10 +29,10 @@ use datafusion_proto::logical_plan::file_formats::{ ArrowLogicalExtensionCodec, AvroLogicalExtensionCodec, CsvLogicalExtensionCodec, JsonLogicalExtensionCodec, ParquetLogicalExtensionCodec, }; +use datafusion_proto::physical_plan::DefaultPhysicalExtensionCodec; use datafusion_proto::physical_plan::from_proto::parse_protobuf_hash_partitioning; use datafusion_proto::physical_plan::from_proto::parse_protobuf_partitioning; use datafusion_proto::physical_plan::to_proto::serialize_partitioning; -use datafusion_proto::physical_plan::DefaultPhysicalExtensionCodec; use datafusion_proto::protobuf::proto_error; use datafusion_proto::protobuf::{LogicalPlanNode, PhysicalPlanNode}; use datafusion_proto::{ @@ -491,12 +491,12 @@ struct FileFormatProto { mod test { use super::*; use datafusion::arrow::datatypes::{DataType, Field, Schema}; - use datafusion::physical_plan::expressions::col; use datafusion::physical_plan::Partitioning; + use datafusion::physical_plan::expressions::col; use datafusion::{ common::DFSchema, - datasource::file_format::{parquet::ParquetFormatFactory, DefaultFileType}, - logical_expr::{dml::CopyTo, EmptyRelation, LogicalPlan}, + datasource::file_format::{DefaultFileType, parquet::ParquetFormatFactory}, + logical_expr::{EmptyRelation, LogicalPlan, dml::CopyTo}, prelude::SessionContext, }; use datafusion_proto::{logical_plan::AsLogicalPlan, protobuf::LogicalPlanNode}; diff --git a/ballista/core/src/serde/scheduler/from_proto.rs b/ballista/core/src/serde/scheduler/from_proto.rs index dc8c53c7b2..76c0e7d973 100644 --- a/ballista/core/src/serde/scheduler/from_proto.rs +++ b/ballista/core/src/serde/scheduler/from_proto.rs @@ -41,9 +41,9 @@ use crate::serde::scheduler::{ TaskDefinition, }; -use crate::serde::{protobuf, BallistaCodec}; use crate::RuntimeProducer; -use protobuf::{operator_metric, NamedCount, NamedGauge, NamedTime}; +use crate::serde::{BallistaCodec, protobuf}; +use protobuf::{NamedCount, NamedGauge, NamedTime, operator_metric}; impl TryInto for protobuf::Action { type Error = BallistaError; @@ -90,11 +90,7 @@ impl Into for protobuf::PartitionStats { } fn foo(n: i64) -> Option { - if n < 0 { - None - } else { - Some(n as u64) - } + if n < 0 { None } else { Some(n as u64) } } impl TryInto for protobuf::PartitionLocation { @@ -291,21 +287,17 @@ impl Into for protobuf::ExecutorData { available_task_slots: 0, }; for resource in self.resources { - if let Some(task_slots) = resource.total { - if let Some(protobuf::executor_resource::Resource::TaskSlots( - task_slots, - )) = task_slots.resource - { - ret.total_task_slots = task_slots - } + if let Some(task_slots) = resource.total + && let Some(protobuf::executor_resource::Resource::TaskSlots(task_slots)) = + task_slots.resource + { + ret.total_task_slots = task_slots }; - if let Some(task_slots) = resource.available { - if let Some(protobuf::executor_resource::Resource::TaskSlots( - task_slots, - )) = task_slots.resource - { - ret.available_task_slots = task_slots - } + if let Some(task_slots) = resource.available + && let Some(protobuf::executor_resource::Resource::TaskSlots(task_slots)) = + task_slots.resource + { + ret.available_task_slots = task_slots }; } ret diff --git a/ballista/core/src/serde/scheduler/to_proto.rs b/ballista/core/src/serde/scheduler/to_proto.rs index 5abb0992ee..01c9d20eec 100644 --- a/ballista/core/src/serde/scheduler/to_proto.rs +++ b/ballista/core/src/serde/scheduler/to_proto.rs @@ -29,7 +29,7 @@ use crate::serde::scheduler::{ PartitionLocation, PartitionStats, }; use datafusion::physical_plan::Partitioning; -use protobuf::{action::ActionType, operator_metric, NamedCount, NamedGauge, NamedTime}; +use protobuf::{NamedCount, NamedGauge, NamedTime, action::ActionType, operator_metric}; impl TryInto for Action { type Error = BallistaError; diff --git a/ballista/core/src/utils.rs b/ballista/core/src/utils.rs index 248dbbe067..f77e143311 100644 --- a/ballista/core/src/utils.rs +++ b/ballista/core/src/utils.rs @@ -20,15 +20,15 @@ use crate::error::{BallistaError, Result}; use crate::extension::SessionConfigExt; use crate::serde::scheduler::PartitionStats; +use datafusion::arrow::ipc::CompressionType; use datafusion::arrow::ipc::writer::IpcWriteOptions; use datafusion::arrow::ipc::writer::StreamWriter; -use datafusion::arrow::ipc::CompressionType; use datafusion::arrow::record_batch::RecordBatch; use datafusion::execution::context::{SessionConfig, SessionState}; use datafusion::execution::runtime_env::RuntimeEnvBuilder; use datafusion::execution::session_state::SessionStateBuilder; use datafusion::physical_plan::metrics::MetricsSet; -use datafusion::physical_plan::{metrics, ExecutionPlan, RecordBatchStream}; +use datafusion::physical_plan::{ExecutionPlan, RecordBatchStream, metrics}; use futures::StreamExt; use log::error; use std::sync::Arc; diff --git a/ballista/executor/src/bin/main.rs b/ballista/executor/src/bin/main.rs index 96d3e1fd61..cbeb93b89e 100644 --- a/ballista/executor/src/bin/main.rs +++ b/ballista/executor/src/bin/main.rs @@ -23,7 +23,7 @@ use ballista_core::object_store::{ }; use ballista_executor::config::Config; use ballista_executor::executor_process::{ - start_executor_process, ExecutorProcessConfig, + ExecutorProcessConfig, start_executor_process, }; use clap::Parser; use std::env; diff --git a/ballista/executor/src/collect.rs b/ballista/executor/src/collect.rs index 84beff6eee..2e7649de3a 100644 --- a/ballista/executor/src/collect.rs +++ b/ballista/executor/src/collect.rs @@ -30,8 +30,8 @@ use datafusion::physical_plan::{ SendableRecordBatchStream, Statistics, }; use datafusion::{error::Result, physical_plan::RecordBatchStream}; -use futures::stream::SelectAll; use futures::Stream; +use futures::stream::SelectAll; /// The CollectExec operator retrieves results from the cluster and returns them as a single /// vector of [RecordBatch]. diff --git a/ballista/executor/src/execution_engine.rs b/ballista/executor/src/execution_engine.rs index c7f9c8a561..eabb515a27 100644 --- a/ballista/executor/src/execution_engine.rs +++ b/ballista/executor/src/execution_engine.rs @@ -21,8 +21,8 @@ use ballista_core::serde::protobuf::ShuffleWritePartition; use ballista_core::utils; use datafusion::error::{DataFusionError, Result}; use datafusion::execution::context::TaskContext; -use datafusion::physical_plan::metrics::MetricsSet; use datafusion::physical_plan::ExecutionPlan; +use datafusion::physical_plan::metrics::MetricsSet; use std::fmt::{Debug, Display}; use std::sync::Arc; diff --git a/ballista/executor/src/execution_loop.rs b/ballista/executor/src/execution_loop.rs index 36b58a1398..d97b99269a 100644 --- a/ballista/executor/src/execution_loop.rs +++ b/ballista/executor/src/execution_loop.rs @@ -18,15 +18,15 @@ use crate::cpu_bound_executor::DedicatedExecutor; use crate::executor::Executor; use crate::executor_process::remove_job_dir; -use crate::{as_task_status, TaskExecutionTimes}; +use crate::{TaskExecutionTimes, as_task_status}; use ballista_core::error::BallistaError; use ballista_core::extension::SessionConfigHelperExt; +use ballista_core::serde::BallistaCodec; use ballista_core::serde::protobuf::{ - scheduler_grpc_client::SchedulerGrpcClient, PollWorkParams, PollWorkResult, - TaskDefinition, TaskStatus, + PollWorkParams, PollWorkResult, TaskDefinition, TaskStatus, + scheduler_grpc_client::SchedulerGrpcClient, }; use ballista_core::serde::scheduler::{ExecutorSpecification, PartitionId}; -use ballista_core::serde::BallistaCodec; use datafusion::execution::context::TaskContext; use datafusion::physical_plan::ExecutionPlan; use datafusion_proto::logical_plan::AsLogicalPlan; @@ -176,7 +176,9 @@ pub async fn poll_loop } } Err(error) => { - warn!("Executor poll work loop failed. If this continues to happen the Scheduler might be marked as dead. Error: {error}"); + warn!( + "Executor poll work loop failed. If this continues to happen the Scheduler might be marked as dead. Error: {error}" + ); } } diff --git a/ballista/executor/src/executor.rs b/ballista/executor/src/executor.rs index 3723c42e82..55b9bc8cef 100644 --- a/ballista/executor/src/executor.rs +++ b/ballista/executor/src/executor.rs @@ -22,13 +22,13 @@ use crate::execution_engine::ExecutionEngine; use crate::execution_engine::QueryStageExecutor; use crate::metrics::ExecutorMetricsCollector; use crate::metrics::LoggingMetricsCollector; +use ballista_core::ConfigProducer; +use ballista_core::RuntimeProducer; use ballista_core::error::BallistaError; use ballista_core::registry::BallistaFunctionRegistry; use ballista_core::serde::protobuf; use ballista_core::serde::protobuf::ExecutorRegistration; use ballista_core::serde::scheduler::PartitionId; -use ballista_core::ConfigProducer; -use ballista_core::RuntimeProducer; use dashmap::DashMap; use datafusion::execution::context::TaskContext; use datafusion::execution::runtime_env::RuntimeEnv; @@ -215,11 +215,11 @@ impl Executor { mod test { use crate::execution_engine::DefaultQueryStageExec; use crate::executor::Executor; + use ballista_core::RuntimeProducer; use ballista_core::execution_plans::ShuffleWriterExec; use ballista_core::serde::protobuf::ExecutorRegistration; use ballista_core::serde::scheduler::PartitionId; use ballista_core::utils::default_config_producer; - use ballista_core::RuntimeProducer; use datafusion::arrow::datatypes::{Schema, SchemaRef}; use datafusion::arrow::record_batch::RecordBatch; use datafusion::error::{DataFusionError, Result}; diff --git a/ballista/executor/src/executor_process.rs b/ballista/executor/src/executor_process.rs index 4756d89b1c..4daa53f304 100644 --- a/ballista/executor/src/executor_process.rs +++ b/ballista/executor/src/executor_process.rs @@ -19,16 +19,16 @@ use std::net::SocketAddr; use std::path::{Path, PathBuf}; -use std::sync::atomic::Ordering; use std::sync::Arc; +use std::sync::atomic::Ordering; use std::time::{Duration, Instant, UNIX_EPOCH}; use arrow_flight::flight_service_server::FlightServiceServer; use ballista_core::registry::BallistaFunctionRegistry; use datafusion_proto::logical_plan::LogicalExtensionCodec; use datafusion_proto::physical_plan::PhysicalExtensionCodec; -use futures::stream::FuturesUnordered; use futures::StreamExt; +use futures::stream::FuturesUnordered; use log::{error, info, warn}; use tempfile::TempDir; use tokio::fs::DirEntry; @@ -46,17 +46,17 @@ use ballista_core::extension::SessionConfigExt; use ballista_core::serde::protobuf::executor_resource::Resource; use ballista_core::serde::protobuf::executor_status::Status; use ballista_core::serde::protobuf::{ - scheduler_grpc_client::SchedulerGrpcClient, ExecutorRegistration, ExecutorResource, - ExecutorSpecification, ExecutorStatus, ExecutorStoppedParams, HeartBeatParams, + ExecutorRegistration, ExecutorResource, ExecutorSpecification, ExecutorStatus, + ExecutorStoppedParams, HeartBeatParams, scheduler_grpc_client::SchedulerGrpcClient, }; use ballista_core::serde::{ BallistaCodec, BallistaLogicalExtensionCodec, BallistaPhysicalExtensionCodec, }; use ballista_core::utils::{ - create_grpc_client_connection, create_grpc_server, default_config_producer, - get_time_before, GrpcServerConfig, + GrpcServerConfig, create_grpc_client_connection, create_grpc_server, + default_config_producer, get_time_before, }; -use ballista_core::{ConfigProducer, RuntimeProducer, BALLISTA_VERSION}; +use ballista_core::{BALLISTA_VERSION, ConfigProducer, RuntimeProducer}; use crate::execution_engine::ExecutionEngine; use crate::executor::{Executor, TasksDrainedFuture}; @@ -65,8 +65,8 @@ use crate::flight_service::BallistaFlightService; use crate::metrics::LoggingMetricsCollector; use crate::shutdown::Shutdown; use crate::shutdown::ShutdownNotifier; +use crate::{ArrowFlightServerProvider, terminate}; use crate::{execution_loop, executor_server}; -use crate::{terminate, ArrowFlightServerProvider}; pub struct ExecutorProcessConfig { pub bind_host: String, @@ -493,7 +493,9 @@ async fn flight_server_task( grpc_server_config: GrpcServerConfig, ) -> JoinHandle> { tokio::spawn(async move { - info!("Built-in arrow flight server listening on: {address:?} max_encoding_size: {max_encoding_message_size} max_decoding_size: {max_decoding_message_size}"); + info!( + "Built-in arrow flight server listening on: {address:?} max_encoding_size: {max_encoding_message_size} max_decoding_size: {max_decoding_message_size}" + ); let server_future = create_grpc_server(&grpc_server_config) .add_service( @@ -556,7 +558,9 @@ async fn clean_shuffle_data_loop( Ok(_) => {} } } else { - warn!("{child_path:?} under the working directory is a not a directory and will be ignored when doing cleanup") + warn!( + "{child_path:?} under the working directory is a not a directory and will be ignored when doing cleanup" + ) } } else { error!("Fail to get metadata for file {:?}", child.path()) diff --git a/ballista/executor/src/executor_server.rs b/ballista/executor/src/executor_server.rs index 1b40650ee7..ed2b250445 100644 --- a/ballista/executor/src/executor_server.rs +++ b/ballista/executor/src/executor_server.rs @@ -18,8 +18,8 @@ use ballista_core::BALLISTA_VERSION; use std::collections::HashMap; use std::convert::TryInto; -use std::sync::atomic::{AtomicBool, Ordering}; use std::sync::Arc; +use std::sync::atomic::{AtomicBool, Ordering}; use std::time::{Duration, SystemTime, UNIX_EPOCH}; use tokio::sync::mpsc; @@ -29,21 +29,21 @@ use tonic::{Request, Response, Status}; use ballista_core::error::BallistaError; use ballista_core::extension::SessionConfigExt; +use ballista_core::serde::BallistaCodec; use ballista_core::serde::protobuf::{ - executor_grpc_server::{ExecutorGrpc, ExecutorGrpcServer}, - executor_metric, executor_status, - scheduler_grpc_client::SchedulerGrpcClient, CancelTasksParams, CancelTasksResult, ExecutorMetric, ExecutorStatus, HeartBeatParams, LaunchMultiTaskParams, LaunchMultiTaskResult, LaunchTaskParams, LaunchTaskResult, RegisterExecutorParams, RemoveJobDataParams, RemoveJobDataResult, StopExecutorParams, StopExecutorResult, TaskStatus, UpdateTaskStatusParams, + executor_grpc_server::{ExecutorGrpc, ExecutorGrpcServer}, + executor_metric, executor_status, + scheduler_grpc_client::SchedulerGrpcClient, }; +use ballista_core::serde::scheduler::PartitionId; +use ballista_core::serde::scheduler::TaskDefinition; use ballista_core::serde::scheduler::from_proto::{ get_task_definition, get_task_definition_vec, }; -use ballista_core::serde::scheduler::PartitionId; -use ballista_core::serde::scheduler::TaskDefinition; -use ballista_core::serde::BallistaCodec; use ballista_core::utils::{create_grpc_client_connection, create_grpc_server}; use dashmap::DashMap; use datafusion::execution::TaskContext; @@ -53,9 +53,9 @@ use tokio::task::JoinHandle; use crate::cpu_bound_executor::DedicatedExecutor; use crate::executor::Executor; -use crate::executor_process::{remove_job_dir, ExecutorProcessConfig}; +use crate::executor_process::{ExecutorProcessConfig, remove_job_dir}; use crate::shutdown::ShutdownNotifier; -use crate::{as_task_status, TaskExecutionTimes}; +use crate::{TaskExecutionTimes, as_task_status}; type ServerHandle = JoinHandle>; type SchedulerClients = Arc>>; @@ -522,7 +522,9 @@ impl TaskRunnerPool { - info!("Channel is closed and will exit the task status report loop"); + info!( + "Channel is closed and will exit the task status report loop" + ); drop(tasks_status_complete); return; } diff --git a/ballista/executor/src/flight_service.rs b/ballista/executor/src/flight_service.rs index 0de791f62b..9ff762f0fa 100644 --- a/ballista/executor/src/flight_service.rs +++ b/ballista/executor/src/flight_service.rs @@ -31,9 +31,9 @@ use ballista_core::serde::scheduler::Action as BallistaAction; use datafusion::arrow::ipc::CompressionType; use arrow_flight::{ - flight_service_server::FlightService, Action, ActionType, Criteria, Empty, - FlightData, FlightDescriptor, FlightInfo, HandshakeRequest, HandshakeResponse, - PollInfo, PutResult, SchemaResult, Ticket, + Action, ActionType, Criteria, Empty, FlightData, FlightDescriptor, FlightInfo, + HandshakeRequest, HandshakeResponse, PollInfo, PutResult, SchemaResult, Ticket, + flight_service_server::FlightService, }; use datafusion::arrow::ipc::writer::IpcWriteOptions; use datafusion::arrow::{error::ArrowError, record_batch::RecordBatch}; diff --git a/ballista/executor/src/lib.rs b/ballista/executor/src/lib.rs index e93225925e..15f42a70ce 100644 --- a/ballista/executor/src/lib.rs +++ b/ballista/executor/src/lib.rs @@ -44,8 +44,8 @@ use log::info; use crate::shutdown::Shutdown; use ballista_core::serde::protobuf::{ - task_status, FailedTask, OperatorMetricsSet, ShuffleWritePartition, SuccessfulTask, - TaskStatus, + FailedTask, OperatorMetricsSet, ShuffleWritePartition, SuccessfulTask, TaskStatus, + task_status, }; use ballista_core::serde::scheduler::PartitionId; use ballista_core::utils::GrpcServerConfig; diff --git a/ballista/executor/src/standalone.rs b/ballista/executor/src/standalone.rs index d9fa3c51bd..aa3b12b545 100644 --- a/ballista/executor/src/standalone.rs +++ b/ballista/executor/src/standalone.rs @@ -20,14 +20,14 @@ use crate::{execution_loop, executor::Executor, flight_service::BallistaFlightSe use arrow_flight::flight_service_server::FlightServiceServer; use ballista_core::extension::SessionConfigExt; use ballista_core::registry::BallistaFunctionRegistry; -use ballista_core::utils::{default_config_producer, GrpcServerConfig}; +use ballista_core::utils::{GrpcServerConfig, default_config_producer}; use ballista_core::{ + BALLISTA_VERSION, error::Result, - serde::protobuf::{scheduler_grpc_client::SchedulerGrpcClient, ExecutorRegistration}, - serde::scheduler::ExecutorSpecification, serde::BallistaCodec, + serde::protobuf::{ExecutorRegistration, scheduler_grpc_client::SchedulerGrpcClient}, + serde::scheduler::ExecutorSpecification, utils::create_grpc_server, - BALLISTA_VERSION, }; use ballista_core::{ConfigProducer, RuntimeProducer}; use datafusion::execution::{SessionState, SessionStateBuilder}; diff --git a/ballista/scheduler/src/api/handlers.rs b/ballista/scheduler/src/api/handlers.rs index 8b5ed3670d..3230a8be3b 100644 --- a/ballista/scheduler/src/api/handlers.rs +++ b/ballista/scheduler/src/api/handlers.rs @@ -10,17 +10,17 @@ // See the License for the specific language governing permissions and // limitations under the License. -use crate::scheduler_server::event::QueryStageSchedulerEvent; use crate::scheduler_server::SchedulerServer; +use crate::scheduler_server::event::QueryStageSchedulerEvent; use crate::state::execution_graph::ExecutionStage; use crate::state::execution_graph_dot::ExecutionGraphDot; use axum::{ + Json, extract::{Path, State}, response::{IntoResponse, Response}, - Json, }; -use ballista_core::serde::protobuf::job_status::Status; use ballista_core::BALLISTA_VERSION; +use ballista_core::serde::protobuf::job_status::Status; use datafusion::physical_plan::metrics::{MetricValue, MetricsSet, Time}; use datafusion_proto::logical_plan::AsLogicalPlan; use datafusion_proto::physical_plan::AsExecutionPlan; @@ -30,7 +30,7 @@ use graphviz_rust::{ exec, printer::PrinterContext, }; -use http::{header::CONTENT_TYPE, StatusCode}; +use http::{StatusCode, header::CONTENT_TYPE}; use std::sync::Arc; use std::time::Duration; diff --git a/ballista/scheduler/src/api/mod.rs b/ballista/scheduler/src/api/mod.rs index 05cf271808..5dd1aee2e4 100644 --- a/ballista/scheduler/src/api/mod.rs +++ b/ballista/scheduler/src/api/mod.rs @@ -14,7 +14,7 @@ mod handlers; use crate::scheduler_server::SchedulerServer; use axum::routing::patch; -use axum::{routing::get, Router}; +use axum::{Router, routing::get}; use datafusion_proto::logical_plan::AsLogicalPlan; use datafusion_proto::physical_plan::AsExecutionPlan; use std::sync::Arc; diff --git a/ballista/scheduler/src/cluster/event/mod.rs b/ballista/scheduler/src/cluster/event/mod.rs index 4c2944917e..659cc4240a 100644 --- a/ballista/scheduler/src/cluster/event/mod.rs +++ b/ballista/scheduler/src/cluster/event/mod.rs @@ -20,8 +20,8 @@ use log::debug; use parking_lot::RwLock; use std::collections::BTreeMap; use std::pin::Pin; -use std::sync::atomic::{AtomicUsize, Ordering}; use std::sync::Arc; +use std::sync::atomic::{AtomicUsize, Ordering}; use std::task::{Context, Poll, Waker}; use tokio::sync::broadcast; use tokio::sync::broadcast::error::TryRecvError; @@ -157,8 +157,8 @@ impl Stream for EventSubscriber { #[cfg(test)] mod test { use crate::cluster::event::{ClusterEventSender, EventSubscriber}; - use futures::stream::FuturesUnordered; use futures::StreamExt; + use futures::stream::FuturesUnordered; async fn collect_events(mut rx: EventSubscriber) -> Vec { let mut events = vec![]; diff --git a/ballista/scheduler/src/cluster/memory.rs b/ballista/scheduler/src/cluster/memory.rs index 4ea39dbb90..c22ee31c83 100644 --- a/ballista/scheduler/src/cluster/memory.rs +++ b/ballista/scheduler/src/cluster/memory.rs @@ -16,24 +16,25 @@ // under the License. use crate::cluster::{ - bind_task_bias, bind_task_consistent_hash, bind_task_round_robin, get_scan_files, - is_skip_consistent_hash, BoundTask, ClusterState, ExecutorSlot, JobState, - JobStateEvent, JobStateEventStream, JobStatus, TaskDistributionPolicy, TopologyNode, + BoundTask, ClusterState, ExecutorSlot, JobState, JobStateEvent, JobStateEventStream, + JobStatus, TaskDistributionPolicy, TopologyNode, bind_task_bias, + bind_task_consistent_hash, bind_task_round_robin, get_scan_files, + is_skip_consistent_hash, }; use crate::state::execution_graph::ExecutionGraph; use async_trait::async_trait; +use ballista_core::ConfigProducer; use ballista_core::error::{BallistaError, Result}; use ballista_core::serde::protobuf::{ - executor_status, AvailableTaskSlots, ExecutorHeartbeat, ExecutorStatus, FailedJob, - QueuedJob, + AvailableTaskSlots, ExecutorHeartbeat, ExecutorStatus, FailedJob, QueuedJob, + executor_status, }; use ballista_core::serde::scheduler::{ExecutorData, ExecutorMetadata}; -use ballista_core::ConfigProducer; use dashmap::DashMap; use datafusion::prelude::{SessionConfig, SessionContext}; use crate::cluster::event::ClusterEventSender; -use crate::scheduler_server::{timestamp_millis, timestamp_secs, SessionBuilder}; +use crate::scheduler_server::{SessionBuilder, timestamp_millis, timestamp_secs}; use crate::state::session_manager::create_datafusion_context; use crate::state::task_manager::JobInfoCache; use ballista_core::serde::protobuf::job_status::Status; @@ -69,10 +70,10 @@ impl InMemoryClusterState { ) -> HashMap { let mut nodes: HashMap = HashMap::new(); for (executor_id, slots) in guard.iter() { - if let Some(executors) = executors.as_ref() { - if !executors.contains(executor_id) { - continue; - } + if let Some(executors) = executors.as_ref() + && !executors.contains(executor_id) + { + continue; } if let Some(executor) = self.executors.get(&slots.executor_id) { let node = TopologyNode::new( diff --git a/ballista/scheduler/src/cluster/mod.rs b/ballista/scheduler/src/cluster/mod.rs index 4942d45225..d9ea9e540a 100644 --- a/ballista/scheduler/src/cluster/mod.rs +++ b/ballista/scheduler/src/cluster/mod.rs @@ -33,17 +33,17 @@ use log::debug; use ballista_core::consistent_hash::ConsistentHash; use ballista_core::error::Result; use ballista_core::serde::protobuf::{ - job_status, AvailableTaskSlots, ExecutorHeartbeat, JobStatus, + AvailableTaskSlots, ExecutorHeartbeat, JobStatus, job_status, }; use ballista_core::serde::scheduler::{ExecutorData, ExecutorMetadata, PartitionId}; use ballista_core::utils::{default_config_producer, default_session_builder}; -use ballista_core::{consistent_hash, ConfigProducer}; +use ballista_core::{ConfigProducer, consistent_hash}; use crate::cluster::memory::{InMemoryClusterState, InMemoryJobState}; use crate::config::{SchedulerConfig, TaskDistributionPolicy}; use crate::scheduler_server::SessionBuilder; -use crate::state::execution_graph::{create_task_info, ExecutionGraph, TaskDescription}; +use crate::state::execution_graph::{ExecutionGraph, TaskDescription, create_task_info}; use crate::state::task_manager::JobInfoCache; pub mod event; @@ -532,7 +532,9 @@ pub(crate) async fn bind_task_consistent_hash( total_slots += node.available_slots as usize; } if total_slots == 0 { - debug!("Not enough available executor slots for binding tasks with consistent hashing policy!!!"); + debug!( + "Not enough available executor slots for binding tasks with consistent hashing policy!!!" + ); return Ok((vec![], None)); } debug!("Total slot number for consistent hash binding is {total_slots}"); @@ -704,16 +706,16 @@ mod test { use std::sync::Arc; use datafusion::datasource::listing::PartitionedFile; - use object_store::path::Path; use object_store::ObjectMeta; + use object_store::path::Path; use ballista_core::error::Result; use ballista_core::serde::protobuf::AvailableTaskSlots; use ballista_core::serde::scheduler::{ExecutorMetadata, ExecutorSpecification}; use crate::cluster::{ - bind_task_bias, bind_task_consistent_hash, bind_task_round_robin, BoundTask, - TopologyNode, + BoundTask, TopologyNode, bind_task_bias, bind_task_consistent_hash, + bind_task_round_robin, }; use crate::state::execution_graph::ExecutionGraph; use crate::state::task_manager::JobInfoCache; diff --git a/ballista/scheduler/src/cluster/test_util/mod.rs b/ballista/scheduler/src/cluster/test_util/mod.rs index 64da6c60fc..70269563f3 100644 --- a/ballista/scheduler/src/cluster/test_util/mod.rs +++ b/ballista/scheduler/src/cluster/test_util/mod.rs @@ -20,8 +20,8 @@ use crate::scheduler_server::timestamp_millis; use crate::state::execution_graph::ExecutionGraph; use crate::test_utils::{await_condition, mock_completed_task, mock_executor}; use ballista_core::error::Result; -use ballista_core::serde::protobuf::job_status::Status; use ballista_core::serde::protobuf::JobStatus; +use ballista_core::serde::protobuf::job_status::Status; use futures::StreamExt; use std::sync::Arc; use std::time::Duration; diff --git a/ballista/scheduler/src/config.rs b/ballista/scheduler/src/config.rs index 559f1d670d..9b05534035 100644 --- a/ballista/scheduler/src/config.rs +++ b/ballista/scheduler/src/config.rs @@ -25,9 +25,9 @@ // #![allow(clippy::uninlined_format_args)] -use crate::cluster::DistributionPolicy; use crate::SessionBuilder; -use ballista_core::{config::TaskSchedulingPolicy, ConfigProducer}; +use crate::cluster::DistributionPolicy; +use ballista_core::{ConfigProducer, config::TaskSchedulingPolicy}; use datafusion_proto::logical_plan::LogicalExtensionCodec; use datafusion_proto::physical_plan::PhysicalExtensionCodec; use std::fmt::Display; diff --git a/ballista/scheduler/src/display.rs b/ballista/scheduler/src/display.rs index 5cdd880236..75f85a6f61 100644 --- a/ballista/scheduler/src/display.rs +++ b/ballista/scheduler/src/display.rs @@ -23,7 +23,7 @@ use ballista_core::utils::collect_plan_metrics; use datafusion::logical_expr::{StringifiedPlan, ToStringifiedPlan}; use datafusion::physical_plan::metrics::MetricsSet; use datafusion::physical_plan::{ - accept, DisplayFormatType, ExecutionPlan, ExecutionPlanVisitor, + DisplayFormatType, ExecutionPlan, ExecutionPlanVisitor, accept, }; use log::{error, info}; use std::fmt; diff --git a/ballista/scheduler/src/metrics/prometheus.rs b/ballista/scheduler/src/metrics/prometheus.rs index 9c26145b2d..032f0f82b1 100644 --- a/ballista/scheduler/src/metrics/prometheus.rs +++ b/ballista/scheduler/src/metrics/prometheus.rs @@ -20,8 +20,8 @@ use ballista_core::error::{BallistaError, Result}; use once_cell::sync::OnceCell; use prometheus::{ - register_counter_with_registry, register_gauge_with_registry, - register_histogram_with_registry, Counter, Gauge, Histogram, Registry, + Counter, Gauge, Histogram, Registry, register_counter_with_registry, + register_gauge_with_registry, register_histogram_with_registry, }; use prometheus::{Encoder, TextEncoder}; use std::sync::Arc; diff --git a/ballista/scheduler/src/physical_optimizer/join_selection.rs b/ballista/scheduler/src/physical_optimizer/join_selection.rs index 3fb4d60b54..7873ac3e2f 100644 --- a/ballista/scheduler/src/physical_optimizer/join_selection.rs +++ b/ballista/scheduler/src/physical_optimizer/join_selection.rs @@ -36,10 +36,10 @@ use datafusion::common::config::ConfigOptions; use datafusion::common::error::Result; use datafusion::common::tree_node::{Transformed, TransformedResult, TreeNode}; -use datafusion::common::{internal_err, JoinSide, JoinType}; +use datafusion::common::{JoinSide, JoinType, internal_err}; use datafusion::logical_expr::sort_properties::SortProperties; -use datafusion::physical_expr::expressions::Column; use datafusion::physical_expr::LexOrdering; +use datafusion::physical_expr::expressions::Column; use datafusion::physical_optimizer::PhysicalOptimizerRule; use datafusion::physical_plan::execution_plan::EmissionType; use datafusion::physical_plan::joins::utils::{ColumnIndex, JoinFilter}; @@ -544,19 +544,15 @@ pub fn hash_join_swap_subrule( mut input: Arc, _config_options: &ConfigOptions, ) -> Result> { - if let Some(hash_join) = input.as_any().downcast_ref::() { - if hash_join.left.boundedness().is_unbounded() - && !hash_join.right.boundedness().is_unbounded() - && matches!( - *hash_join.join_type(), - JoinType::Inner - | JoinType::Left - | JoinType::LeftSemi - | JoinType::LeftAnti - ) - { - input = swap_join_according_to_unboundedness(hash_join)?; - } + if let Some(hash_join) = input.as_any().downcast_ref::() + && hash_join.left.boundedness().is_unbounded() + && !hash_join.right.boundedness().is_unbounded() + && matches!( + *hash_join.join_type(), + JoinType::Inner | JoinType::Left | JoinType::LeftSemi | JoinType::LeftAnti + ) + { + input = swap_join_according_to_unboundedness(hash_join)?; } Ok(input) } @@ -612,14 +608,14 @@ mod test { use datafusion::{ arrow::datatypes::{DataType, Field, Schema}, - common::{stats::Precision, ColumnStatistics, JoinSide, JoinType, Statistics}, + common::{ColumnStatistics, JoinSide, JoinType, Statistics, stats::Precision}, config::ConfigOptions, logical_expr::Operator, physical_plan::{ + ExecutionPlan, expressions::{BinaryExpr, Column}, joins::utils::{ColumnIndex, JoinFilter}, test::exec::StatisticsExec, - ExecutionPlan, }, }; // diff --git a/ballista/scheduler/src/planner.rs b/ballista/scheduler/src/planner.rs index 80fa8440b9..a185f89bd4 100644 --- a/ballista/scheduler/src/planner.rs +++ b/ballista/scheduler/src/planner.rs @@ -26,13 +26,13 @@ use ballista_core::{ serde::scheduler::PartitionLocation, }; use datafusion::config::ConfigOptions; -use datafusion::physical_optimizer::enforce_sorting::EnforceSorting; use datafusion::physical_optimizer::PhysicalOptimizerRule; +use datafusion::physical_optimizer::enforce_sorting::EnforceSorting; use datafusion::physical_plan::coalesce_partitions::CoalescePartitionsExec; use datafusion::physical_plan::repartition::RepartitionExec; use datafusion::physical_plan::sorts::sort_preserving_merge::SortPreservingMergeExec; use datafusion::physical_plan::{ - with_new_children_if_necessary, ExecutionPlan, Partitioning, + ExecutionPlan, Partitioning, with_new_children_if_necessary, }; use log::{debug, info}; @@ -338,7 +338,7 @@ mod test { use datafusion::physical_plan::sorts::sort::SortExec; use datafusion::physical_plan::sorts::sort_preserving_merge::SortPreservingMergeExec; use datafusion::physical_plan::windows::BoundedWindowAggExec; - use datafusion::physical_plan::{displayable, ExecutionPlan}; + use datafusion::physical_plan::{ExecutionPlan, displayable}; use datafusion::physical_plan::{InputOrderMode, Partitioning}; use datafusion_proto::physical_plan::AsExecutionPlan; use datafusion_proto::protobuf::LogicalPlanNode; diff --git a/ballista/scheduler/src/scheduler_process.rs b/ballista/scheduler/src/scheduler_process.rs index 4cb4d81ceb..361ade55fb 100644 --- a/ballista/scheduler/src/scheduler_process.rs +++ b/ballista/scheduler/src/scheduler_process.rs @@ -15,12 +15,12 @@ // specific language governing permissions and limitations // under the License. +use ballista_core::BALLISTA_VERSION; use ballista_core::error::BallistaError; use ballista_core::serde::protobuf::scheduler_grpc_server::SchedulerGrpcServer; use ballista_core::serde::{ BallistaCodec, BallistaLogicalExtensionCodec, BallistaPhysicalExtensionCodec, }; -use ballista_core::BALLISTA_VERSION; use datafusion_proto::logical_plan::AsLogicalPlan; use datafusion_proto::physical_plan::AsExecutionPlan; use datafusion_proto::protobuf::{LogicalPlanNode, PhysicalPlanNode}; @@ -35,9 +35,9 @@ use crate::cluster::BallistaCluster; use crate::config::SchedulerConfig; use crate::metrics::default_metrics_collector; +use crate::scheduler_server::SchedulerServer; #[cfg(feature = "keda-scaler")] use crate::scheduler_server::externalscaler::external_scaler_server::ExternalScalerServer; -use crate::scheduler_server::SchedulerServer; /// Creates as initialized scheduler service /// without exposing it as a grpc service diff --git a/ballista/scheduler/src/scheduler_server/external_scaler.rs b/ballista/scheduler/src/scheduler_server/external_scaler.rs index f2feb2433c..021670e42e 100644 --- a/ballista/scheduler/src/scheduler_server/external_scaler.rs +++ b/ballista/scheduler/src/scheduler_server/external_scaler.rs @@ -15,11 +15,11 @@ // specific language governing permissions and limitations // under the License. +use crate::scheduler_server::SchedulerServer; use crate::scheduler_server::externalscaler::{ - external_scaler_server::ExternalScaler, GetMetricSpecResponse, GetMetricsRequest, - GetMetricsResponse, IsActiveResponse, MetricSpec, MetricValue, ScaledObjectRef, + GetMetricSpecResponse, GetMetricsRequest, GetMetricsResponse, IsActiveResponse, + MetricSpec, MetricValue, ScaledObjectRef, external_scaler_server::ExternalScaler, }; -use crate::scheduler_server::SchedulerServer; use datafusion_proto::logical_plan::AsLogicalPlan; use datafusion_proto::physical_plan::AsExecutionPlan; diff --git a/ballista/scheduler/src/scheduler_server/grpc.rs b/ballista/scheduler/src/scheduler_server/grpc.rs index 58f53cba56..2860ff1b1e 100644 --- a/ballista/scheduler/src/scheduler_server/grpc.rs +++ b/ballista/scheduler/src/scheduler_server/grpc.rs @@ -21,14 +21,15 @@ use ballista_core::extension::SessionConfigHelperExt; use ballista_core::serde::protobuf::execute_query_params::Query; use ballista_core::serde::protobuf::scheduler_grpc_server::SchedulerGrpc; use ballista_core::serde::protobuf::{ - execute_query_failure_result, execute_query_result, AvailableTaskSlots, - CancelJobParams, CancelJobResult, CleanJobDataParams, CleanJobDataResult, - CreateUpdateSessionParams, CreateUpdateSessionResult, ExecuteQueryFailureResult, - ExecuteQueryParams, ExecuteQueryResult, ExecuteQuerySuccessResult, ExecutorHeartbeat, - ExecutorStoppedParams, ExecutorStoppedResult, GetJobStatusParams, GetJobStatusResult, - HeartBeatParams, HeartBeatResult, PollWorkParams, PollWorkResult, - RegisterExecutorParams, RegisterExecutorResult, RemoveSessionParams, - RemoveSessionResult, UpdateTaskStatusParams, UpdateTaskStatusResult, + AvailableTaskSlots, CancelJobParams, CancelJobResult, CleanJobDataParams, + CleanJobDataResult, CreateUpdateSessionParams, CreateUpdateSessionResult, + ExecuteQueryFailureResult, ExecuteQueryParams, ExecuteQueryResult, + ExecuteQuerySuccessResult, ExecutorHeartbeat, ExecutorStoppedParams, + ExecutorStoppedResult, GetJobStatusParams, GetJobStatusResult, HeartBeatParams, + HeartBeatResult, PollWorkParams, PollWorkResult, RegisterExecutorParams, + RegisterExecutorResult, RemoveSessionParams, RemoveSessionResult, + UpdateTaskStatusParams, UpdateTaskStatusResult, execute_query_failure_result, + execute_query_result, }; use ballista_core::serde::scheduler::ExecutorMetadata; use datafusion_proto::logical_plan::AsLogicalPlan; @@ -116,16 +117,16 @@ impl SchedulerGrpc TaskDistributionPolicy::RoundRobin => { bind_task_round_robin(available_slots, running_jobs, |_| false).await } - TaskDistributionPolicy::ConsistentHash{..} => { + TaskDistributionPolicy::ConsistentHash { .. } => { return Err(Status::unimplemented( - "ConsistentHash TaskDistribution is not feasible for pull-based task scheduling")) + "ConsistentHash TaskDistribution is not feasible for pull-based task scheduling", + )); } - TaskDistributionPolicy::Custom(ref policy) =>{ - policy.bind_tasks(available_slots, running_jobs).await.map_err(|e| { - Status::internal(e.to_string()) - })? - } + TaskDistributionPolicy::Custom(ref policy) => policy + .bind_tasks(available_slots, running_jobs) + .await + .map_err(|e| Status::internal(e.to_string()))?, }; let mut tasks = vec![]; @@ -345,7 +346,9 @@ impl SchedulerGrpc let job_id = self.state.task_manager.generate_job_id(); - info!("execution query - session_id: {session_id}, operation_id: {operation_id}, job_name: {job_name}, job_id: {job_id}"); + info!( + "execution query - session_id: {session_id}, operation_id: {operation_id}, job_name: {job_name}, job_id: {job_id}" + ); let (session_id, session_ctx) = { let session_config = self.state.session_manager.produce_config(); @@ -547,12 +550,12 @@ mod test { use crate::config::SchedulerConfig; use crate::metrics::default_metrics_collector; use ballista_core::error::BallistaError; + use ballista_core::serde::BallistaCodec; use ballista_core::serde::protobuf::{ - executor_status, ExecutorRegistration, ExecutorStatus, ExecutorStoppedParams, - HeartBeatParams, PollWorkParams, RegisterExecutorParams, + ExecutorRegistration, ExecutorStatus, ExecutorStoppedParams, HeartBeatParams, + PollWorkParams, RegisterExecutorParams, executor_status, }; use ballista_core::serde::scheduler::ExecutorSpecification; - use ballista_core::serde::BallistaCodec; use crate::state::SchedulerState; use crate::test_utils::await_condition; diff --git a/ballista/scheduler/src/scheduler_server/mod.rs b/ballista/scheduler/src/scheduler_server/mod.rs index e741601e4f..8f78c97064 100644 --- a/ballista/scheduler/src/scheduler_server/mod.rs +++ b/ballista/scheduler/src/scheduler_server/mod.rs @@ -20,8 +20,8 @@ use std::time::{Duration, SystemTime, UNIX_EPOCH}; use ballista_core::error::Result; use ballista_core::event_loop::{EventLoop, EventSender}; -use ballista_core::serde::protobuf::TaskStatus; use ballista_core::serde::BallistaCodec; +use ballista_core::serde::protobuf::TaskStatus; use datafusion::execution::context::SessionState; use datafusion::logical_expr::LogicalPlan; @@ -40,8 +40,8 @@ use crate::scheduler_server::query_stage_scheduler::QueryStageScheduler; use crate::state::executor_manager::ExecutorManager; -use crate::state::task_manager::TaskLauncher; use crate::state::SchedulerState; +use crate::state::task_manager::TaskLauncher; // include the generated protobuf source as a submodule #[cfg(feature = "keda-scaler")] @@ -276,8 +276,9 @@ impl SchedulerServer QueryStageSchedulerEvent::ExecutorLost(executor_id, _) => { match self.state.task_manager.executor_lost(&executor_id).await { Ok(tasks) => { - if !tasks.is_empty() { - if let Err(e) = self + if !tasks.is_empty() + && let Err(e) = self .state .executor_manager .cancel_running_tasks(tasks) .await - { - warn!("Fail to cancel running tasks due to {e:?}"); - } + { + warn!("Fail to cancel running tasks due to {e:?}"); } } Err(e) => { @@ -335,12 +334,12 @@ impl #[cfg(test)] mod tests { use crate::config::SchedulerConfig; - use crate::test_utils::{await_condition, SchedulerTest, TestMetricsCollector}; + use crate::test_utils::{SchedulerTest, TestMetricsCollector, await_condition}; use ballista_core::config::TaskSchedulingPolicy; use ballista_core::error::Result; use datafusion::arrow::datatypes::{DataType, Field, Schema}; use datafusion::functions_aggregate::sum::sum; - use datafusion::logical_expr::{col, LogicalPlan}; + use datafusion::logical_expr::{LogicalPlan, col}; use datafusion::test_util::scan_empty_with_partitions; use std::sync::Arc; use std::time::Duration; diff --git a/ballista/scheduler/src/standalone.rs b/ballista/scheduler/src/standalone.rs index c4e6295df3..cf835a75e9 100644 --- a/ballista/scheduler/src/standalone.rs +++ b/ballista/scheduler/src/standalone.rs @@ -19,16 +19,16 @@ use crate::cluster::BallistaCluster; use crate::config::SchedulerConfig; use crate::metrics::default_metrics_collector; use crate::scheduler_server::SchedulerServer; +use ballista_core::ConfigProducer; use ballista_core::extension::SessionConfigExt; use ballista_core::serde::BallistaCodec; use ballista_core::utils::{ - create_grpc_server, default_config_producer, default_session_builder, - GrpcServerConfig, + GrpcServerConfig, create_grpc_server, default_config_producer, + default_session_builder, }; -use ballista_core::ConfigProducer; use ballista_core::{ - error::Result, serde::protobuf::scheduler_grpc_server::SchedulerGrpcServer, - BALLISTA_VERSION, + BALLISTA_VERSION, error::Result, + serde::protobuf::scheduler_grpc_server::SchedulerGrpcServer, }; use datafusion::execution::SessionState; use datafusion::prelude::SessionConfig; diff --git a/ballista/scheduler/src/state/distributed_explain.rs b/ballista/scheduler/src/state/distributed_explain.rs index 8d602a4f26..340aa5013b 100644 --- a/ballista/scheduler/src/state/distributed_explain.rs +++ b/ballista/scheduler/src/state/distributed_explain.rs @@ -25,13 +25,13 @@ use datafusion::arrow::datatypes::{DataType, Field, Schema}; use datafusion::common::{ScalarValue, UnnestOptions}; use datafusion::logical_expr::{LogicalPlan, PlanType, StringifiedPlan}; use datafusion::physical_expr::PhysicalExpr; +use datafusion::physical_plan::ExecutionPlan; use datafusion::physical_plan::coalesce_partitions::CoalescePartitionsExec; use datafusion::physical_plan::expressions::col; use datafusion::physical_plan::expressions::lit; use datafusion::physical_plan::placeholder_row::PlaceholderRowExec; use datafusion::physical_plan::projection::ProjectionExec; use datafusion::physical_plan::unnest::{ListUnnest, UnnestExec}; -use datafusion::physical_plan::ExecutionPlan; use datafusion::prelude::SessionContext; use crate::state::execution_graph::ExecutionStage; diff --git a/ballista/scheduler/src/state/execution_graph.rs b/ballista/scheduler/src/state/execution_graph.rs index ce2eb717fb..846907ffc0 100644 --- a/ballista/scheduler/src/state/execution_graph.rs +++ b/ballista/scheduler/src/state/execution_graph.rs @@ -23,7 +23,7 @@ use std::sync::Arc; use std::time::{SystemTime, UNIX_EPOCH}; use datafusion::physical_plan::display::DisplayableExecutionPlan; -use datafusion::physical_plan::{accept, ExecutionPlan, ExecutionPlanVisitor}; +use datafusion::physical_plan::{ExecutionPlan, ExecutionPlanVisitor, accept}; use datafusion::prelude::SessionConfig; use log::{debug, error, info, warn}; @@ -31,11 +31,11 @@ use ballista_core::error::{BallistaError, Result}; use ballista_core::execution_plans::{ShuffleWriterExec, UnresolvedShuffleExec}; use ballista_core::serde::protobuf::failed_task::FailedReason; use ballista_core::serde::protobuf::job_status::Status; -use ballista_core::serde::protobuf::{job_status, FailedJob, ShuffleWritePartition}; -use ballista_core::serde::protobuf::{task_status, RunningTask}; +use ballista_core::serde::protobuf::{FailedJob, ShuffleWritePartition, job_status}; use ballista_core::serde::protobuf::{ FailedTask, JobStatus, ResultLost, RunningJob, SuccessfulJob, TaskStatus, }; +use ballista_core::serde::protobuf::{RunningTask, task_status}; use ballista_core::serde::scheduler::{ ExecutorMetadata, PartitionId, PartitionLocation, PartitionStats, }; @@ -314,8 +314,14 @@ impl ExecutionGraph { let task_stage_attempt_num = task_status.stage_attempt_num as usize; if task_stage_attempt_num < running_stage.stage_attempt_num { - warn!("Ignore TaskStatus update with TID {} as it's from Stage {}.{} and there is a more recent stage attempt {}.{} running", - task_status.task_id, stage_id, task_stage_attempt_num, stage_id, running_stage.stage_attempt_num); + warn!( + "Ignore TaskStatus update with TID {} as it's from Stage {}.{} and there is a more recent stage attempt {}.{} running", + task_status.task_id, + stage_id, + task_stage_attempt_num, + stage_id, + running_stage.stage_attempt_num + ); continue; } let partition_id = task_status.clone().partition_id as usize; @@ -359,7 +365,8 @@ impl ExecutionGraph { if !failed_stages.is_empty() { let error_msg = format!( - "Stages was marked failed, ignore FetchPartitionError from task {task_identity}"); + "Stages was marked failed, ignore FetchPartitionError from task {task_identity}" + ); warn!("{error_msg}"); } else { // There are different removal strategies here. @@ -385,7 +392,9 @@ impl ExecutionGraph { .entry(map_stage_id) .or_default(); missing_inputs.extend(removed_map_partitions); - warn!("Need to resubmit the current running Stage {stage_id} and its map Stage {map_stage_id} due to FetchPartitionError from task {task_identity}") + warn!( + "Need to resubmit the current running Stage {stage_id} and its map Stage {map_stage_id} due to FetchPartitionError from task {task_identity}" + ) } } else { let error_msg = format!( @@ -415,7 +424,10 @@ impl ExecutionGraph { } else { let error_msg = format!( "Task {} in Stage {} failed {} times, fail the stage, most recent failure reason: {:?}", - partition_id, stage_id, max_task_failures, failed_task.error + partition_id, + stage_id, + max_task_failures, + failed_task.error ); error!("{error_msg}"); failed_stages.insert(stage_id, error_msg); @@ -428,7 +440,8 @@ impl ExecutionGraph { } None => { let error_msg = format!( - "Task {partition_id} in Stage {stage_id} failed with unknown failure reasons, fail the stage"); + "Task {partition_id} in Stage {stage_id} failed with unknown failure reasons, fail the stage" + ); error!("{error_msg}"); failed_stages.insert(stage_id, error_msg); } @@ -499,68 +512,64 @@ impl ExecutionGraph { // handle delayed failed tasks if the stage's next attempt is still in UnResolved status. if let Some(task_status::Status::Failed(failed_task)) = task_status.status - { - if unsolved_stage.stage_attempt_num - task_stage_attempt_num + && unsolved_stage.stage_attempt_num - task_stage_attempt_num == 1 - { - let failed_reason = failed_task.failed_reason; - match failed_reason { - Some(FailedReason::ExecutionError(_)) => { - should_ignore = false; - failed_stages.insert(stage_id, failed_task.error); + { + let failed_reason = failed_task.failed_reason; + match failed_reason { + Some(FailedReason::ExecutionError(_)) => { + should_ignore = false; + failed_stages.insert(stage_id, failed_task.error); + } + Some(FailedReason::FetchPartitionError( + fetch_partiton_error, + )) if failed_stages.is_empty() + && current_running_stages.contains( + &(fetch_partiton_error.map_stage_id as usize), + ) + && !unsolved_stage + .last_attempt_failure_reasons + .contains(&fetch_partiton_error.executor_id) => + { + should_ignore = false; + unsolved_stage + .last_attempt_failure_reasons + .insert(fetch_partiton_error.executor_id.clone()); + let map_stage_id = + fetch_partiton_error.map_stage_id as usize; + let map_partition_id = + fetch_partiton_error.map_partition_id as usize; + let executor_id = fetch_partiton_error.executor_id; + let removed_map_partitions = unsolved_stage + .remove_input_partitions( + map_stage_id, + map_partition_id, + &executor_id, + )?; + + let missing_inputs = reset_running_stages + .entry(map_stage_id) + .or_default(); + missing_inputs.extend(removed_map_partitions); + warn!( + "Need to reset the current running Stage {map_stage_id} due to late come FetchPartitionError from its parent stage {stage_id} of task {task_identity}" + ); + + // If the previous other task updates had already mark the map stage success, need to remove it. + if successful_stages.contains(&map_stage_id) { + successful_stages.remove(&map_stage_id); } - Some(FailedReason::FetchPartitionError( - fetch_partiton_error, - )) if failed_stages.is_empty() - && current_running_stages.contains( - &(fetch_partiton_error.map_stage_id as usize), - ) - && !unsolved_stage - .last_attempt_failure_reasons - .contains( - &fetch_partiton_error.executor_id, - ) => - { - should_ignore = false; - unsolved_stage - .last_attempt_failure_reasons - .insert( - fetch_partiton_error.executor_id.clone(), - ); - let map_stage_id = - fetch_partiton_error.map_stage_id as usize; - let map_partition_id = fetch_partiton_error - .map_partition_id - as usize; - let executor_id = - fetch_partiton_error.executor_id; - let removed_map_partitions = unsolved_stage - .remove_input_partitions( - map_stage_id, - map_partition_id, - &executor_id, - )?; - - let missing_inputs = reset_running_stages - .entry(map_stage_id) - .or_default(); - missing_inputs.extend(removed_map_partitions); - warn!("Need to reset the current running Stage {map_stage_id} due to late come FetchPartitionError from its parent stage {stage_id} of task {task_identity}"); - - // If the previous other task updates had already mark the map stage success, need to remove it. - if successful_stages.contains(&map_stage_id) { - successful_stages.remove(&map_stage_id); - } - if resolved_stages.contains(&stage_id) { - resolved_stages.remove(&stage_id); - } + if resolved_stages.contains(&stage_id) { + resolved_stages.remove(&stage_id); } - _ => {} } + _ => {} } } if should_ignore { - warn!("Ignore TaskStatus update of task with TID {task_identity} as the Stage {job_id}/{stage_id} is in UnResolved status"); + warn!( + "Ignore TaskStatus update of task with TID {task_identity} as the Stage {job_id}/{stage_id} is in UnResolved status" + ); } } } else { @@ -568,7 +577,10 @@ impl ExecutionGraph { "Stage {}/{} is not in running when updating the status of tasks {:?}", job_id, stage_id, - stage_task_statuses.into_iter().map(|task_status| task_status.partition_id).collect::>(), + stage_task_statuses + .into_iter() + .map(|task_status| task_status.partition_id) + .collect::>(), ); } } else { @@ -605,7 +617,8 @@ impl ExecutionGraph { } } else { warn!( - "Stage {job_id}/{stage_id} is not in Successful state when try to resubmit this stage. "); + "Stage {job_id}/{stage_id} is not in Successful state when try to resubmit this stage. " + ); } } else { return Err(BallistaError::Internal(format!( @@ -628,7 +641,8 @@ impl ExecutionGraph { } } else { warn!( - "Stage {job_id}/{stage_id} is not in Running state when try to reset the running task. "); + "Stage {job_id}/{stage_id} is not in Running state when try to reset the running task. " + ); } } else { return Err(BallistaError::Internal(format!( @@ -1324,8 +1338,15 @@ impl Debug for ExecutionGraph { .map(|stage| format!("{stage:?}")) .collect::>() .join(""); - write!(f, "ExecutionGraph[job_id={}, session_id={}, available_tasks={}, is_successful={}]\n{}", - self.job_id, self.session_id, self.available_tasks(), self.is_successful(), stages) + write!( + f, + "ExecutionGraph[job_id={}, session_id={}, available_tasks={}, is_successful={}]\n{}", + self.job_id, + self.session_id, + self.available_tasks(), + self.is_successful(), + stages + ) } } @@ -1531,8 +1552,8 @@ mod test { use crate::scheduler_server::event::QueryStageSchedulerEvent; use ballista_core::error::Result; use ballista_core::serde::protobuf::{ - self, failed_task, job_status, ExecutionError, FailedTask, FetchPartitionError, - IoError, JobStatus, TaskKilled, + self, ExecutionError, FailedTask, FetchPartitionError, IoError, JobStatus, + TaskKilled, failed_task, job_status, }; use crate::state::execution_graph::ExecutionGraph; @@ -1887,7 +1908,9 @@ mod test { assert_eq!(last_attempt, 3); let failure_reason = format!("{:?}", agg_graph.status); - assert!(failure_reason.contains("Task 1 in Stage 2 failed 4 times, fail the stage, most recent failure reason")); + assert!(failure_reason.contains( + "Task 1 in Stage 2 failed 4 times, fail the stage, most recent failure reason" + )); assert!(failure_reason.contains("IOError")); assert!(!agg_graph.is_successful()); diff --git a/ballista/scheduler/src/state/execution_graph_dot.rs b/ballista/scheduler/src/state/execution_graph_dot.rs index e95a1b5a20..49ef7a0ab1 100644 --- a/ballista/scheduler/src/state/execution_graph_dot.rs +++ b/ballista/scheduler/src/state/execution_graph_dot.rs @@ -219,11 +219,11 @@ fn sanitize(str: &str, max_len: Option) -> String { } // truncate after translation because we know we only have ASCII chars at this point // so the slice is safe (not splitting unicode character bytes) - if let Some(limit) = max_len { - if sanitized.len() > limit { - sanitized.truncate(limit); - return sanitized + " ..."; - } + if let Some(limit) = max_len + && sanitized.len() > limit + { + sanitized.truncate(limit); + return sanitized + " ..."; } sanitized } diff --git a/ballista/scheduler/src/state/execution_stage.rs b/ballista/scheduler/src/state/execution_stage.rs index 57e5346717..e4324249c0 100644 --- a/ballista/scheduler/src/state/execution_stage.rs +++ b/ballista/scheduler/src/state/execution_stage.rs @@ -34,10 +34,10 @@ use log::{debug, warn}; use ballista_core::error::{BallistaError, Result}; use ballista_core::execution_plans::ShuffleWriterExec; use ballista_core::serde::protobuf::failed_task::FailedReason; -use ballista_core::serde::protobuf::{task_status, RunningTask}; use ballista_core::serde::protobuf::{ FailedTask, OperatorMetricsSet, ResultLost, SuccessfulTask, TaskStatus, }; +use ballista_core::serde::protobuf::{RunningTask, task_status}; use ballista_core::serde::scheduler::PartitionLocation; use crate::display::DisplayableBallistaExecutionPlan; @@ -302,7 +302,10 @@ impl UnresolvedStage { stage_inputs.add_partition(partition); } } else { - return Err(BallistaError::Internal(format!("Error adding input partitions to stage {}, {} is not a valid child stage ID", self.stage_id, stage_id))); + return Err(BallistaError::Internal(format!( + "Error adding input partitions to stage {}, {} is not a valid child stage ID", + self.stage_id, stage_id + ))); } Ok(()) @@ -333,7 +336,10 @@ impl UnresolvedStage { stage_output.complete = false; Ok(bad_map_partitions) } else { - Err(BallistaError::Internal(format!("Error remove input partition for Stage {}, {} is not a valid child stage ID", self.stage_id, input_stage_id))) + Err(BallistaError::Internal(format!( + "Error remove input partition for Stage {}, {} is not a valid child stage ID", + self.stage_id, input_stage_id + ))) } } @@ -623,8 +629,10 @@ impl RunningStage { let task_info = self.task_infos[partition_id].as_ref().unwrap(); let task_id = task_info.task_id; if (status.task_id as usize) < task_id { - warn!("Ignore TaskStatus update with TID {} because there is more recent task attempt with TID {} running for partition {}", - status.task_id, task_id, partition_id); + warn!( + "Ignore TaskStatus update with TID {} because there is more recent task attempt with TID {} running for partition {}", + status.task_id, task_id, partition_id + ); return false; } let scheduled_time = task_info.scheduled_time; @@ -667,8 +675,14 @@ impl RunningStage { let new_metrics_set = if let Some(combined_metrics) = &mut self.stage_metrics { if metrics.len() != combined_metrics.len() { - return Err(BallistaError::Internal(format!("Error updating task metrics to stage {}, task metrics array size {} does not equal \ - with the stage metrics array size {} for task {}", self.stage_id, metrics.len(), combined_metrics.len(), partition))); + return Err(BallistaError::Internal(format!( + "Error updating task metrics to stage {}, task metrics array size {} does not equal \ + with the stage metrics array size {} for task {}", + self.stage_id, + metrics.len(), + combined_metrics.len(), + partition + ))); } let metrics_values_array = metrics .into_iter() @@ -776,7 +790,10 @@ impl RunningStage { stage_output.complete = false; Ok(bad_map_partitions) } else { - Err(BallistaError::Internal(format!("Error remove input partition for Stage {}, {} is not a valid child stage ID", self.stage_id, input_stage_id))) + Err(BallistaError::Internal(format!( + "Error remove input partition for Stage {}, {} is not a valid child stage ID", + self.stage_id, input_stage_id + ))) } } } diff --git a/ballista/scheduler/src/state/executor_manager.rs b/ballista/scheduler/src/state/executor_manager.rs index d5f7297b16..26ffa02da2 100644 --- a/ballista/scheduler/src/state/executor_manager.rs +++ b/ballista/scheduler/src/state/executor_manager.rs @@ -30,12 +30,12 @@ use crate::state::task_manager::JobInfoCache; use ballista_core::extension::SessionConfigExt; use ballista_core::serde::protobuf::executor_grpc_client::ExecutorGrpcClient; use ballista_core::serde::protobuf::{ - executor_status, CancelTasksParams, ExecutorHeartbeat, MultiTaskDefinition, - RemoveJobDataParams, StopExecutorParams, + CancelTasksParams, ExecutorHeartbeat, MultiTaskDefinition, RemoveJobDataParams, + StopExecutorParams, executor_status, }; use ballista_core::serde::scheduler::{ExecutorData, ExecutorMetadata}; use ballista_core::utils::{ - create_grpc_client_connection, get_time_before, GrpcClientConfig, + GrpcClientConfig, create_grpc_client_connection, get_time_before, }; use dashmap::DashMap; use log::{debug, error, info, warn}; @@ -201,8 +201,8 @@ impl ExecutorManager { .await { warn!( - "Failed to call remove_job_data on Executor {executor} due to {err:?}" - ) + "Failed to call remove_job_data on Executor {executor} due to {err:?}" + ) } }); } else { @@ -248,8 +248,7 @@ impl ExecutorManager { pub async fn save_executor_metadata(&self, metadata: ExecutorMetadata) -> Result<()> { trace!( "save executor metadata {} with {} task slots (pull-based registration)", - metadata.id, - metadata.specification.task_slots + metadata.id, metadata.specification.task_slots ); self.cluster_state.save_executor_metadata(metadata).await } diff --git a/ballista/scheduler/src/state/mod.rs b/ballista/scheduler/src/state/mod.rs index 76139272f6..d6a4ceef48 100644 --- a/ballista/scheduler/src/state/mod.rs +++ b/ballista/scheduler/src/state/mod.rs @@ -40,8 +40,8 @@ use crate::config::SchedulerConfig; use crate::state::execution_graph::TaskDescription; use ballista_core::error::{BallistaError, Result}; use ballista_core::event_loop::EventSender; -use ballista_core::serde::protobuf::TaskStatus; use ballista_core::serde::BallistaCodec; +use ballista_core::serde::protobuf::TaskStatus; use datafusion::logical_expr::LogicalPlan; use datafusion::physical_plan::display::DisplayableExecutionPlan; use datafusion::physical_plan::empty::EmptyExec; @@ -197,13 +197,12 @@ impl SchedulerState SchedulerState { - if !tasks.is_empty() { - if let Err(e) = + if !tasks.is_empty() + && let Err(e) = self.executor_manager.cancel_running_tasks(tasks).await - { - warn!("Fail to cancel running tasks due to {e:?}"); - } + { + warn!("Fail to cancel running tasks due to {e:?}"); } } Err(e) => { @@ -308,7 +306,9 @@ impl SchedulerState { - error!("Failed to launch new task, could not get executor metadata: {e}"); + error!( + "Failed to launch new task, could not get executor metadata: {e}" + ); false } }; diff --git a/ballista/scheduler/src/state/session_manager.rs b/ballista/scheduler/src/state/session_manager.rs index 7538aff692..eefa9e3505 100644 --- a/ballista/scheduler/src/state/session_manager.rs +++ b/ballista/scheduler/src/state/session_manager.rs @@ -61,7 +61,9 @@ pub fn create_datafusion_context( // should we disable catalog on the scheduler side .with_round_robin_repartition(false); - log::warn!("session manager will override `datafusion.optimizer.enable_round_robin_repartition` to `false` "); + log::warn!( + "session manager will override `datafusion.optimizer.enable_round_robin_repartition` to `false` " + ); session_builder(session_config)? } else { session_builder(session_config.clone())? diff --git a/ballista/scheduler/src/state/task_manager.rs b/ballista/scheduler/src/state/task_manager.rs index e49c7b51de..66376a7f7f 100644 --- a/ballista/scheduler/src/state/task_manager.rs +++ b/ballista/scheduler/src/state/task_manager.rs @@ -30,11 +30,11 @@ use datafusion::prelude::SessionConfig; use rand::distr::Alphanumeric; use crate::cluster::JobState; +use ballista_core::serde::BallistaCodec; use ballista_core::serde::protobuf::{ - job_status, JobStatus, MultiTaskDefinition, TaskDefinition, TaskId, TaskStatus, + JobStatus, MultiTaskDefinition, TaskDefinition, TaskId, TaskStatus, job_status, }; use ballista_core::serde::scheduler::ExecutorMetadata; -use ballista_core::serde::BallistaCodec; use dashmap::DashMap; use datafusion::physical_plan::ExecutionPlan; @@ -42,7 +42,7 @@ use datafusion_proto::logical_plan::AsLogicalPlan; use datafusion_proto::physical_plan::{AsExecutionPlan, PhysicalExtensionCodec}; use datafusion_proto::protobuf::PhysicalPlanNode; use log::{debug, error, info, trace, warn}; -use rand::{rng, Rng}; +use rand::{Rng, rng}; use std::collections::{HashMap, HashSet}; use std::ops::Deref; use std::sync::Arc; @@ -364,7 +364,9 @@ impl TaskManager )? } else { // TODO Deal with curator changed case - error!("Fail to find job {job_id} in the active cache and it may not be curated by this scheduler"); + error!( + "Fail to find job {job_id} in the active cache and it may not be curated by this scheduler" + ); vec![] }; @@ -431,7 +433,9 @@ impl TaskManager (running_tasks, pending_tasks) } else { // TODO listen the job state update event and fix task cancelling - warn!("Fail to find job {job_id} in the cache, unable to cancel tasks for job, fail the job state only."); + warn!( + "Fail to find job {job_id} in the cache, unable to cancel tasks for job, fail the job state only." + ); (vec![], 0) }; @@ -587,7 +591,9 @@ impl TaskManager .iter() .map(|task| task.partition.partition_id) .collect(); - debug!("Preparing multi task definition for tasks {task_ids:?} belonging to job stage {job_id}/{stage_id}"); + debug!( + "Preparing multi task definition for tasks {task_ids:?} belonging to job stage {job_id}/{stage_id}" + ); trace!("With task details {tasks:?}"); } @@ -626,7 +632,9 @@ impl TaskManager Ok(multi_tasks) } else { - Err(BallistaError::General(format!("Cannot prepare multi task definition for job {job_id} which is not in active cache"))) + Err(BallistaError::General(format!( + "Cannot prepare multi task definition for job {job_id} which is not in active cache" + ))) } } else { Err(BallistaError::General( @@ -669,7 +677,9 @@ impl TaskManager /// Clean up a failed job in FailedJobs Keyspace by delayed clean_up_interval seconds pub(crate) fn clean_up_job_delayed(&self, job_id: String, clean_up_interval: u64) { if clean_up_interval == 0 { - info!("The interval is 0 and the clean up for the failed job state {job_id} will not triggered"); + info!( + "The interval is 0 and the clean up for the failed job state {job_id} will not triggered" + ); return; } diff --git a/ballista/scheduler/src/test_utils.rs b/ballista/scheduler/src/test_utils.rs index 5014a7e583..e30ec4d1d4 100644 --- a/ballista/scheduler/src/test_utils.rs +++ b/ballista/scheduler/src/test_utils.rs @@ -29,29 +29,29 @@ use async_trait::async_trait; use crate::config::SchedulerConfig; use crate::metrics::SchedulerMetricsCollector; use crate::planner::DefaultDistributedPlanner; -use crate::scheduler_server::{timestamp_millis, SchedulerServer}; +use crate::scheduler_server::{SchedulerServer, timestamp_millis}; use crate::state::executor_manager::ExecutorManager; use crate::state::task_manager::TaskLauncher; use ballista_core::serde::protobuf::job_status::Status; use ballista_core::serde::protobuf::{ - task_status, FailedTask, JobStatus, MultiTaskDefinition, ShuffleWritePartition, - SuccessfulTask, TaskId, TaskStatus, + FailedTask, JobStatus, MultiTaskDefinition, ShuffleWritePartition, SuccessfulTask, + TaskId, TaskStatus, task_status, }; use ballista_core::serde::scheduler::{ ExecutorData, ExecutorMetadata, ExecutorSpecification, }; -use ballista_core::serde::{protobuf, BallistaCodec}; +use ballista_core::serde::{BallistaCodec, protobuf}; use datafusion::arrow::datatypes::{DataType, Field, Schema, SchemaRef}; use datafusion::common::DataFusionError; use datafusion::datasource::{TableProvider, TableType}; use datafusion::execution::context::{SessionConfig, SessionContext}; use datafusion::functions_aggregate::{count::count, sum::sum}; use datafusion::logical_expr::{Expr, LogicalPlan, SortExpr}; -use datafusion::physical_plan::display::DisplayableExecutionPlan; use datafusion::physical_plan::ExecutionPlan; -use datafusion::prelude::{col, CsvReadOptions, JoinType}; +use datafusion::physical_plan::display::DisplayableExecutionPlan; +use datafusion::prelude::{CsvReadOptions, JoinType, col}; use datafusion::test_util::scan_empty_with_partitions; use crate::cluster::BallistaCluster; @@ -61,7 +61,7 @@ use crate::state::execution_graph::{ExecutionGraph, ExecutionStage, TaskDescript use ballista_core::utils::{default_config_producer, default_session_builder}; use datafusion_proto::protobuf::{LogicalPlanNode, PhysicalPlanNode}; use parking_lot::Mutex; -use tokio::sync::mpsc::{channel, Receiver, Sender}; +use tokio::sync::mpsc::{Receiver, Sender, channel}; pub const TPCH_TABLES: &[&str] = &[ "part", "supplier", "partsupp", "customer", "orders", "lineitem", "nation", "region", @@ -552,7 +552,7 @@ impl SchedulerTest { { match inner { Status::Failed(_) | Status::Successful(_) => { - break Ok(status.unwrap()) + break Ok(status.unwrap()); } _ => { if time >= timeout_ms { @@ -587,7 +587,7 @@ impl SchedulerTest { { match inner { Status::Failed(_) | Status::Successful(_) => { - break Ok(status.unwrap()) + break Ok(status.unwrap()); } _ => continue, } @@ -641,7 +641,7 @@ impl SchedulerTest { { match inner { Status::Failed(_) | Status::Successful(_) => { - break Ok(status.unwrap()) + break Ok(status.unwrap()); } _ => continue, } diff --git a/benchmarks/Cargo.toml b/benchmarks/Cargo.toml index 9dbf46901d..ee6502aa11 100644 --- a/benchmarks/Cargo.toml +++ b/benchmarks/Cargo.toml @@ -19,7 +19,7 @@ name = "ballista-benchmarks" description = "Ballista Benchmarks" version = "50.0.0" -edition = "2021" +edition = "2024" authors = ["Apache DataFusion "] homepage = "https://datafusion.apache.org/ballista/" repository = "https://github.com/apache/datafusion-ballista" diff --git a/benchmarks/src/bin/tpch.rs b/benchmarks/src/bin/tpch.rs index 86a4187e87..d1401a6589 100644 --- a/benchmarks/src/bin/tpch.rs +++ b/benchmarks/src/bin/tpch.rs @@ -26,19 +26,19 @@ use datafusion::common::{DEFAULT_CSV_EXTENSION, DEFAULT_PARQUET_EXTENSION}; use datafusion::datasource::listing::ListingTableUrl; use datafusion::datasource::{MemTable, TableProvider}; use datafusion::error::{DataFusionError, Result}; -use datafusion::execution::context::SessionState; use datafusion::execution::SessionStateBuilder; +use datafusion::execution::context::SessionState; use datafusion::logical_expr::LogicalPlan; -use datafusion::logical_expr::{expr::Cast, Expr}; +use datafusion::logical_expr::{Expr, expr::Cast}; use datafusion::parquet::basic::Compression; use datafusion::parquet::file::properties::WriterProperties; use datafusion::physical_plan::display::DisplayableExecutionPlan; use datafusion::physical_plan::{collect, displayable}; use datafusion::prelude::*; use datafusion::{ - arrow::datatypes::{DataType, Field, Schema}, - datasource::file_format::{csv::CsvFormat, FileFormat}, DATAFUSION_VERSION, + arrow::datatypes::{DataType, Field, Schema}, + datasource::file_format::{FileFormat, csv::CsvFormat}, }; use datafusion::{ arrow::record_batch::RecordBatch, datasource::file_format::parquet::ParquetFormat, @@ -609,7 +609,7 @@ async fn register_tables( other => { return Err(DataFusionError::Plan(format!( "Invalid file format '{other}'" - ))) + ))); } } } @@ -646,7 +646,7 @@ fn get_query_sql(query: usize) -> Result> { .map(|s| s.trim()) .filter(|s| !s.is_empty()) .map(|s| s.to_string()) - .collect()) + .collect()); } Err(e) => errors.push(format!("{filename}: {e}")), }; @@ -771,7 +771,7 @@ async fn convert_tbl(opt: ConvertOpt) -> Result<()> { other => { return Err(DataFusionError::NotImplemented(format!( "Invalid compression format: {other}" - ))) + ))); } }; let props = WriterProperties::builder() @@ -782,7 +782,7 @@ async fn convert_tbl(opt: ConvertOpt) -> Result<()> { other => { return Err(DataFusionError::NotImplemented(format!( "Invalid output format: {other}" - ))) + ))); } } println!("Conversion completed in {} ms", start.elapsed().as_millis()); diff --git a/dev/msrvcheck/Cargo.toml b/dev/msrvcheck/Cargo.toml index 9ab2e388e8..a7955f06e6 100644 --- a/dev/msrvcheck/Cargo.toml +++ b/dev/msrvcheck/Cargo.toml @@ -18,7 +18,7 @@ # MSRV checker for upstream DataFusion [package] name = "msrvcheck" -edition = "2021" +edition = "2024" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/dev/msrvcheck/src/main.rs b/dev/msrvcheck/src/main.rs index 1773a7c905..b468785263 100644 --- a/dev/msrvcheck/src/main.rs +++ b/dev/msrvcheck/src/main.rs @@ -27,45 +27,49 @@ fn main() -> CargoResult<()> { let gctx = GlobalContext::default()?; // This is the path for the depcheck binary let path = env::var("CARGO_MANIFEST_DIR").unwrap(); - let root_cargo_toml = Path::new(&path) + let root_folder = Path::new(&path) // dev directory .parent() .expect("Can not find dev directory") // project root directory .parent() - .expect("Can not find project root directory") - .join("Cargo.toml"); + .expect("Can not find project root directory"); - println!( - "Checking for MSRV dependencies in {}", - root_cargo_toml.display() - ); + let rust_folder = root_folder.join("Cargo.toml"); + let python_folder = root_folder.join("python").join("Cargo.toml"); - let workspace = cargo::core::Workspace::new(&root_cargo_toml, &gctx)?; - let project_msrv = workspace.lowest_rust_version().unwrap(); // there should be a MSRV project wise + for root_cargo_toml in [rust_folder, python_folder] { + println!( + "Checking for MSRV dependencies in {}", + root_cargo_toml.display() + ); - let (_, resolve) = cargo::ops::resolve_ws(&workspace, false)?; - let packages_with_rust_version: Vec<_> = resolve - .iter() - .filter(|id| id.name().starts_with("datafusion")) - .map(|e| resolve.summary(e)) - .map(|e| (e.name(), e.rust_version())) - .collect(); + let workspace = cargo::core::Workspace::new(&root_cargo_toml, &gctx)?; + let project_msrv = workspace.lowest_rust_version().unwrap(); // there should be a MSRV project wise - println!("Current project MSRV: {}", project_msrv); + let (_, resolve) = cargo::ops::resolve_ws(&workspace, false)?; + let packages_with_rust_version: Vec<_> = resolve + .iter() + .filter(|id| id.name().starts_with("datafusion")) + .map(|e| resolve.summary(e)) + .map(|e| (e.name(), e.rust_version())) + .collect(); - for (package, version) in packages_with_rust_version { - if let Some(v) = version { - if !v.is_compatible_with(project_msrv.as_partial()) { - panic!( - "package '{package}' has MSRV {v} not compatible with current project MSRV {project_msrv}", - ); - } + println!("Current project MSRV: {}", project_msrv); + + for (package, version) in packages_with_rust_version { + if let Some(v) = version { + if !project_msrv.is_compatible_with(v.as_partial()) { + panic!( + "package '{package}' has MSRV {v} not compatible with current project MSRV {project_msrv}", + ); + } - println!("{package} MSRV: {v}"); + println!("{package} MSRV: {v}"); + } } - } - println!("No inconsistent MSRV found"); + println!("No inconsistent MSRV found"); + } Ok(()) } diff --git a/examples/examples/custom-executor.rs b/examples/examples/custom-executor.rs index 6e0e6c6946..1f07bd76eb 100644 --- a/examples/examples/custom-executor.rs +++ b/examples/examples/custom-executor.rs @@ -20,7 +20,7 @@ use ballista_core::object_store::{ }; use ballista_executor::executor_process::{ - start_executor_process, ExecutorProcessConfig, + ExecutorProcessConfig, start_executor_process, }; use std::sync::Arc; /// diff --git a/examples/examples/remote-dataframe.rs b/examples/examples/remote-dataframe.rs index 53fb4adf2e..2837f0a8fc 100644 --- a/examples/examples/remote-dataframe.rs +++ b/examples/examples/remote-dataframe.rs @@ -20,7 +20,7 @@ use ballista_examples::test_util; use datafusion::{ common::Result, execution::SessionStateBuilder, - prelude::{col, lit, ParquetReadOptions, SessionConfig, SessionContext}, + prelude::{ParquetReadOptions, SessionConfig, SessionContext, col, lit}, }; /// This example demonstrates executing a simple query against an Arrow data source (Parquet) and diff --git a/examples/examples/standalone-sql.rs b/examples/examples/standalone-sql.rs index 6c957668c2..53cdf208a4 100644 --- a/examples/examples/standalone-sql.rs +++ b/examples/examples/standalone-sql.rs @@ -17,7 +17,7 @@ use ballista::datafusion::{ common::Result, - execution::{options::ParquetReadOptions, SessionStateBuilder}, + execution::{SessionStateBuilder, options::ParquetReadOptions}, prelude::{SessionConfig, SessionContext}, }; use ballista::prelude::{SessionConfigExt, SessionContextExt}; diff --git a/examples/tests/common/mod.rs b/examples/tests/common/mod.rs index e9aabb5897..2c2f65ca21 100644 --- a/examples/tests/common/mod.rs +++ b/examples/tests/common/mod.rs @@ -17,7 +17,7 @@ use ballista::prelude::SessionConfigExt; use ballista_core::serde::{ - protobuf::scheduler_grpc_client::SchedulerGrpcClient, BallistaCodec, + BallistaCodec, protobuf::scheduler_grpc_client::SchedulerGrpcClient, }; use ballista_core::{ConfigProducer, RuntimeProducer}; use ballista_scheduler::SessionBuilder; @@ -25,8 +25,8 @@ use datafusion::execution::SessionState; use datafusion::prelude::SessionConfig; use object_store::aws::AmazonS3Builder; use testcontainers_modules::minio::MinIO; -use testcontainers_modules::testcontainers::core::{CmdWaitFor, ExecCommand}; use testcontainers_modules::testcontainers::ContainerRequest; +use testcontainers_modules::testcontainers::core::{CmdWaitFor, ExecCommand}; use testcontainers_modules::{minio, testcontainers::ImageExt}; pub const REGION: &str = "eu-west-1"; diff --git a/examples/tests/object_store.rs b/examples/tests/object_store.rs index b45a08eefa..b79712ea9b 100644 --- a/examples/tests/object_store.rs +++ b/examples/tests/object_store.rs @@ -221,11 +221,11 @@ mod custom_s3_config { use crate::common::{ACCESS_KEY_ID, SECRET_KEY}; use ballista::extension::SessionContextExt; use ballista::prelude::SessionConfigExt; - use ballista_core::object_store::{CustomObjectStoreRegistry, S3Options}; use ballista_core::RuntimeProducer; + use ballista_core::object_store::{CustomObjectStoreRegistry, S3Options}; use ballista_examples::test_util::examples_test_data; - use datafusion::execution::runtime_env::RuntimeEnvBuilder; use datafusion::execution::SessionState; + use datafusion::execution::runtime_env::RuntimeEnvBuilder; use datafusion::prelude::SessionConfig; use datafusion::{assert_batches_eq, prelude::SessionContext}; use datafusion::{error::DataFusionError, execution::SessionStateBuilder}; @@ -233,8 +233,8 @@ mod custom_s3_config { use testcontainers_modules::testcontainers::runners::AsyncRunner; #[tokio::test] - async fn should_configure_s3_execute_sql_write_remote( - ) -> datafusion::error::Result<()> { + async fn should_configure_s3_execute_sql_write_remote() + -> datafusion::error::Result<()> { let test_data = examples_test_data(); // @@ -378,8 +378,8 @@ mod custom_s3_config { // SessionConfig propagation across ballista cluster. #[tokio::test] - async fn should_configure_s3_execute_sql_write_standalone( - ) -> datafusion::error::Result<()> { + async fn should_configure_s3_execute_sql_write_standalone() + -> datafusion::error::Result<()> { let test_data = examples_test_data(); // diff --git a/python/Cargo.lock b/python/Cargo.lock index b1c1c4eb22..2094c5780c 100644 --- a/python/Cargo.lock +++ b/python/Cargo.lock @@ -14,7 +14,7 @@ dependencies = [ "core_extensions", "crossbeam-channel", "generational-arena", - "libloading 0.7.4", + "libloading", "lock_api", "parking_lot", "paste", @@ -52,35 +52,29 @@ dependencies = [ [[package]] name = "adler2" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" - -[[package]] -name = "adler32" -version = "1.2.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "ahash" -version = "0.8.11" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ "cfg-if", "const-random", - "getrandom 0.2.15", + "getrandom 0.3.4", "once_cell", "version_check", - "zerocopy 0.7.35", + "zerocopy", ] [[package]] name = "aho-corasick" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" dependencies = [ "memchr", ] @@ -106,12 +100,6 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - [[package]] name = "android_system_properties" version = "0.1.5" @@ -123,9 +111,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.18" +version = "0.6.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" +checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" dependencies = [ "anstyle", "anstyle-parse", @@ -138,79 +126,91 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.10" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" +checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" [[package]] name = "anstyle-parse" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" +checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.2" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" +checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] name = "anstyle-wincon" -version = "3.0.7" +version = "3.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" +checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" dependencies = [ "anstyle", - "once_cell", - "windows-sys 0.59.0", + "once_cell_polyfill", + "windows-sys 0.61.2", ] [[package]] name = "anyhow" -version = "1.0.95" +version = "1.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" +checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" [[package]] name = "apache-avro" -version = "0.17.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aef82843a0ec9f8b19567445ad2421ceeb1d711514384bdd3d49fe37102ee13" +checksum = "3a033b4ced7c585199fb78ef50fca7fe2f444369ec48080c5fd072efa1a03cc7" dependencies = [ "bigdecimal", - "bzip2 0.4.4", + "bon", + "bzip2 0.6.1", "crc32fast", "digest", - "libflate", "log", + "miniz_oxide", "num-bigint", "quad-rand", - "rand 0.8.5", + "rand", "regex-lite", "serde", "serde_bytes", "serde_json", "snap", - "strum", - "strum_macros", - "thiserror 1.0.69", - "typed-builder", + "strum 0.27.2", + "strum_macros 0.27.2", + "thiserror", "uuid", "xz2", "zstd", ] +[[package]] +name = "ar_archive_writer" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0c269894b6fe5e9d7ada0cf69b5bf847ff35bc25fc271f08e1d080fce80339a" +dependencies = [ + "object", +] + [[package]] name = "arc-swap" -version = "1.7.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" +checksum = "51d03449bb8ca2cc2ef70869af31463d1ae5ccc8fa3e334b307203fbf815207e" +dependencies = [ + "rustversion", +] [[package]] name = "arrayref" @@ -226,9 +226,9 @@ checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "arrow" -version = "55.2.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3f15b4c6b148206ff3a2b35002e08929c2462467b62b9c02036d9c34f9ef994" +checksum = "6e833808ff2d94ed40d9379848a950d995043c7fb3e81a30b383f4c6033821cc" dependencies = [ "arrow-arith", "arrow-array", @@ -248,9 +248,9 @@ dependencies = [ [[package]] name = "arrow-arith" -version = "55.2.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30feb679425110209ae35c3fbf82404a39a4c0436bb3ec36164d8bffed2a4ce4" +checksum = "ad08897b81588f60ba983e3ca39bda2b179bdd84dced378e7df81a5313802ef8" dependencies = [ "arrow-array", "arrow-buffer", @@ -262,9 +262,9 @@ dependencies = [ [[package]] name = "arrow-array" -version = "55.2.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70732f04d285d49054a48b72c54f791bb3424abae92d27aafdf776c98af161c8" +checksum = "8548ca7c070d8db9ce7aa43f37393e4bfcf3f2d3681df278490772fd1673d08d" dependencies = [ "ahash", "arrow-buffer", @@ -273,15 +273,15 @@ dependencies = [ "chrono", "chrono-tz", "half", - "hashbrown 0.15.2", + "hashbrown 0.16.1", "num", ] [[package]] name = "arrow-buffer" -version = "55.2.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "169b1d5d6cb390dd92ce582b06b23815c7953e9dfaaea75556e89d890d19993d" +checksum = "e003216336f70446457e280807a73899dd822feaf02087d31febca1363e2fccc" dependencies = [ "bytes", "half", @@ -290,9 +290,9 @@ dependencies = [ [[package]] name = "arrow-cast" -version = "55.2.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4f12eccc3e1c05a766cafb31f6a60a46c2f8efec9b74c6e0648766d30686af8" +checksum = "919418a0681298d3a77d1a315f625916cb5678ad0d74b9c60108eb15fd083023" dependencies = [ "arrow-array", "arrow-buffer", @@ -311,9 +311,9 @@ dependencies = [ [[package]] name = "arrow-csv" -version = "55.2.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "012c9fef3f4a11573b2c74aec53712ff9fdae4a95f4ce452d1bbf088ee00f06b" +checksum = "bfa9bf02705b5cf762b6f764c65f04ae9082c7cfc4e96e0c33548ee3f67012eb" dependencies = [ "arrow-array", "arrow-cast", @@ -326,9 +326,9 @@ dependencies = [ [[package]] name = "arrow-data" -version = "55.2.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de1ce212d803199684b658fc4ba55fb2d7e87b213de5af415308d2fee3619c2" +checksum = "a5c64fff1d142f833d78897a772f2e5b55b36cb3e6320376f0961ab0db7bd6d0" dependencies = [ "arrow-buffer", "arrow-schema", @@ -338,9 +338,9 @@ dependencies = [ [[package]] name = "arrow-flight" -version = "55.2.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cb3e1d2b441e6d1d5988e3f7c4523c9466b18ef77d7c525d92d36d4cad49fbe" +checksum = "8c8b0ba0784d56bc6266b79f5de7a24b47024e7b3a0045d2ad4df3d9b686099f" dependencies = [ "arrow-arith", "arrow-array", @@ -365,14 +365,15 @@ dependencies = [ [[package]] name = "arrow-ipc" -version = "55.2.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9ea5967e8b2af39aff5d9de2197df16e305f47f404781d3230b2dc672da5d92" +checksum = "1d3594dcddccc7f20fd069bc8e9828ce37220372680ff638c5e00dea427d88f5" dependencies = [ "arrow-array", "arrow-buffer", "arrow-data", "arrow-schema", + "arrow-select", "flatbuffers", "lz4_flex", "zstd", @@ -380,9 +381,9 @@ dependencies = [ [[package]] name = "arrow-json" -version = "55.2.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5709d974c4ea5be96d900c01576c7c0b99705f4a3eec343648cb1ca863988a9c" +checksum = "88cf36502b64a127dc659e3b305f1d993a544eab0d48cce704424e62074dc04b" dependencies = [ "arrow-array", "arrow-buffer", @@ -391,7 +392,7 @@ dependencies = [ "arrow-schema", "chrono", "half", - "indexmap 2.10.0", + "indexmap", "lexical-core", "memchr", "num", @@ -402,9 +403,9 @@ dependencies = [ [[package]] name = "arrow-ord" -version = "55.2.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6506e3a059e3be23023f587f79c82ef0bcf6d293587e3272d20f2d30b969b5a7" +checksum = "3c8f82583eb4f8d84d4ee55fd1cb306720cddead7596edce95b50ee418edf66f" dependencies = [ "arrow-array", "arrow-buffer", @@ -415,9 +416,9 @@ dependencies = [ [[package]] name = "arrow-pyarrow" -version = "55.2.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e55ecf16b9b61d433f6e63c72fc6afcf2597d7db96583de88ebb887d1822268" +checksum = "7d924b32e96f8bb74d94cd82bd97b313c432fcb0ea331689ef9e7c6b8be4b258" dependencies = [ "arrow-array", "arrow-data", @@ -427,9 +428,9 @@ dependencies = [ [[package]] name = "arrow-row" -version = "55.2.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52bf7393166beaf79b4bed9bfdf19e97472af32ce5b6b48169d321518a08cae2" +checksum = "9d07ba24522229d9085031df6b94605e0f4b26e099fb7cdeec37abd941a73753" dependencies = [ "arrow-array", "arrow-buffer", @@ -440,9 +441,9 @@ dependencies = [ [[package]] name = "arrow-schema" -version = "55.2.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af7686986a3bf2254c9fb130c623cdcb2f8e1f15763e7c71c310f0834da3d292" +checksum = "b3aa9e59c611ebc291c28582077ef25c97f1975383f1479b12f3b9ffee2ffabe" dependencies = [ "bitflags", "serde", @@ -451,9 +452,9 @@ dependencies = [ [[package]] name = "arrow-select" -version = "55.2.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd2b45757d6a2373faa3352d02ff5b54b098f5e21dccebc45a21806bc34501e5" +checksum = "8c41dbbd1e97bfcaee4fcb30e29105fb2c75e4d82ae4de70b792a5d3f66b2e7a" dependencies = [ "ahash", "arrow-array", @@ -465,9 +466,9 @@ dependencies = [ [[package]] name = "arrow-string" -version = "55.2.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0377d532850babb4d927a06294314b316e23311503ed580ec6ce6a0158f49d40" +checksum = "53f5183c150fbc619eede22b861ea7c0eebed8eaac0333eaa7f6da5205fd504d" dependencies = [ "arrow-array", "arrow-buffer", @@ -518,28 +519,6 @@ dependencies = [ "abi_stable", ] -[[package]] -name = "async-stream" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" -dependencies = [ - "async-stream-impl", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-stream-impl" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.104", -] - [[package]] name = "async-trait" version = "0.1.89" @@ -548,7 +527,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.112", ] [[package]] @@ -568,15 +547,15 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "autocfg" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "aws-config" -version = "1.8.1" +version = "1.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c18d005c70d2b9c0c1ea8876c039db0ec7fb71164d25c73ccea21bf41fd02171" +checksum = "96571e6996817bf3d58f6b569e4b9fd2e9d2fcf9f7424eed07b2ce9bb87535e5" dependencies = [ "aws-credential-types", "aws-runtime", @@ -593,7 +572,7 @@ dependencies = [ "bytes", "fastrand", "hex", - "http 1.2.0", + "http 1.4.0", "ring", "time", "tokio", @@ -604,9 +583,9 @@ dependencies = [ [[package]] name = "aws-credential-types" -version = "1.2.3" +version = "1.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "687bc16bc431a8533fe0097c7f0182874767f920989d7260950172ae8e3c4465" +checksum = "3cd362783681b15d136480ad555a099e82ecd8e2d10a841e14dfd0078d67fee3" dependencies = [ "aws-smithy-async", "aws-smithy-runtime-api", @@ -616,9 +595,9 @@ dependencies = [ [[package]] name = "aws-lc-rs" -version = "1.13.1" +version = "1.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fcc8f365936c834db5514fc45aee5b1202d677e6b40e48468aaaa8183ca8c7" +checksum = "6a88aab2464f1f25453baa7a07c84c5b7684e274054ba06817f382357f77a288" dependencies = [ "aws-lc-sys", "zeroize", @@ -626,11 +605,10 @@ dependencies = [ [[package]] name = "aws-lc-sys" -version = "0.29.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61b1d86e7705efe1be1b569bab41d4fa1e14e220b60a160f78de2db687add079" +checksum = "b45afffdee1e7c9126814751f88dddc747f41d91da16c9551a0f1e8a11e788a1" dependencies = [ - "bindgen", "cc", "cmake", "dunce", @@ -639,9 +617,9 @@ dependencies = [ [[package]] name = "aws-runtime" -version = "1.5.8" +version = "1.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f6c68419d8ba16d9a7463671593c54f81ba58cab466e9b759418da606dcc2e2" +checksum = "d81b5b2898f6798ad58f484856768bca817e3cd9de0974c24ae0f1113fe88f1b" dependencies = [ "aws-credential-types", "aws-sigv4", @@ -663,9 +641,9 @@ dependencies = [ [[package]] name = "aws-sdk-sso" -version = "1.74.0" +version = "1.91.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a69de9c1b9272da2872af60c7402683e7f45c06267735b4332deacb203239b" +checksum = "8ee6402a36f27b52fe67661c6732d684b2635152b676aa2babbfb5204f99115d" dependencies = [ "aws-credential-types", "aws-runtime", @@ -685,9 +663,9 @@ dependencies = [ [[package]] name = "aws-sdk-ssooidc" -version = "1.75.0" +version = "1.93.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0b161d836fac72bdd5ac1a4cd1cdc38ab888c7af26cfd95f661be4409505e63" +checksum = "a45a7f750bbd170ee3677671ad782d90b894548f4e4ae168302c57ec9de5cb3e" dependencies = [ "aws-credential-types", "aws-runtime", @@ -707,9 +685,9 @@ dependencies = [ [[package]] name = "aws-sdk-sts" -version = "1.76.0" +version = "1.95.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb1cd79a3412751a341a28e2cd0d6fa4345241976da427b075a0c0cd5409f886" +checksum = "55542378e419558e6b1f398ca70adb0b2088077e79ad9f14eb09441f2f7b2164" dependencies = [ "aws-credential-types", "aws-runtime", @@ -730,9 +708,9 @@ dependencies = [ [[package]] name = "aws-sigv4" -version = "1.3.3" +version = "1.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddfb9021f581b71870a17eac25b52335b82211cdc092e02b6876b2bcefa61666" +checksum = "69e523e1c4e8e7e8ff219d732988e22bfeae8a1cafdbe6d9eca1546fa080be7c" dependencies = [ "aws-credential-types", "aws-smithy-http", @@ -743,7 +721,7 @@ dependencies = [ "hex", "hmac", "http 0.2.12", - "http 1.2.0", + "http 1.4.0", "percent-encoding", "sha2", "time", @@ -752,9 +730,9 @@ dependencies = [ [[package]] name = "aws-smithy-async" -version = "1.2.5" +version = "1.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e190749ea56f8c42bf15dd76c65e14f8f765233e6df9b0506d9d934ebef867c" +checksum = "9ee19095c7c4dda59f1697d028ce704c24b2d33c6718790c7f1d5a3015b4107c" dependencies = [ "futures-util", "pin-project-lite", @@ -763,17 +741,18 @@ dependencies = [ [[package]] name = "aws-smithy-http" -version = "0.62.1" +version = "0.62.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99335bec6cdc50a346fda1437f9fefe33abf8c99060739a546a16457f2862ca9" +checksum = "826141069295752372f8203c17f28e30c464d22899a43a0c9fd9c458d469c88b" dependencies = [ "aws-smithy-runtime-api", "aws-smithy-types", "bytes", "bytes-utils", "futures-core", + "futures-util", "http 0.2.12", - "http 1.2.0", + "http 1.4.0", "http-body 0.4.6", "percent-encoding", "pin-project-lite", @@ -783,15 +762,15 @@ dependencies = [ [[package]] name = "aws-smithy-http-client" -version = "1.0.6" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f108f1ca850f3feef3009bdcc977be201bca9a91058864d9de0684e64514bee0" +checksum = "59e62db736db19c488966c8d787f52e6270be565727236fd5579eaa301e7bc4a" dependencies = [ "aws-smithy-async", "aws-smithy-runtime-api", "aws-smithy-types", "h2", - "http 1.2.0", + "http 1.4.0", "hyper", "hyper-rustls", "hyper-util", @@ -800,33 +779,34 @@ dependencies = [ "rustls-native-certs", "rustls-pki-types", "tokio", - "tower 0.5.2", + "tokio-rustls", + "tower", "tracing", ] [[package]] name = "aws-smithy-json" -version = "0.61.4" +version = "0.61.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a16e040799d29c17412943bdbf488fd75db04112d0c0d4b9290bacf5ae0014b9" +checksum = "49fa1213db31ac95288d981476f78d05d9cbb0353d22cdf3472cc05bb02f6551" dependencies = [ "aws-smithy-types", ] [[package]] name = "aws-smithy-observability" -version = "0.1.3" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9364d5989ac4dd918e5cc4c4bdcc61c9be17dcd2586ea7f69e348fc7c6cab393" +checksum = "17f616c3f2260612fe44cede278bafa18e73e6479c4e393e2c4518cf2a9a228a" dependencies = [ "aws-smithy-runtime-api", ] [[package]] name = "aws-smithy-query" -version = "0.60.7" +version = "0.60.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2fbd61ceb3fe8a1cb7352e42689cec5335833cd9f94103a61e98f9bb61c64bb" +checksum = "ae5d689cf437eae90460e944a58b5668530d433b4ff85789e69d2f2a556e057d" dependencies = [ "aws-smithy-types", "urlencoding", @@ -834,9 +814,9 @@ dependencies = [ [[package]] name = "aws-smithy-runtime" -version = "1.8.4" +version = "1.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3aaec682eb189e43c8a19c3dab2fe54590ad5f2cc2d26ab27608a20f2acf81c" +checksum = "a392db6c583ea4a912538afb86b7be7c5d8887d91604f50eb55c262ee1b4a5f5" dependencies = [ "aws-smithy-async", "aws-smithy-http", @@ -847,7 +827,7 @@ dependencies = [ "bytes", "fastrand", "http 0.2.12", - "http 1.2.0", + "http 1.4.0", "http-body 0.4.6", "http-body 1.0.1", "pin-project-lite", @@ -858,15 +838,15 @@ dependencies = [ [[package]] name = "aws-smithy-runtime-api" -version = "1.8.3" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9852b9226cb60b78ce9369022c0df678af1cac231c882d5da97a0c4e03be6e67" +checksum = "ab0d43d899f9e508300e587bf582ba54c27a452dd0a9ea294690669138ae14a2" dependencies = [ "aws-smithy-async", "aws-smithy-types", "bytes", "http 0.2.12", - "http 1.2.0", + "http 1.4.0", "pin-project-lite", "tokio", "tracing", @@ -875,15 +855,15 @@ dependencies = [ [[package]] name = "aws-smithy-types" -version = "1.3.2" +version = "1.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d498595448e43de7f4296b7b7a18a8a02c61ec9349128c80a368f7c3b4ab11a8" +checksum = "905cb13a9895626d49cf2ced759b062d913834c7482c38e49557eac4e6193f01" dependencies = [ "base64-simd", "bytes", "bytes-utils", "http 0.2.12", - "http 1.2.0", + "http 1.4.0", "http-body 0.4.6", "http-body 1.0.1", "http-body-util", @@ -898,18 +878,18 @@ dependencies = [ [[package]] name = "aws-smithy-xml" -version = "0.60.10" +version = "0.60.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3db87b96cb1b16c024980f133968d52882ca0daaee3a086c6decc500f6c99728" +checksum = "11b2f670422ff42bf7065031e72b45bc52a3508bd089f743ea90731ca2b6ea57" dependencies = [ "xmlparser", ] [[package]] name = "aws-types" -version = "1.3.7" +version = "1.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a322fec39e4df22777ed3ad8ea868ac2f94cd15e1a55f6ee8d8d6305057689a" +checksum = "1d980627d2dd7bfc32a3c025685a033eeab8d365cc840c631ef59d1b8f428164" dependencies = [ "aws-credential-types", "aws-smithy-async", @@ -921,15 +901,15 @@ dependencies = [ [[package]] name = "axum" -version = "0.7.9" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" +checksum = "8b52af3cb4058c895d37317bb27508dccc8e5f2d39454016b297bf4a400597b8" dependencies = [ - "async-trait", "axum-core", "bytes", + "form_urlencoded", "futures-util", - "http 1.2.0", + "http 1.4.0", "http-body 1.0.1", "http-body-util", "hyper", @@ -940,14 +920,13 @@ dependencies = [ "mime", "percent-encoding", "pin-project-lite", - "rustversion", - "serde", + "serde_core", "serde_json", "serde_path_to_error", "serde_urlencoded", "sync_wrapper", "tokio", - "tower 0.5.2", + "tower", "tower-layer", "tower-service", "tracing", @@ -955,19 +934,17 @@ dependencies = [ [[package]] name = "axum-core" -version = "0.4.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199" +checksum = "08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1" dependencies = [ - "async-trait", "bytes", - "futures-util", - "http 1.2.0", + "futures-core", + "http 1.4.0", "http-body 1.0.1", "http-body-util", "mime", "pin-project-lite", - "rustversion", "sync_wrapper", "tower-layer", "tower-service", @@ -976,9 +953,9 @@ dependencies = [ [[package]] name = "ballista" -version = "49.0.0" +version = "50.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef9898866b4298120bf4aa00514b14f7b67419330bf3db7038eeebccaec150a3" +checksum = "3f2a3159e4138cf7de0ba8b7267aa97eb0c01d960920b1747dba71e6986ef421" dependencies = [ "async-trait", "ballista-core", @@ -992,9 +969,9 @@ dependencies = [ [[package]] name = "ballista-core" -version = "49.0.0" +version = "50.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26c060b4b2759ea2606c7c649b731199ac38b84920d1341075ea46d8b80bb1a" +checksum = "4ca9c994b0f51d52a219fbaf4ca1769f807795a998e9d3c50a03ced67693860e" dependencies = [ "arrow-flight", "async-trait", @@ -1006,14 +983,14 @@ dependencies = [ "datafusion-proto", "datafusion-proto-common", "futures", - "itertools 0.14.0", + "itertools", "log", "md-5", "object_store", "parking_lot", "prost", "prost-types", - "rand 0.9.0", + "rand", "rustc_version", "serde", "tokio", @@ -1026,9 +1003,9 @@ dependencies = [ [[package]] name = "ballista-executor" -version = "49.0.0" +version = "50.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8126f1c93125645b20647644c5f94c328c684c3bed89bf570fd399c630106600" +checksum = "ad1bf32e64828067a003f201fc0068da4863867936a680af6ca3af7edda94d6e" dependencies = [ "arrow", "arrow-flight", @@ -1056,9 +1033,9 @@ dependencies = [ [[package]] name = "ballista-scheduler" -version = "49.0.0" +version = "50.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4839bb1418d8c53c41d5a9dbe263aacaee501e380664b3cab14f60cf68102e0" +checksum = "54e618c0dbe63c48f69b417b26a2824a6be849bbf78fd73e7d98b567ce5907f3" dependencies = [ "arrow-flight", "async-trait", @@ -1069,18 +1046,17 @@ dependencies = [ "datafusion", "datafusion-proto", "futures", - "http 1.2.0", + "http 1.4.0", "log", "object_store", "parking_lot", "prost", "prost-types", - "rand 0.9.0", + "rand", "serde", "tokio", "tokio-stream", "tonic", - "tonic-build", "tracing", "tracing-appender", "tracing-subscriber", @@ -1105,9 +1081,9 @@ dependencies = [ [[package]] name = "bigdecimal" -version = "0.4.8" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a22f228ab7a1b23027ccc6c350b72868017af7ea8356fbdf19f8d991c690013" +checksum = "4d6867f1565b3aad85681f1015055b087fcfd840d6aeee6eee7f2da317603695" dependencies = [ "autocfg", "libm", @@ -1117,34 +1093,11 @@ dependencies = [ "serde", ] -[[package]] -name = "bindgen" -version = "0.69.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" -dependencies = [ - "bitflags", - "cexpr", - "clang-sys", - "itertools 0.12.1", - "lazy_static", - "lazycell", - "log", - "prettyplease", - "proc-macro2", - "quote", - "regex", - "rustc-hash 1.1.0", - "shlex", - "syn 2.0.104", - "which", -] - [[package]] name = "bitflags" -version = "2.8.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" [[package]] name = "blake2" @@ -1177,11 +1130,36 @@ dependencies = [ "generic-array", ] +[[package]] +name = "bon" +version = "3.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebeb9aaf9329dff6ceb65c689ca3db33dbf15f324909c60e4e5eef5701ce31b1" +dependencies = [ + "bon-macros", + "rustversion", +] + +[[package]] +name = "bon-macros" +version = "3.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77e9d642a7e3a318e37c2c9427b5a6a48aa1ad55dcd986f3034ab2239045a645" +dependencies = [ + "darling", + "ident_case", + "prettyplease", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.112", +] + [[package]] name = "brotli" -version = "8.0.1" +version = "8.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9991eea70ea4f293524138648e41ee89b0b2b12ddef3b255effa43c8056e0e0d" +checksum = "4bd8b9603c7aa97359dbd97ecf258968c95f3adddd6db2f7e7a5bef101c84560" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -1200,9 +1178,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.16.0" +version = "3.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" [[package]] name = "byteorder" @@ -1212,9 +1190,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" +checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" [[package]] name = "bytes-utils" @@ -1226,16 +1204,6 @@ dependencies = [ "either", ] -[[package]] -name = "bzip2" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" -dependencies = [ - "bzip2-sys", - "libc", -] - [[package]] name = "bzip2" version = "0.5.2" @@ -1266,29 +1234,21 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.10" +version = "1.2.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13208fcbb66eaeffe09b99fffbe1af420f00a7b35aa99ad683dfc1aa76145229" +checksum = "7a0aeaff4ff1a90589618835a598e545176939b97874f7abc7851caa0618f203" dependencies = [ + "find-msvc-tools", "jobserver", "libc", "shlex", ] -[[package]] -name = "cexpr" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" -dependencies = [ - "nom", -] - [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "cfg_aliases" @@ -1298,54 +1258,31 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chrono" -version = "0.4.41" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" +checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2" dependencies = [ - "android-tzdata", "iana-time-zone", "num-traits", "serde", - "windows-link 0.1.3", + "windows-link", ] [[package]] name = "chrono-tz" -version = "0.10.1" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c6ac4f2c0bf0f44e9161aec9675e1050aa4a530663c4a9e37e108fa948bca9f" +checksum = "a6139a8597ed92cf816dfb33f5dd6cf0bb93a6adc938f11039f371bc5bcd26c3" dependencies = [ "chrono", - "chrono-tz-build", "phf", ] -[[package]] -name = "chrono-tz-build" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94fea34d77a245229e7746bd2beb786cd2a896f306ff491fb8cecb3074b10a7" -dependencies = [ - "parse-zoneinfo", - "phf_codegen", -] - -[[package]] -name = "clang-sys" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" -dependencies = [ - "glob", - "libc", - "libloading 0.8.8", -] - [[package]] name = "clap" -version = "4.5.27" +version = "4.5.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "769b0145982b4b48713e01ec42d61614425f27b7058bda7180a3a41f30104796" +checksum = "c9e340e012a1bf4935f5282ed1436d1489548e8f72308207ea5df0e23d2d03f8" dependencies = [ "clap_builder", "clap_derive", @@ -1353,9 +1290,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.27" +version = "4.5.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b26884eb4b57140e4d2d93652abfa49498b938b3c9179f9fc487b0acc3edad7" +checksum = "d76b5d13eaa18c901fd2f7fca939fefe3a0727a953561fefdf3b2922b8569d00" dependencies = [ "anstream", "anstyle", @@ -1365,45 +1302,45 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.24" +version = "4.5.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b755194d6389280185988721fffba69495eed5ee9feeee9a599b53db80318c" +checksum = "2a0b5487afeab2deb2ff4e03a807ad1a03ac532ff5a2cee5d86884440c7f7671" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.112", ] [[package]] name = "clap_lex" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" +checksum = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d" [[package]] name = "cmake" -version = "0.1.54" +version = "0.1.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7caa3f9de89ddbe2c607f4101924c5abec803763ae9534e4f4d7d8f84aa81f0" +checksum = "75443c44cd6b379beb8c5b45d85d0773baf31cce901fe7bb252f4eff3008ef7d" dependencies = [ "cc", ] [[package]] name = "colorchoice" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" +checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" [[package]] name = "comfy-table" -version = "7.1.3" +version = "7.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24f165e7b643266ea80cb858aed492ad9280e3e05ce24d4a99d7d7b889b6a4d9" +checksum = "e0d05af1e006a2407bedef5af410552494ce5be9090444dbbcb57258c1af3d56" dependencies = [ - "strum", - "strum_macros", + "strum 0.26.3", + "strum_macros 0.26.4", "unicode-width", ] @@ -1422,16 +1359,19 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", "once_cell", "tiny-keccak", ] [[package]] name = "const_panic" -version = "0.2.12" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2459fc9262a1aa204eb4b5764ad4f189caec88aea9634389c0a25f8be7f6265e" +checksum = "e262cdaac42494e3ae34c43969f9cdeb7da178bdb4b66fa6a1ea2edb4c8ae652" +dependencies = [ + "typewit", +] [[package]] name = "constant_time_eq" @@ -1441,9 +1381,9 @@ checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" [[package]] name = "core-foundation" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" dependencies = [ "core-foundation-sys", "libc", @@ -1455,44 +1395,35 @@ version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" -[[package]] -name = "core2" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505" -dependencies = [ - "memchr", -] - [[package]] name = "core_extensions" -version = "1.5.3" +version = "1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92c71dc07c9721607e7a16108336048ee978c3a8b129294534272e8bac96c0ee" +checksum = "42bb5e5d0269fd4f739ea6cedaf29c16d81c27a7ce7582008e90eb50dcd57003" dependencies = [ "core_extensions_proc_macros", ] [[package]] name = "core_extensions_proc_macros" -version = "1.5.3" +version = "1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69f3b219d28b6e3b4ac87bc1fc522e0803ab22e055da177bff0068c4150c61a6" +checksum = "533d38ecd2709b7608fb8e18e4504deb99e9a72879e6aa66373a76d8dc4259ea" [[package]] name = "cpufeatures" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ "libc", ] [[package]] name = "crc32fast" -version = "1.4.2" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" dependencies = [ "cfg-if", ] @@ -1514,15 +1445,15 @@ checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crunchy" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] name = "crypto-common" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" dependencies = [ "generic-array", "typenum", @@ -1530,30 +1461,59 @@ dependencies = [ [[package]] name = "csv" -version = "1.3.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acdc4883a9c96732e4733212c01447ebd805833b7275a73ca3ee080fd77afdaf" +checksum = "52cd9d68cf7efc6ddfaaee42e7288d3a99d613d4b50f76ce9827ae0c6e14f938" dependencies = [ "csv-core", "itoa", "ryu", - "serde", + "serde_core", ] [[package]] name = "csv-core" -version = "0.1.11" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70" +checksum = "704a3c26996a80471189265814dbc2c257598b96b8a7feae2d31ace646bb9782" dependencies = [ "memchr", ] [[package]] -name = "dary_heap" -version = "0.3.7" +name = "darling" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.112", +] + +[[package]] +name = "darling_macro" +version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04d2cd9c18b9f454ed67da600630b021a8a80bf33f8c95896ab33aaf1c26b728" +checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.112", +] [[package]] name = "dashmap" @@ -1571,9 +1531,9 @@ dependencies = [ [[package]] name = "datafusion" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69dfeda1633bf8ec75b068d9f6c27cdc392ffcf5ff83128d5dbab65b73c1fd02" +checksum = "2af15bb3c6ffa33011ef579f6b0bcbe7c26584688bd6c994f548e44df67f011a" dependencies = [ "arrow", "arrow-ipc", @@ -1601,6 +1561,7 @@ dependencies = [ "datafusion-functions-window", "datafusion-optimizer", "datafusion-physical-expr", + "datafusion-physical-expr-adapter", "datafusion-physical-expr-common", "datafusion-physical-optimizer", "datafusion-physical-plan", @@ -1608,13 +1569,12 @@ dependencies = [ "datafusion-sql", "flate2", "futures", - "hex", - "itertools 0.14.0", + "itertools", "log", "object_store", "parking_lot", "parquet", - "rand 0.9.0", + "rand", "regex", "sqlparser", "tempfile", @@ -1627,9 +1587,9 @@ dependencies = [ [[package]] name = "datafusion-catalog" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2848fd1e85e2953116dab9cc2eb109214b0888d7bbd2230e30c07f1794f642c0" +checksum = "187622262ad8f7d16d3be9202b4c1e0116f1c9aa387e5074245538b755261621" dependencies = [ "arrow", "async-trait", @@ -1644,7 +1604,7 @@ dependencies = [ "datafusion-session", "datafusion-sql", "futures", - "itertools 0.14.0", + "itertools", "log", "object_store", "parking_lot", @@ -1653,9 +1613,9 @@ dependencies = [ [[package]] name = "datafusion-catalog-listing" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "051a1634628c2d1296d4e326823e7536640d87a118966cdaff069b68821ad53b" +checksum = "9657314f0a32efd0382b9a46fdeb2d233273ece64baa68a7c45f5a192daf0f83" dependencies = [ "arrow", "async-trait", @@ -1676,9 +1636,9 @@ dependencies = [ [[package]] name = "datafusion-common" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "765e4ad4ef7a4500e389a3f1e738791b71ff4c29fd00912c2f541d62b25da096" +checksum = "5a83760d9a13122d025fbdb1d5d5aaf93dd9ada5e90ea229add92aa30898b2d1" dependencies = [ "ahash", "apache-avro", @@ -1688,8 +1648,7 @@ dependencies = [ "chrono", "half", "hashbrown 0.14.5", - "hex", - "indexmap 2.10.0", + "indexmap", "libc", "log", "object_store", @@ -1704,9 +1663,9 @@ dependencies = [ [[package]] name = "datafusion-common-runtime" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40a2ae8393051ce25d232a6065c4558ab5a535c9637d5373bacfd464ac88ea12" +checksum = "5b6234a6c7173fe5db1c6c35c01a12b2aa0f803a3007feee53483218817f8b1e" dependencies = [ "futures", "log", @@ -1715,9 +1674,9 @@ dependencies = [ [[package]] name = "datafusion-datasource" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90cd841a77f378bc1a5c4a1c37345e1885a9203b008203f9f4b3a769729bf330" +checksum = "7256c9cb27a78709dd42d0c80f0178494637209cac6e29d5c93edd09b6721b86" dependencies = [ "arrow", "async-compression", @@ -1730,17 +1689,18 @@ dependencies = [ "datafusion-execution", "datafusion-expr", "datafusion-physical-expr", + "datafusion-physical-expr-adapter", "datafusion-physical-expr-common", "datafusion-physical-plan", "datafusion-session", "flate2", "futures", "glob", - "itertools 0.14.0", + "itertools", "log", "object_store", "parquet", - "rand 0.9.0", + "rand", "tempfile", "tokio", "tokio-util", @@ -1751,9 +1711,9 @@ dependencies = [ [[package]] name = "datafusion-datasource-avro" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cba1696aa919da9517d29164d45f5902d6cc281f718e8d3bfe98bd52cd1142c" +checksum = "10d40b6953ebc9099b37adfd12fde97eb73ff0cee44355c6dea64b8a4537d561" dependencies = [ "apache-avro", "arrow", @@ -1776,9 +1736,9 @@ dependencies = [ [[package]] name = "datafusion-datasource-csv" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77f4a2c64939c6f0dd15b246723a699fa30d59d0133eb36a86e8ff8c6e2a8dc6" +checksum = "64533a90f78e1684bfb113d200b540f18f268134622d7c96bbebc91354d04825" dependencies = [ "arrow", "async-trait", @@ -1801,9 +1761,9 @@ dependencies = [ [[package]] name = "datafusion-datasource-json" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11387aaf931b2993ad9273c63ddca33f05aef7d02df9b70fb757429b4b71cdae" +checksum = "8d7ebeb12c77df0aacad26f21b0d033aeede423a64b2b352f53048a75bf1d6e6" dependencies = [ "arrow", "async-trait", @@ -1826,9 +1786,9 @@ dependencies = [ [[package]] name = "datafusion-datasource-parquet" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "028f430c5185120bf806347848b8d8acd9823f4038875b3820eeefa35f2bb4a2" +checksum = "09e783c4c7d7faa1199af2df4761c68530634521b176a8d1331ddbc5a5c75133" dependencies = [ "arrow", "async-trait", @@ -1841,35 +1801,36 @@ dependencies = [ "datafusion-expr", "datafusion-functions-aggregate", "datafusion-physical-expr", + "datafusion-physical-expr-adapter", "datafusion-physical-expr-common", "datafusion-physical-optimizer", "datafusion-physical-plan", "datafusion-pruning", "datafusion-session", "futures", - "hex", - "itertools 0.14.0", + "itertools", "log", "object_store", "parking_lot", "parquet", - "rand 0.9.0", + "rand", "tokio", ] [[package]] name = "datafusion-doc" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ff336d1d755399753a9e4fbab001180e346fc8bfa063a97f1214b82274c00f8" +checksum = "99ee6b1d9a80d13f9deb2291f45c07044b8e62fb540dbde2453a18be17a36429" [[package]] name = "datafusion-execution" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "042ea192757d1b2d7dcf71643e7ff33f6542c7704f00228d8b85b40003fd8e0f" +checksum = "a4cec0a57653bec7b933fb248d3ffa3fa3ab3bd33bd140dc917f714ac036f531" dependencies = [ "arrow", + "async-trait", "dashmap", "datafusion-common", "datafusion-expr", @@ -1877,16 +1838,16 @@ dependencies = [ "log", "object_store", "parking_lot", - "rand 0.9.0", + "rand", "tempfile", "url", ] [[package]] name = "datafusion-expr" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "025222545d6d7fab71e2ae2b356526a1df67a2872222cbae7535e557a42abd2e" +checksum = "ef76910bdca909722586389156d0aa4da4020e1631994d50fadd8ad4b1aa05fe" dependencies = [ "arrow", "async-trait", @@ -1897,7 +1858,7 @@ dependencies = [ "datafusion-functions-aggregate-common", "datafusion-functions-window-common", "datafusion-physical-expr-common", - "indexmap 2.10.0", + "indexmap", "paste", "recursive", "serde_json", @@ -1906,22 +1867,22 @@ dependencies = [ [[package]] name = "datafusion-expr-common" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d5c267104849d5fa6d81cf5ba88f35ecd58727729c5eb84066c25227b644ae2" +checksum = "6d155ccbda29591ca71a1344dd6bed26c65a4438072b400df9db59447f590bb6" dependencies = [ "arrow", "datafusion-common", - "indexmap 2.10.0", - "itertools 0.14.0", + "indexmap", + "itertools", "paste", ] [[package]] name = "datafusion-ffi" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec21805d9df2d834e4c6ddfbf8a1bed2bd460b89b01686fe0dcd1cee06d0b60f" +checksum = "25ddb7c4e645df080c27dad13a198d191da328dd1c98e198664a7a0f64b335cc" dependencies = [ "abi_stable", "arrow", @@ -1941,9 +1902,9 @@ dependencies = [ [[package]] name = "datafusion-functions" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c620d105aa208fcee45c588765483314eb415f5571cfd6c1bae3a59c5b4d15bb" +checksum = "7de2782136bd6014670fd84fe3b0ca3b3e4106c96403c3ae05c0598577139977" dependencies = [ "arrow", "arrow-buffer", @@ -1958,10 +1919,10 @@ dependencies = [ "datafusion-expr-common", "datafusion-macros", "hex", - "itertools 0.14.0", + "itertools", "log", "md-5", - "rand 0.9.0", + "rand", "regex", "sha2", "unicode-segmentation", @@ -1970,9 +1931,9 @@ dependencies = [ [[package]] name = "datafusion-functions-aggregate" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35f61d5198a35ed368bf3aacac74f0d0fa33de7a7cb0c57e9f68ab1346d2f952" +checksum = "07331fc13603a9da97b74fd8a273f4238222943dffdbbed1c4c6f862a30105bf" dependencies = [ "ahash", "arrow", @@ -1991,9 +1952,9 @@ dependencies = [ [[package]] name = "datafusion-functions-aggregate-common" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13efdb17362be39b5024f6da0d977ffe49c0212929ec36eec550e07e2bc7812f" +checksum = "b5951e572a8610b89968a09b5420515a121fbc305c0258651f318dc07c97ab17" dependencies = [ "ahash", "arrow", @@ -2004,9 +1965,9 @@ dependencies = [ [[package]] name = "datafusion-functions-nested" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9187678af567d7c9e004b72a0b6dc5b0a00ebf4901cb3511ed2db4effe092e66" +checksum = "fdacca9302c3d8fc03f3e94f338767e786a88a33f5ebad6ffc0e7b50364b9ea3" dependencies = [ "arrow", "arrow-ord", @@ -2019,16 +1980,16 @@ dependencies = [ "datafusion-functions-aggregate-common", "datafusion-macros", "datafusion-physical-expr-common", - "itertools 0.14.0", + "itertools", "log", "paste", ] [[package]] name = "datafusion-functions-table" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecf156589cc21ef59fe39c7a9a841b4a97394549643bbfa88cc44e8588cf8fe5" +checksum = "8c37ff8a99434fbbad604a7e0669717c58c7c4f14c472d45067c4b016621d981" dependencies = [ "arrow", "async-trait", @@ -2042,9 +2003,9 @@ dependencies = [ [[package]] name = "datafusion-functions-window" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edcb25e3e369f1366ec9a261456e45b5aad6ea1c0c8b4ce546587207c501ed9e" +checksum = "48e2aea7c79c926cffabb13dc27309d4eaeb130f4a21c8ba91cdd241c813652b" dependencies = [ "arrow", "datafusion-common", @@ -2060,9 +2021,9 @@ dependencies = [ [[package]] name = "datafusion-functions-window-common" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8996a8e11174d0bd7c62dc2f316485affc6ae5ffd5b8a68b508137ace2310294" +checksum = "0fead257ab5fd2ffc3b40fda64da307e20de0040fe43d49197241d9de82a487f" dependencies = [ "datafusion-common", "datafusion-physical-expr-common", @@ -2070,20 +2031,20 @@ dependencies = [ [[package]] name = "datafusion-macros" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ee8d1be549eb7316f437035f2cec7ec42aba8374096d807c4de006a3b5d78a" +checksum = "ec6f637bce95efac05cdfb9b6c19579ed4aa5f6b94d951cfa5bb054b7bb4f730" dependencies = [ "datafusion-expr", "quote", - "syn 2.0.104", + "syn 2.0.112", ] [[package]] name = "datafusion-optimizer" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9fa98671458254928af854e5f6c915e66b860a8bde505baea0ff2892deab74d" +checksum = "c6583ef666ae000a613a837e69e456681a9faa96347bf3877661e9e89e141d8a" dependencies = [ "arrow", "chrono", @@ -2091,8 +2052,8 @@ dependencies = [ "datafusion-expr", "datafusion-expr-common", "datafusion-physical-expr", - "indexmap 2.10.0", - "itertools 0.14.0", + "indexmap", + "itertools", "log", "recursive", "regex", @@ -2101,9 +2062,9 @@ dependencies = [ [[package]] name = "datafusion-physical-expr" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3515d51531cca5f7b5a6f3ea22742b71bb36fc378b465df124ff9a2fa349b002" +checksum = "c8668103361a272cbbe3a61f72eca60c9b7c706e87cc3565bcf21e2b277b84f6" dependencies = [ "ahash", "arrow", @@ -2114,32 +2075,48 @@ dependencies = [ "datafusion-physical-expr-common", "half", "hashbrown 0.14.5", - "indexmap 2.10.0", - "itertools 0.14.0", + "indexmap", + "itertools", "log", + "parking_lot", "paste", "petgraph 0.8.3", ] +[[package]] +name = "datafusion-physical-expr-adapter" +version = "50.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "815acced725d30601b397e39958e0e55630e0a10d66ef7769c14ae6597298bb0" +dependencies = [ + "arrow", + "datafusion-common", + "datafusion-expr", + "datafusion-functions", + "datafusion-physical-expr", + "datafusion-physical-expr-common", + "itertools", +] + [[package]] name = "datafusion-physical-expr-common" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24485475d9c618a1d33b2a3dad003d946dc7a7bbf0354d125301abc0a5a79e3e" +checksum = "6652fe7b5bf87e85ed175f571745305565da2c0b599d98e697bcbedc7baa47c3" dependencies = [ "ahash", "arrow", "datafusion-common", "datafusion-expr-common", "hashbrown 0.14.5", - "itertools 0.14.0", + "itertools", ] [[package]] name = "datafusion-physical-optimizer" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9da411a0a64702f941a12af2b979434d14ec5d36c6f49296966b2c7639cbb3a" +checksum = "49b7d623eb6162a3332b564a0907ba00895c505d101b99af78345f1acf929b5c" dependencies = [ "arrow", "datafusion-common", @@ -2150,16 +2127,16 @@ dependencies = [ "datafusion-physical-expr-common", "datafusion-physical-plan", "datafusion-pruning", - "itertools 0.14.0", + "itertools", "log", "recursive", ] [[package]] name = "datafusion-physical-plan" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6d168282bb7b54880bb3159f89b51c047db4287f5014d60c3ef4c6e1468212b" +checksum = "e2f7f778a1a838dec124efb96eae6144237d546945587557c9e6936b3414558c" dependencies = [ "ahash", "arrow", @@ -2171,14 +2148,15 @@ dependencies = [ "datafusion-common-runtime", "datafusion-execution", "datafusion-expr", + "datafusion-functions-aggregate-common", "datafusion-functions-window-common", "datafusion-physical-expr", "datafusion-physical-expr-common", "futures", "half", "hashbrown 0.14.5", - "indexmap 2.10.0", - "itertools 0.14.0", + "indexmap", + "itertools", "log", "parking_lot", "pin-project-lite", @@ -2187,9 +2165,9 @@ dependencies = [ [[package]] name = "datafusion-proto" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b36a0c84f4500efd90487a004b533bd81de1f2bb3f143f71b7526f33b85d2e2" +checksum = "a7df9f606892e6af45763d94d210634eec69b9bb6ced5353381682ff090028a3" dependencies = [ "arrow", "chrono", @@ -2203,9 +2181,9 @@ dependencies = [ [[package]] name = "datafusion-proto-common" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ec788be522806740ad6372c0a2f7e45fb37cb37f786d9b77933add49cdd058f" +checksum = "b4b14f288ca4ef77743d9672cafecf3adfffff0b9b04af9af79ecbeaaf736901" dependencies = [ "arrow", "datafusion-common", @@ -2214,9 +2192,9 @@ dependencies = [ [[package]] name = "datafusion-pruning" -version = "49.0.0" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "391a457b9d23744c53eeb89edd1027424cba100581488d89800ed841182df905" +checksum = "cd1e59e2ca14fe3c30f141600b10ad8815e2856caa59ebbd0e3e07cd3d127a65" dependencies = [ "arrow", "arrow-schema", @@ -2226,15 +2204,15 @@ dependencies = [ "datafusion-physical-expr", "datafusion-physical-expr-common", "datafusion-physical-plan", - "itertools 0.14.0", + "itertools", "log", ] [[package]] name = "datafusion-python" -version = "49.0.0" +version = "50.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dbc30c03084f9e66391f32f17ea0deeea12574eac240c39f435c7fd308221a4" +checksum = "1b217df4e861162c9290935e5d07150edaedefd4d0635431f4ee119ac1c430f2" dependencies = [ "arrow", "async-trait", @@ -2245,6 +2223,7 @@ dependencies = [ "log", "mimalloc", "object_store", + "parking_lot", "prost", "prost-types", "pyo3", @@ -2258,9 +2237,9 @@ dependencies = [ [[package]] name = "datafusion-session" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053201c2bb729c7938f85879034df2b5a52cfaba16f1b3b66ab8505c81b2aad3" +checksum = "21ef8e2745583619bd7a49474e8f45fbe98ebb31a133f27802217125a7b3d58d" dependencies = [ "arrow", "async-trait", @@ -2273,7 +2252,7 @@ dependencies = [ "datafusion-physical-plan", "datafusion-sql", "futures", - "itertools 0.14.0", + "itertools", "log", "object_store", "parking_lot", @@ -2282,15 +2261,15 @@ dependencies = [ [[package]] name = "datafusion-sql" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9082779be8ce4882189b229c0cff4393bd0808282a7194130c9f32159f185e25" +checksum = "89abd9868770386fede29e5a4b14f49c0bf48d652c3b9d7a8a0332329b87d50b" dependencies = [ "arrow", "bigdecimal", "datafusion-common", "datafusion-expr", - "indexmap 2.10.0", + "indexmap", "log", "recursive", "regex", @@ -2299,9 +2278,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.11" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" dependencies = [ "powerfmt", ] @@ -2325,7 +2304,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.112", ] [[package]] @@ -2336,24 +2315,24 @@ checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] name = "either" -version = "1.13.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] name = "equivalent" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.10" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -2363,10 +2342,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] -name = "fixedbitset" -version = "0.4.2" +name = "find-msvc-tools" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" +checksum = "645cbb3a84e60b7531617d5ae4e57f7e27308f6445f5abf653209ea76dec8dff" [[package]] name = "fixedbitset" @@ -2376,9 +2355,9 @@ checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" [[package]] name = "flatbuffers" -version = "25.2.10" +version = "25.12.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1045398c1bfd89168b5fd3f1fc11f6e70b34f6f66300c87d44d3de849463abf1" +checksum = "35f6839d7b3b98adde531effaf34f0c2badc6f4735d26fe74709d8e513a96ef3" dependencies = [ "bitflags", "rustc_version", @@ -2386,9 +2365,9 @@ dependencies = [ [[package]] name = "flate2" -version = "1.1.2" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" +checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb" dependencies = [ "crc32fast", "libz-rs-sys", @@ -2409,9 +2388,9 @@ checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] name = "form_urlencoded" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" dependencies = [ "percent-encoding", ] @@ -2478,7 +2457,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.112", ] [[package]] @@ -2532,48 +2511,50 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ "cfg-if", "js-sys", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", "wasm-bindgen", ] [[package]] name = "getrandom" -version = "0.3.2" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ "cfg-if", + "js-sys", "libc", "r-efi", - "wasi 0.14.2+wasi-0.2.4", + "wasip2", + "wasm-bindgen", ] [[package]] name = "glob" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" +checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" [[package]] name = "h2" -version = "0.4.7" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e" +checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386" dependencies = [ "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", - "http 1.2.0", - "indexmap 2.10.0", + "http 1.4.0", + "indexmap", "slab", "tokio", "tokio-util", @@ -2582,21 +2563,16 @@ dependencies = [ [[package]] name = "half" -version = "2.6.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" dependencies = [ "cfg-if", "crunchy", "num-traits", + "zerocopy", ] -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - [[package]] name = "hashbrown" version = "0.14.5" @@ -2609,13 +2585,19 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.2" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ "foldhash", ] +[[package]] +name = "hashbrown" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" + [[package]] name = "heck" version = "0.5.0" @@ -2637,15 +2619,6 @@ dependencies = [ "digest", ] -[[package]] -name = "home" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" -dependencies = [ - "windows-sys 0.59.0", -] - [[package]] name = "http" version = "0.2.12" @@ -2659,12 +2632,11 @@ dependencies = [ [[package]] name = "http" -version = "1.2.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" +checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" dependencies = [ "bytes", - "fnv", "itoa", ] @@ -2686,27 +2658,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http 1.2.0", + "http 1.4.0", ] [[package]] name = "http-body-util" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", - "futures-util", - "http 1.2.0", + "futures-core", + "http 1.4.0", "http-body 1.0.1", "pin-project-lite", ] [[package]] name = "httparse" -version = "1.9.5" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" [[package]] name = "httpdate" @@ -2716,26 +2688,28 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "humantime" -version = "2.1.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +checksum = "135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424" [[package]] name = "hyper" -version = "1.6.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" +checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" dependencies = [ + "atomic-waker", "bytes", "futures-channel", - "futures-util", + "futures-core", "h2", - "http 1.2.0", + "http 1.4.0", "http-body 1.0.1", "httparse", "httpdate", "itoa", "pin-project-lite", + "pin-utils", "smallvec", "tokio", "want", @@ -2743,12 +2717,11 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.5" +version = "0.27.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" +checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ - "futures-util", - "http 1.2.0", + "http 1.4.0", "hyper", "hyper-util", "rustls", @@ -2774,18 +2747,23 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.10" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" +checksum = "727805d60e7938b76b826a6ef209eb70eaa1812794f9424d4a4e2d740662df5f" dependencies = [ + "base64", "bytes", "futures-channel", + "futures-core", "futures-util", - "http 1.2.0", + "http 1.4.0", "http-body 1.0.1", "hyper", + "ipnet", + "libc", + "percent-encoding", "pin-project-lite", - "socket2 0.5.8", + "socket2 0.6.1", "tokio", "tower-service", "tracing", @@ -2793,14 +2771,15 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.61" +version = "0.1.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" +checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", + "log", "wasm-bindgen", "windows-core", ] @@ -2816,21 +2795,22 @@ dependencies = [ [[package]] name = "icu_collections" -version = "1.5.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" dependencies = [ "displaydoc", + "potential_utf", "yoke", "zerofrom", "zerovec", ] [[package]] -name = "icu_locid" -version = "1.5.0" +name = "icu_locale_core" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" dependencies = [ "displaydoc", "litemap", @@ -2840,103 +2820,71 @@ dependencies = [ ] [[package]] -name = "icu_locid_transform" -version = "1.5.0" +name = "icu_normalizer" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", + "icu_collections", + "icu_normalizer_data", + "icu_properties", "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_locid_transform_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" - -[[package]] -name = "icu_normalizer" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" -dependencies = [ - "displaydoc", - "icu_collections", - "icu_normalizer_data", - "icu_properties", - "icu_provider", - "smallvec", - "utf16_iter", - "utf8_iter", - "write16", + "smallvec", "zerovec", ] [[package]] name = "icu_normalizer_data" -version = "1.5.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" [[package]] name = "icu_properties" -version = "1.5.1" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" dependencies = [ - "displaydoc", "icu_collections", - "icu_locid_transform", + "icu_locale_core", "icu_properties_data", "icu_provider", - "tinystr", + "zerotrie", "zerovec", ] [[package]] name = "icu_properties_data" -version = "1.5.0" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" +checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" [[package]] name = "icu_provider" -version = "1.5.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" dependencies = [ "displaydoc", - "icu_locid", - "icu_provider_macros", - "stable_deref_trait", - "tinystr", + "icu_locale_core", "writeable", "yoke", "zerofrom", + "zerotrie", "zerovec", ] [[package]] -name = "icu_provider_macros" -version = "1.5.0" +name = "ident_case" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.104", -] +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "1.0.3" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" dependencies = [ "idna_adapter", "smallvec", @@ -2945,9 +2893,9 @@ dependencies = [ [[package]] name = "idna_adapter" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" dependencies = [ "icu_normalizer", "icu_properties", @@ -2955,29 +2903,22 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", -] - -[[package]] -name = "indexmap" -version = "2.10.0" +version = "2.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" +checksum = "0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2" dependencies = [ "equivalent", - "hashbrown 0.15.2", + "hashbrown 0.16.1", ] [[package]] name = "indoc" -version = "2.0.5" +version = "2.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5" +checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706" +dependencies = [ + "rustversion", +] [[package]] name = "integer-encoding" @@ -2992,28 +2933,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] -name = "is_terminal_polyfill" -version = "1.70.1" +name = "iri-string" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" - -[[package]] -name = "itertools" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +checksum = "c91338f0783edbd6195decb37bae672fd3b165faffb89bf7b9e6942f8b1a731a" dependencies = [ - "either", + "memchr", + "serde", ] [[package]] -name = "itertools" -version = "0.13.0" +name = "is_terminal_polyfill" +version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" -dependencies = [ - "either", -] +checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" [[package]] name = "itertools" @@ -3026,24 +2959,25 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.14" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" +checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" [[package]] name = "jobserver" -version = "0.1.32" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ + "getrandom 0.3.4", "libc", ] [[package]] name = "js-sys" -version = "0.3.77" +version = "0.3.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" +checksum = "464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8" dependencies = [ "once_cell", "wasm-bindgen", @@ -3055,17 +2989,11 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - [[package]] name = "lexical-core" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b765c31809609075565a70b4b71402281283aeda7ecaf4818ac14a7b2ade8958" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" dependencies = [ "lexical-parse-float", "lexical-parse-integer", @@ -3076,53 +3004,46 @@ dependencies = [ [[package]] name = "lexical-parse-float" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de6f9cb01fb0b08060209a057c048fcbab8717b4c1ecd2eac66ebfe39a65b0f2" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" dependencies = [ "lexical-parse-integer", "lexical-util", - "static_assertions", ] [[package]] name = "lexical-parse-integer" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72207aae22fc0a121ba7b6d479e42cbfea549af1479c3f3a4f12c70dd66df12e" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" dependencies = [ "lexical-util", - "static_assertions", ] [[package]] name = "lexical-util" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a82e24bf537fd24c177ffbbdc6ebcc8d54732c35b50a3f28cc3f4e4c949a0b3" -dependencies = [ - "static_assertions", -] +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" [[package]] name = "lexical-write-float" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5afc668a27f460fb45a81a757b6bf2f43c2d7e30cb5a2dcd3abf294c78d62bd" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" dependencies = [ "lexical-util", "lexical-write-integer", - "static_assertions", ] [[package]] name = "lexical-write-integer" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "629ddff1a914a836fb245616a7888b62903aae58fa771e1d83943035efa0f978" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" dependencies = [ "lexical-util", - "static_assertions", ] [[package]] @@ -3133,33 +3054,9 @@ checksum = "2c4a545a15244c7d945065b5d392b2d2d7f21526fba56ce51467b06ed445e8f7" [[package]] name = "libc" -version = "0.2.174" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" - -[[package]] -name = "libflate" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45d9dfdc14ea4ef0900c1cddbc8dcd553fbaacd8a4a282cf4018ae9dd04fb21e" -dependencies = [ - "adler32", - "core2", - "crc32fast", - "dary_heap", - "libflate_lz77", -] - -[[package]] -name = "libflate_lz77" -version = "2.1.0" +version = "0.2.178" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6e0d73b369f386f1c44abd9c570d5318f55ccde816ff4b562fa452e5182863d" -dependencies = [ - "core2", - "hashbrown 0.14.5", - "rle-decode-fast", -] +checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" [[package]] name = "libloading" @@ -3171,27 +3068,17 @@ dependencies = [ "winapi", ] -[[package]] -name = "libloading" -version = "0.8.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" -dependencies = [ - "cfg-if", - "windows-targets 0.53.5", -] - [[package]] name = "libm" -version = "0.2.11" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" [[package]] name = "libmimalloc-sys" -version = "0.1.39" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23aa6811d3bd4deb8a84dde645f943476d13b248d818edcf8ce0b2f37f036b44" +checksum = "667f4fec20f29dfc6bc7357c582d91796c169ad7e2fce709468aefeb2c099870" dependencies = [ "cc", "libc", @@ -3199,54 +3086,53 @@ dependencies = [ [[package]] name = "libz-rs-sys" -version = "0.5.1" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "172a788537a2221661b480fee8dc5f96c580eb34fa88764d3205dc356c7e4221" +checksum = "c10501e7805cee23da17c7790e59df2870c0d4043ec6d03f67d31e2b53e77415" dependencies = [ "zlib-rs", ] [[package]] name = "linux-raw-sys" -version = "0.4.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" - -[[package]] -name = "linux-raw-sys" -version = "0.9.4" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" +checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" [[package]] name = "litemap" -version = "0.7.4" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" [[package]] name = "lock_api" -version = "0.4.12" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" dependencies = [ - "autocfg", "scopeguard", ] [[package]] name = "log" -version = "0.4.28" +version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" + +[[package]] +name = "lru-slab" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" [[package]] name = "lz4_flex" -version = "0.11.3" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75761162ae2b0e580d7e7c390558127e5f01b4194debd6221fd8c207fc80e3f5" +checksum = "08ab2867e3eeeca90e844d1940eab391c9dc5228783db2ed999acbc0a9ed375a" dependencies = [ - "twox-hash 1.6.3", + "twox-hash", ] [[package]] @@ -3271,9 +3157,9 @@ dependencies = [ [[package]] name = "matchit" -version = "0.7.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" +checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" [[package]] name = "md-5" @@ -3287,9 +3173,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.4" +version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" [[package]] name = "memoffset" @@ -3302,9 +3188,9 @@ dependencies = [ [[package]] name = "mimalloc" -version = "0.1.43" +version = "0.1.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68914350ae34959d83f732418d51e2427a794055d0b9529f48259ac07af65633" +checksum = "e1ee66a4b64c74f4ef288bcbb9192ad9c3feaad75193129ac8509af543894fd8" dependencies = [ "libmimalloc-sys", ] @@ -3315,12 +3201,6 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - [[package]] name = "miniz_oxide" version = "0.8.9" @@ -3328,42 +3208,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", + "simd-adler32", ] [[package]] name = "mio" -version = "1.0.3" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" +checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" dependencies = [ "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.0", + "wasi", + "windows-sys 0.61.2", ] [[package]] name = "multimap" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" - -[[package]] -name = "nom" -version = "7.1.3" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] +checksum = "1d87ecb2933e8aeadb3e3a02b828fed80a7528047e68b4f424523a0981a3a084" [[package]] name = "nu-ansi-term" -version = "0.50.1" +version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399" +checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -3447,6 +3318,15 @@ dependencies = [ "libm", ] +[[package]] +name = "object" +version = "0.32.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +dependencies = [ + "memchr", +] + [[package]] name = "object_store" version = "0.12.4" @@ -3459,24 +3339,24 @@ dependencies = [ "chrono", "form_urlencoded", "futures", - "http 1.2.0", + "http 1.4.0", "http-body-util", "httparse", "humantime", "hyper", - "itertools 0.14.0", + "itertools", "md-5", "parking_lot", "percent-encoding", "quick-xml", - "rand 0.9.0", + "rand", "reqwest", "ring", "rustls-pemfile", "serde", "serde_json", "serde_urlencoded", - "thiserror 2.0.11", + "thiserror", "tokio", "tracing", "url", @@ -3487,15 +3367,21 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.20.2" +version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "once_cell_polyfill" +version = "1.70.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" [[package]] name = "openssl-probe" -version = "0.1.6" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" +checksum = "9f50d9b3dabb09ecd771ad0aa242ca6894994c130308ca3d7684634df8037391" [[package]] name = "ordered-float" @@ -3514,9 +3400,9 @@ checksum = "1a80800c0488c3a21695ea981a54918fbb37abf04f4d0720c453632255e2ff0e" [[package]] name = "parking_lot" -version = "0.12.3" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" dependencies = [ "lock_api", "parking_lot_core", @@ -3524,22 +3410,22 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.10" +version = "0.9.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-targets 0.52.6", + "windows-link", ] [[package]] name = "parquet" -version = "55.2.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b17da4150748086bd43352bc77372efa9b6e3dbd06a04831d2a98c041c225cfa" +checksum = "f0dbd48ad52d7dccf8ea1b90a3ddbfaea4f69878dd7683e51c507d4bc52b5b27" dependencies = [ "ahash", "arrow-array", @@ -3556,7 +3442,7 @@ dependencies = [ "flate2", "futures", "half", - "hashbrown 0.15.2", + "hashbrown 0.16.1", "lz4_flex", "num", "num-bigint", @@ -3568,19 +3454,10 @@ dependencies = [ "snap", "thrift", "tokio", - "twox-hash 2.1.1", + "twox-hash", "zstd", ] -[[package]] -name = "parse-zoneinfo" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f2a05b18d44e2957b88f96ba460715e295bc1d7510468a2f3d3b44535d26c24" -dependencies = [ - "regex", -] - [[package]] name = "paste" version = "1.0.15" @@ -3589,18 +3466,18 @@ checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "percent-encoding" -version = "2.3.1" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "petgraph" -version = "0.6.5" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" +checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" dependencies = [ - "fixedbitset 0.4.2", - "indexmap 2.10.0", + "fixedbitset", + "indexmap", ] [[package]] @@ -3609,68 +3486,48 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455" dependencies = [ - "fixedbitset 0.5.7", - "hashbrown 0.15.2", - "indexmap 2.10.0", + "fixedbitset", + "hashbrown 0.15.5", + "indexmap", "serde", ] [[package]] name = "phf" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" -dependencies = [ - "phf_shared", -] - -[[package]] -name = "phf_codegen" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a" -dependencies = [ - "phf_generator", - "phf_shared", -] - -[[package]] -name = "phf_generator" -version = "0.11.3" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" +checksum = "913273894cec178f401a31ec4b656318d95473527be05c0752cc41cdc32be8b7" dependencies = [ "phf_shared", - "rand 0.8.5", ] [[package]] name = "phf_shared" -version = "0.11.3" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" +checksum = "06005508882fb681fd97892ecff4b7fd0fee13ef1aa569f8695dae7ab9099981" dependencies = [ "siphasher", ] [[package]] name = "pin-project" -version = "1.1.8" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e2ec53ad785f4d35dac0adea7f7dc6f1bb277ad84a680c7afefeae05d1f5916" +checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.8" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d56a66c0c55993aa927429d0f8a0abfd74f084e4d9c192cffed01e418d83eefb" +checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.112", ] [[package]] @@ -3687,15 +3544,24 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "portable-atomic" -version = "1.10.0" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f89776e4d69bb58bc6993e99ffa1d11f228b839984854c7daeb5d37f87cbe950" + +[[package]] +name = "potential_utf" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" +dependencies = [ + "zerovec", +] [[package]] name = "powerfmt" @@ -3705,37 +3571,37 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.20" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ - "zerocopy 0.7.35", + "zerocopy", ] [[package]] name = "prettyplease" -version = "0.2.29" +version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6924ced06e1f7dfe3fa48d57b9f74f55d8915f5036121bef647ef4b204895fac" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", - "syn 2.0.104", + "syn 2.0.112", ] [[package]] name = "proc-macro2" -version = "1.0.93" +version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" +checksum = "9695f8df41bb4f3d222c95a67532365f569318332d03d5f3f67f37b20e6ebdf0" dependencies = [ "unicode-ident", ] [[package]] name = "prost" -version = "0.13.4" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c0fef6c4230e4ccf618a35c59d7ede15dea37de8427500f50aff708806e42ec" +checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" dependencies = [ "bytes", "prost-derive", @@ -3743,58 +3609,59 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.13.4" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0f3e5beed80eb580c68e2c600937ac2c4eedabdfd5ef1e5b7ea4f3fba84497b" +checksum = "be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf" dependencies = [ "heck", - "itertools 0.13.0", + "itertools", "log", "multimap", "once_cell", - "petgraph 0.6.5", + "petgraph 0.7.1", "prettyplease", "prost", "prost-types", "regex", - "syn 2.0.104", + "syn 2.0.112", "tempfile", ] [[package]] name = "prost-derive" -version = "0.13.4" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "157c5a9d7ea5c2ed2d9fb8f495b64759f7816c7eaea54ba3978f0d63000162e3" +checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" dependencies = [ "anyhow", - "itertools 0.13.0", + "itertools", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.112", ] [[package]] name = "prost-types" -version = "0.13.4" +version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc2f1e56baa61e93533aebc21af4d2134b70f66275e0fcdf3cbe43d77ff7e8fc" +checksum = "52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16" dependencies = [ "prost", ] [[package]] name = "psm" -version = "0.1.25" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f58e5423e24c18cc840e1c98370b3993c6649cd1678b4d24318bcf0a083cbe88" +checksum = "d11f2fedc3b7dafdc2851bc52f277377c5473d378859be234bc7ebb593144d01" dependencies = [ + "ar_archive_writer", "cc", ] [[package]] name = "pyballista" -version = "49.0.0" +version = "50.0.0" dependencies = [ "async-trait", "ballista", @@ -3812,11 +3679,10 @@ dependencies = [ [[package]] name = "pyo3" -version = "0.24.2" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5203598f366b11a02b13aa20cab591229ff0a89fd121a308a5df751d5fc9219" +checksum = "8970a78afe0628a3e3430376fc5fd76b6b45c4d43360ffd6cdd40bdde72b682a" dependencies = [ - "cfg-if", "indoc", "libc", "memoffset", @@ -3830,9 +3696,9 @@ dependencies = [ [[package]] name = "pyo3-async-runtimes" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd0b83dc42f9d41f50d38180dad65f0c99763b65a3ff2a81bf351dd35a1df8bf" +checksum = "d73cc6b1b7d8b3cef02101d37390dbdfe7e450dfea14921cae80a9534ba59ef2" dependencies = [ "futures", "once_cell", @@ -3843,9 +3709,9 @@ dependencies = [ [[package]] name = "pyo3-build-config" -version = "0.24.2" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99636d423fa2ca130fa5acde3059308006d46f98caac629418e53f7ebb1e9999" +checksum = "458eb0c55e7ece017adeba38f2248ff3ac615e53660d7c71a238d7d2a01c7598" dependencies = [ "once_cell", "target-lexicon", @@ -3853,9 +3719,9 @@ dependencies = [ [[package]] name = "pyo3-ffi" -version = "0.24.2" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78f9cf92ba9c409279bc3305b5409d90db2d2c22392d443a87df3a1adad59e33" +checksum = "7114fe5457c61b276ab77c5055f206295b812608083644a5c5b2640c3102565c" dependencies = [ "libc", "pyo3-build-config", @@ -3874,27 +3740,27 @@ dependencies = [ [[package]] name = "pyo3-macros" -version = "0.24.2" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b999cb1a6ce21f9a6b147dcf1be9ffedf02e0043aec74dc390f3007047cecd9" +checksum = "a8725c0a622b374d6cb051d11a0983786448f7785336139c3c94f5aa6bef7e50" dependencies = [ "proc-macro2", "pyo3-macros-backend", "quote", - "syn 2.0.104", + "syn 2.0.112", ] [[package]] name = "pyo3-macros-backend" -version = "0.24.2" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "822ece1c7e1012745607d5cf0bcb2874769f0f7cb34c4cde03b9358eb9ef911a" +checksum = "4109984c22491085343c05b0dbc54ddc405c3cf7b4374fc533f5c3313a572ccc" dependencies = [ "heck", "proc-macro2", "pyo3-build-config", "quote", - "syn 2.0.104", + "syn 2.0.112", ] [[package]] @@ -3905,9 +3771,9 @@ checksum = "5a651516ddc9168ebd67b24afd085a718be02f8858fe406591b013d101ce2f40" [[package]] name = "quick-xml" -version = "0.38.3" +version = "0.38.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42a232e7487fc2ef313d96dde7948e7a3c05101870d8985e4fd8d26aedd27b89" +checksum = "b66c2058c55a409d601666cffe35f04333cf1013010882cec174a7467cd4e21c" dependencies = [ "memchr", "serde", @@ -3915,37 +3781,40 @@ dependencies = [ [[package]] name = "quinn" -version = "0.11.6" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef" +checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" dependencies = [ "bytes", + "cfg_aliases", "pin-project-lite", "quinn-proto", "quinn-udp", - "rustc-hash 2.1.0", + "rustc-hash", "rustls", - "socket2 0.5.8", - "thiserror 2.0.11", + "socket2 0.6.1", + "thiserror", "tokio", "tracing", + "web-time", ] [[package]] name = "quinn-proto" -version = "0.11.9" +version = "0.11.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" +checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31" dependencies = [ "bytes", - "getrandom 0.2.15", - "rand 0.8.5", + "getrandom 0.3.4", + "lru-slab", + "rand", "ring", - "rustc-hash 2.1.0", + "rustc-hash", "rustls", "rustls-pki-types", "slab", - "thiserror 2.0.11", + "thiserror", "tinyvec", "tracing", "web-time", @@ -3953,63 +3822,41 @@ dependencies = [ [[package]] name = "quinn-udp" -version = "0.5.9" +version = "0.5.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c40286217b4ba3a71d644d752e6a0b71f13f1b6a2c5311acfcbe0c2418ed904" +checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.5.8", + "socket2 0.6.1", "tracing", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] name = "quote" -version = "1.0.40" +version = "1.0.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" dependencies = [ "proc-macro2", ] [[package]] name = "r-efi" -version = "5.2.0" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" [[package]] name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", -] - -[[package]] -name = "rand" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" -dependencies = [ - "rand_chacha 0.9.0", - "rand_core 0.9.3", - "zerocopy 0.8.24", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" dependencies = [ - "ppv-lite86", - "rand_core 0.6.4", + "rand_chacha", + "rand_core", ] [[package]] @@ -4019,16 +3866,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ "ppv-lite86", - "rand_core 0.9.3", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom 0.2.15", + "rand_core", ] [[package]] @@ -4037,7 +3875,7 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" dependencies = [ - "getrandom 0.3.2", + "getrandom 0.3.4", ] [[package]] @@ -4057,23 +3895,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76009fbe0614077fc1a2ce255e3a1881a2e3a3527097d5dc6d8212c585e7e38b" dependencies = [ "quote", - "syn 2.0.104", + "syn 2.0.112", ] [[package]] name = "redox_syscall" -version = "0.5.8" +version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ "bitflags", ] [[package]] name = "regex" -version = "1.11.1" +version = "1.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" dependencies = [ "aho-corasick", "memchr", @@ -4083,9 +3921,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.9" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" dependencies = [ "aho-corasick", "memchr", @@ -4094,15 +3932,15 @@ dependencies = [ [[package]] name = "regex-lite" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53a49587ad06b26609c52e423de037e7f57f20d53535d66e08c695f347df952a" +checksum = "8d942b98df5e658f56f20d592c7f868833fe38115e65c33003d8cd224b0155da" [[package]] name = "regex-syntax" -version = "0.8.5" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" +checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" [[package]] name = "repr_offset" @@ -4115,32 +3953,28 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.12" +version = "0.12.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43e734407157c3c2034e0258f5e4473ddb361b1e85f95a66690d67264d7cd1da" +checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" dependencies = [ "base64", "bytes", "futures-core", "futures-util", "h2", - "http 1.2.0", + "http 1.4.0", "http-body 1.0.1", "http-body-util", "hyper", "hyper-rustls", "hyper-util", - "ipnet", "js-sys", "log", - "mime", - "once_cell", "percent-encoding", "pin-project-lite", "quinn", "rustls", "rustls-native-certs", - "rustls-pemfile", "rustls-pki-types", "serde", "serde_json", @@ -4149,14 +3983,14 @@ dependencies = [ "tokio", "tokio-rustls", "tokio-util", - "tower 0.5.2", + "tower", + "tower-http", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "wasm-streams", "web-sys", - "windows-registry", ] [[package]] @@ -4167,29 +4001,17 @@ checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.15", + "getrandom 0.2.16", "libc", "untrusted", "windows-sys 0.52.0", ] -[[package]] -name = "rle-decode-fast" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3582f63211428f83597b51b2ddb88e2a91a9d52d12831f9d08f5e624e8977422" - [[package]] name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - -[[package]] -name = "rustc-hash" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "rustc_version" @@ -4202,35 +4024,22 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" -dependencies = [ - "bitflags", - "errno", - "libc", - "linux-raw-sys 0.4.15", - "windows-sys 0.59.0", -] - -[[package]] -name = "rustix" -version = "1.0.5" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d97817398dd4bb2e6da002002db259209759911da105da92bec29ccb12cf58bf" +checksum = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34" dependencies = [ "bitflags", "errno", "libc", - "linux-raw-sys 0.9.4", - "windows-sys 0.59.0", + "linux-raw-sys", + "windows-sys 0.61.2", ] [[package]] name = "rustls" -version = "0.23.21" +version = "0.23.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f287924602bf649d949c63dc8ac8b235fa5387d394020705b80c4eb597ce5b8" +checksum = "533f54bc6a7d4f647e46ad909549eda97bf5afc1585190ef692b4286b198bd8f" dependencies = [ "aws-lc-rs", "once_cell", @@ -4243,9 +4052,9 @@ dependencies = [ [[package]] name = "rustls-native-certs" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3" +checksum = "612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63" dependencies = [ "openssl-probe", "rustls-pki-types", @@ -4264,9 +4073,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.12.0" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" +checksum = "21e6f2ab2928ca4291b86736a8bd920a277a399bba1589409d72154ff87c1282" dependencies = [ "web-time", "zeroize", @@ -4274,9 +4083,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.102.8" +version = "0.103.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +checksum = "2ffdfa2f5286e2247234e03f680868ac2815974dc39e00ea15adc445d0aafe52" dependencies = [ "aws-lc-rs", "ring", @@ -4286,15 +4095,15 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.19" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "ryu" -version = "1.0.18" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "a50f4cf475b65d88e057964e0e9bb1f0aa9bbb2036dc65c64596b42932536984" [[package]] name = "same-file" @@ -4307,11 +4116,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.27" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" +checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -4322,9 +4131,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "security-framework" -version = "3.2.0" +version = "3.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" +checksum = "b3297343eaf830f66ede390ea39da1d462b6b0c1b000f420d0a83f898bbbe6ef" dependencies = [ "bitflags", "core-foundation", @@ -4335,9 +4144,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.14.0" +version = "2.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" +checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0" dependencies = [ "core-foundation-sys", "libc", @@ -4345,65 +4154,78 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.26" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" +checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" [[package]] name = "seq-macro" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4" +checksum = "1bc711410fbe7399f390ca1c3b60ad0f53f80e95c5eb935e52268a0e2cd49acc" [[package]] name = "serde" -version = "1.0.217" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" dependencies = [ + "serde_core", "serde_derive", ] [[package]] name = "serde_bytes" -version = "0.11.17" +version = "0.11.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8437fd221bde2d4ca316d61b90e337e9e702b3820b87d63caa9ba6c02bd06d96" +checksum = "a5d440709e79d88e51ac01c4b72fc6cb7314017bb7da9eeff678aa94c10e3ea8" dependencies = [ "serde", + "serde_core", +] + +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.217" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.112", ] [[package]] name = "serde_json" -version = "1.0.137" +version = "1.0.148" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "930cfb6e6abf99298aaad7d29abbef7a9999a9a8806a40088f55f0dcec03146b" +checksum = "3084b546a1dd6289475996f182a22aba973866ea8e8b02c51d9f46b1336a22da" dependencies = [ "itoa", "memchr", - "ryu", "serde", + "serde_core", + "zmij", ] [[package]] name = "serde_path_to_error" -version = "0.1.16" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" +checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457" dependencies = [ "itoa", "serde", + "serde_core", ] [[package]] @@ -4446,13 +4268,20 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.2" +version = "1.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" dependencies = [ + "errno", "libc", ] +[[package]] +name = "simd-adler32" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" + [[package]] name = "simdutf8" version = "0.1.5" @@ -4467,18 +4296,15 @@ checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" [[package]] name = "slab" -version = "0.4.9" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] +checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" [[package]] name = "smallvec" -version = "1.13.2" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" [[package]] name = "snap" @@ -4488,9 +4314,9 @@ checksum = "1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b" [[package]] name = "socket2" -version = "0.5.8" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" dependencies = [ "libc", "windows-sys 0.52.0", @@ -4508,9 +4334,9 @@ dependencies = [ [[package]] name = "sqlparser" -version = "0.55.0" +version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4521174166bac1ff04fe16ef4524c70144cd29682a45978978ca3d7f4e0be11" +checksum = "ec4b661c54b1e4b603b37873a18c59920e4c51ea8ea2cf527d925424dbd4437c" dependencies = [ "log", "recursive", @@ -4525,20 +4351,20 @@ checksum = "da5fc6819faabb412da764b99d3b713bb55083c11e7e0c00144d386cd6a1939c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.112", ] [[package]] name = "stable_deref_trait" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "stacker" -version = "0.1.20" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601f9201feb9b09c00266478bf459952b9ef9a6b94edb2f21eba14ab681a60a9" +checksum = "e1f8b29fb42aafcea4edeeb6b2f2d7ecd0d969c48b4cf0d2e64aafc471dd6e59" dependencies = [ "cc", "cfg-if", @@ -4547,12 +4373,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - [[package]] name = "strsim" version = "0.11.1" @@ -4565,6 +4385,12 @@ version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" +[[package]] +name = "strum" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf" + [[package]] name = "strum_macros" version = "0.26.4" @@ -4575,7 +4401,19 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.104", + "syn 2.0.112", +] + +[[package]] +name = "strum_macros" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn 2.0.112", ] [[package]] @@ -4597,9 +4435,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.104" +version = "2.0.112" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" +checksum = "21f182278bf2d2bcb3c88b1b08a37df029d71ce3d3ae26168e3c653b213b99d4" dependencies = [ "proc-macro2", "quote", @@ -4617,82 +4455,61 @@ dependencies = [ [[package]] name = "synstructure" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.112", ] [[package]] name = "target-lexicon" -version = "0.13.2" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a" +checksum = "b1dd07eb858a2067e2f3c7155d54e929265c264e6f37efe3ee7a8d1b5a1dd0ba" [[package]] name = "tempfile" -version = "3.19.1" +version = "3.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf" +checksum = "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c" dependencies = [ "fastrand", - "getrandom 0.3.2", + "getrandom 0.3.4", "once_cell", - "rustix 1.0.5", - "windows-sys 0.59.0", -] - -[[package]] -name = "thiserror" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" -dependencies = [ - "thiserror-impl 1.0.69", + "rustix", + "windows-sys 0.61.2", ] [[package]] name = "thiserror" -version = "2.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" -dependencies = [ - "thiserror-impl 2.0.11", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.69" +version = "2.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.104", + "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "2.0.11" +version = "2.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" +checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.112", ] [[package]] name = "thread_local" -version = "1.1.8" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" dependencies = [ "cfg-if", - "once_cell", ] [[package]] @@ -4708,9 +4525,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.37" +version = "0.3.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" +checksum = "91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d" dependencies = [ "deranged", "itoa", @@ -4723,15 +4540,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.2" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" +checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b" [[package]] name = "time-macros" -version = "0.2.19" +version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" +checksum = "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3" dependencies = [ "num-conv", "time-core", @@ -4748,9 +4565,9 @@ dependencies = [ [[package]] name = "tinystr" -version = "0.7.6" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" dependencies = [ "displaydoc", "zerovec", @@ -4758,9 +4575,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.8.1" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "022db8904dfa342efe721985167e9fcd16c29b226db4397ed752a761cfce81e8" +checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" dependencies = [ "tinyvec_macros", ] @@ -4796,14 +4613,14 @@ checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.112", ] [[package]] name = "tokio-rustls" -version = "0.26.1" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37" +checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" dependencies = [ "rustls", "tokio", @@ -4822,9 +4639,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.15" +version = "0.7.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" +checksum = "2efa149fe76073d6e8fd97ef4f4eca7b67f599660115591483572e406e165594" dependencies = [ "bytes", "futures-core", @@ -4835,17 +4652,16 @@ dependencies = [ [[package]] name = "tonic" -version = "0.12.3" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" +checksum = "7e581ba15a835f4d9ea06c55ab1bd4dce26fc53752c69a04aac00703bfb49ba9" dependencies = [ - "async-stream", "async-trait", "axum", "base64", "bytes", "h2", - "http 1.2.0", + "http 1.4.0", "http-body 1.0.1", "http-body-util", "hyper", @@ -4854,10 +4670,10 @@ dependencies = [ "percent-encoding", "pin-project", "prost", - "socket2 0.5.8", + "socket2 0.5.10", "tokio", "tokio-stream", - "tower 0.4.13", + "tower", "tower-layer", "tower-service", "tracing", @@ -4865,31 +4681,30 @@ dependencies = [ [[package]] name = "tonic-build" -version = "0.12.3" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9557ce109ea773b399c9b9e5dca39294110b74f1f342cb347a80d1fce8c26a11" +checksum = "eac6f67be712d12f0b41328db3137e0d0757645d8904b4cb7d51cd9c2279e847" dependencies = [ "prettyplease", "proc-macro2", "prost-build", "prost-types", "quote", - "syn 2.0.104", + "syn 2.0.112", ] [[package]] name = "tower" -version = "0.4.13" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" dependencies = [ "futures-core", "futures-util", - "indexmap 1.9.3", - "pin-project", + "indexmap", "pin-project-lite", - "rand 0.8.5", "slab", + "sync_wrapper", "tokio", "tokio-util", "tower-layer", @@ -4898,19 +4713,21 @@ dependencies = [ ] [[package]] -name = "tower" -version = "0.5.2" +name = "tower-http" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" +checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" dependencies = [ - "futures-core", + "bitflags", + "bytes", "futures-util", + "http 1.4.0", + "http-body 1.0.1", + "iri-string", "pin-project-lite", - "sync_wrapper", - "tokio", + "tower", "tower-layer", "tower-service", - "tracing", ] [[package]] @@ -4927,9 +4744,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.41" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" dependencies = [ "log", "pin-project-lite", @@ -4939,32 +4756,32 @@ dependencies = [ [[package]] name = "tracing-appender" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" +checksum = "786d480bce6247ab75f005b14ae1624ad978d3029d9113f0a22fa1ac773faeaf" dependencies = [ "crossbeam-channel", - "thiserror 1.0.69", + "thiserror", "time", "tracing-subscriber", ] [[package]] name = "tracing-attributes" -version = "0.1.28" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.112", ] [[package]] name = "tracing-core" -version = "0.1.33" +version = "0.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" dependencies = [ "once_cell", "valuable", @@ -4983,9 +4800,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.20" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5" +checksum = "2f30143827ddab0d256fd843b7a66d164e9f271cfa0dde49142c5ca0ca291f1e" dependencies = [ "matchers", "nu-ansi-term", @@ -5022,19 +4839,9 @@ checksum = "e78122066b0cb818b8afd08f7ed22f7fdbc3e90815035726f0840d0d26c0747a" [[package]] name = "twox-hash" -version = "1.6.3" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" -dependencies = [ - "cfg-if", - "static_assertions", -] - -[[package]] -name = "twox-hash" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b907da542cbced5261bd3256de1b3a1bf340a3d37f93425a07362a1d687de56" +checksum = "9ea3136b675547379c4bd395ca6b938e5ad3c3d20fad76e7fe85f9e0d011419c" [[package]] name = "typed-arena" @@ -5043,36 +4850,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a" [[package]] -name = "typed-builder" -version = "0.19.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06fbd5b8de54c5f7c91f6fe4cebb949be2125d7758e630bb58b1d831dbce600" -dependencies = [ - "typed-builder-macro", -] - -[[package]] -name = "typed-builder-macro" -version = "0.19.1" +name = "typenum" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9534daa9fd3ed0bd911d462a37f172228077e7abf18c18a5f67199d959205f8" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.104", -] +checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" [[package]] -name = "typenum" -version = "1.17.0" +name = "typewit" +version = "1.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +checksum = "f8c1ae7cc0fdb8b842d65d127cb981574b0d2b249b74d1c7a2986863dc134f71" [[package]] name = "unicode-ident" -version = "1.0.15" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11cd88e12b17c6494200a9c1b683a04fcac9573ed74cd1b62aeb2727c5592243" +checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" [[package]] name = "unicode-segmentation" @@ -5082,15 +4875,15 @@ checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] name = "unicode-width" -version = "0.2.0" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" +checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" [[package]] name = "unindent" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce" +checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3" [[package]] name = "untrusted" @@ -5100,13 +4893,14 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.4" +version = "2.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" dependencies = [ "form_urlencoded", "idna", "percent-encoding", + "serde", ] [[package]] @@ -5115,12 +4909,6 @@ version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" -[[package]] -name = "utf16_iter" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" - [[package]] name = "utf8_iter" version = "1.0.4" @@ -5135,13 +4923,13 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.18.1" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" +checksum = "e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a" dependencies = [ - "getrandom 0.3.2", + "getrandom 0.3.4", "js-sys", - "serde", + "serde_core", "wasm-bindgen", ] @@ -5184,50 +4972,37 @@ dependencies = [ [[package]] name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] -name = "wasi" -version = "0.14.2+wasi-0.2.4" +name = "wasip2" +version = "1.0.1+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" dependencies = [ - "wit-bindgen-rt", + "wit-bindgen", ] [[package]] name = "wasm-bindgen" -version = "0.2.100" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" +checksum = "0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd" dependencies = [ "cfg-if", "once_cell", "rustversion", "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" -dependencies = [ - "bumpalo", - "log", - "proc-macro2", - "quote", - "syn 2.0.104", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.50" +version = "0.4.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" +checksum = "836d9622d604feee9e5de25ac10e3ea5f2d65b41eac0d9ce72eb5deae707ce7c" dependencies = [ "cfg-if", "js-sys", @@ -5238,9 +5013,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.100" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" +checksum = "48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -5248,22 +5023,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.100" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" +checksum = "cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40" dependencies = [ + "bumpalo", "proc-macro2", "quote", - "syn 2.0.104", - "wasm-bindgen-backend", + "syn 2.0.112", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.100" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +checksum = "cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4" dependencies = [ "unicode-ident", ] @@ -5283,9 +5058,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.77" +version = "0.3.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" +checksum = "9b32828d774c412041098d182a8b38b16ea816958e07cf40eec2bc080ae137ac" dependencies = [ "js-sys", "wasm-bindgen", @@ -5301,18 +5076,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "which" -version = "4.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" -dependencies = [ - "either", - "home", - "once_cell", - "rustix 0.38.44", -] - [[package]] name = "winapi" version = "0.3.9" @@ -5331,11 +5094,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.9" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -5346,53 +5109,61 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-core" -version = "0.52.0" +version = "0.62.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" dependencies = [ - "windows-targets 0.52.6", + "windows-implement", + "windows-interface", + "windows-link", + "windows-result", + "windows-strings", ] [[package]] -name = "windows-link" -version = "0.1.3" +name = "windows-implement" +version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.112", +] [[package]] -name = "windows-link" -version = "0.2.1" +name = "windows-interface" +version = "0.59.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.112", +] [[package]] -name = "windows-registry" -version = "0.2.0" +name = "windows-link" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" -dependencies = [ - "windows-result", - "windows-strings", - "windows-targets 0.52.6", -] +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" [[package]] name = "windows-result" -version = "0.2.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" dependencies = [ - "windows-targets 0.52.6", + "windows-link", ] [[package]] name = "windows-strings" -version = "0.1.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" dependencies = [ - "windows-result", - "windows-targets 0.52.6", + "windows-link", ] [[package]] @@ -5428,7 +5199,7 @@ version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" dependencies = [ - "windows-link 0.2.1", + "windows-link", ] [[package]] @@ -5453,7 +5224,7 @@ version = "0.53.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" dependencies = [ - "windows-link 0.2.1", + "windows-link", "windows_aarch64_gnullvm 0.53.1", "windows_aarch64_msvc 0.53.1", "windows_i686_gnu 0.53.1", @@ -5561,25 +5332,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" [[package]] -name = "wit-bindgen-rt" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" -dependencies = [ - "bitflags", -] - -[[package]] -name = "write16" -version = "1.0.0" +name = "wit-bindgen" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" +checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" [[package]] name = "writeable" -version = "0.5.5" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" [[package]] name = "xmlparser" @@ -5598,11 +5360,10 @@ dependencies = [ [[package]] name = "yoke" -version = "0.7.5" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" dependencies = [ - "serde", "stable_deref_trait", "yoke-derive", "zerofrom", @@ -5610,89 +5371,79 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.7.5" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.112", "synstructure", ] [[package]] name = "zerocopy" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" -dependencies = [ - "byteorder", - "zerocopy-derive 0.7.35", -] - -[[package]] -name = "zerocopy" -version = "0.8.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879" -dependencies = [ - "zerocopy-derive 0.8.24", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.35" +version = "0.8.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +checksum = "fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.104", + "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.24" +version = "0.8.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be" +checksum = "d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.112", ] [[package]] name = "zerofrom" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" dependencies = [ "zerofrom-derive", ] [[package]] name = "zerofrom-derive" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.112", "synstructure", ] [[package]] name = "zeroize" -version = "1.8.1" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" + +[[package]] +name = "zerotrie" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] [[package]] name = "zerovec" -version = "0.10.4" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" dependencies = [ "yoke", "zerofrom", @@ -5701,44 +5452,50 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.10.3" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.112", ] [[package]] name = "zlib-rs" -version = "0.5.1" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "626bd9fa9734751fc50d6060752170984d7053f5a39061f524cda68023d4db8a" +checksum = "40990edd51aae2c2b6907af74ffb635029d5788228222c4bb811e9351c0caad3" + +[[package]] +name = "zmij" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3280a1b827474fcd5dbef4b35a674deb52ba5c312363aef9135317df179d81b" [[package]] name = "zstd" -version = "0.13.2" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcf2b778a664581e31e389454a7072dab1647606d44f7feea22cd5abb9c9f3f9" +checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" dependencies = [ "zstd-safe", ] [[package]] name = "zstd-safe" -version = "7.2.1" +version = "7.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54a3ab4db68cea366acc5c897c7b4d4d1b8994a9cd6e6f841f8964566a419059" +checksum = "8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d" dependencies = [ "zstd-sys", ] [[package]] name = "zstd-sys" -version = "2.0.13+zstd.1.5.6" +version = "2.0.16+zstd.1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" +checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748" dependencies = [ "cc", "pkg-config", diff --git a/python/Cargo.toml b/python/Cargo.toml index 6c28854fe3..98c6c64c3a 100644 --- a/python/Cargo.toml +++ b/python/Cargo.toml @@ -17,29 +17,29 @@ [package] name = "pyballista" -version = "49.0.0" +version = "50.0.0" homepage = "https://datafusion.apache.org/ballista/" repository = "https://github.com/apache/datafusion-ballista" authors = ["Apache DataFusion "] description = "Apache Arrow Ballista Python Client" readme = "README.md" license = "Apache-2.0" -edition = "2021" -rust-version = "1.82.0" +edition = "2024" +rust-version = "1.88.0" include = ["/src", "/ballista", "/LICENSE.txt", "pyproject.toml", "Cargo.toml", "Cargo.lock"] publish = false [dependencies] async-trait = "0.1.89" -ballista = { version = "49.0.0" } -ballista-core = { version = "49.0.0" } -ballista-executor = { version = "49.0.0", default-features = false } -ballista-scheduler = { version = "49.0.0", default-features = false } -datafusion = { version = "49", features = ["pyarrow", "avro"] } -datafusion-proto = { version = "49" } -datafusion-python = { version = "49" } +ballista = { version = "50.0.0" } +ballista-core = { version = "50.0.0" } +ballista-executor = { version = "50.0.0", default-features = false } +ballista-scheduler = { version = "50.0.0", default-features = false } +datafusion = { version = "50", features = ["pyarrow", "avro"] } +datafusion-proto = { version = "50" } +datafusion-python = { version = "50" } -pyo3 = { version = "0.24", features = ["extension-module", "abi3", "abi3-py39"] } +pyo3 = { version = "0.25", features = ["extension-module", "abi3", "abi3-py39"] } pyo3-log = "0.12" tokio = { version = "1.48", features = ["macros", "rt", "rt-multi-thread", "sync"] } @@ -48,4 +48,4 @@ crate-type = ["cdylib"] name = "ballista" [build-dependencies] -pyo3-build-config = "0.24" +pyo3-build-config = "0.25" diff --git a/python/README.md b/python/README.md index cfa78cc910..1f52088cb9 100644 --- a/python/README.md +++ b/python/README.md @@ -132,3 +132,10 @@ python3 -m pytest ```shell uv run --no-project pytest ``` + +### Updating requirements.txt + +```shell +uv pip compile pyproject.toml -o requirements.txt +uv pip compile pyproject.toml --group dev -o requirements-dev.txt +``` diff --git a/python/pyproject.toml b/python/pyproject.toml index d2ff35b6fd..5c6d5f609e 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -43,7 +43,7 @@ classifiers = [ dependencies = [ "pyarrow>=21.0.0", "cloudpickle", - "datafusion==49", + "datafusion==50", ] dynamic = ["version"] diff --git a/python/requirements-dev.txt b/python/requirements-dev.txt new file mode 100644 index 0000000000..386ac634c2 --- /dev/null +++ b/python/requirements-dev.txt @@ -0,0 +1,65 @@ +# This file was autogenerated by uv via the following command: +# uv pip compile pyproject.toml --group dev -o requirements-dev.txt +certifi==2025.11.12 + # via requests +cffi==2.0.0 + # via + # cryptography + # pynacl +charset-normalizer==3.4.4 + # via requests +cloudpickle==3.1.2 + # via ballista (pyproject.toml) +cryptography==46.0.3 + # via pyjwt +datafusion==50.0.0 + # via ballista (pyproject.toml) +deprecated==1.3.1 + # via pygithub +idna==3.11 + # via requests +iniconfig==2.3.0 + # via pytest +maturin==1.10.2 + # via ballista (pyproject.toml:dev) +packaging==25.0 + # via pytest +pluggy==1.6.0 + # via pytest +pyarrow==22.0.0 + # via + # ballista (pyproject.toml) + # datafusion +pycparser==2.23 + # via cffi +pygithub==2.5.0 + # via ballista (pyproject.toml:dev) +pygments==2.19.2 + # via pytest +pyjwt==2.10.1 + # via pygithub +pynacl==1.6.1 + # via pygithub +pytest==9.0.2 + # via + # ballista (pyproject.toml:dev) + # pytest-asyncio +pytest-asyncio==1.3.0 + # via ballista (pyproject.toml:dev) +requests==2.32.5 + # via pygithub +ruff==0.14.10 + # via ballista (pyproject.toml:dev) +toml==0.10.2 + # via ballista (pyproject.toml:dev) +typing-extensions==4.15.0 + # via + # datafusion + # pygithub + # pytest-asyncio +urllib3==2.6.2 + # via + # pygithub + # requests +wrapt==2.0.1 + # via deprecated diff --git a/python/requirements.txt b/python/requirements.txt index 38c7820ade..8c4048c622 100644 --- a/python/requirements.txt +++ b/python/requirements.txt @@ -1,6 +1,12 @@ -datafusion==49.0.0 -pyarrow -pytest -maturin>=1.8.0,<2.0.0 -cloudpickle -pandas \ No newline at end of file +# This file was autogenerated by uv via the following command: +# uv pip compile pyproject.toml -o requirements.txt +cloudpickle==3.1.2 + # via ballista (pyproject.toml) +datafusion==50.0.0 + # via ballista (pyproject.toml) +pyarrow==22.0.0 + # via + # ballista (pyproject.toml) + # datafusion +typing-extensions==4.15.0 + # via datafusion diff --git a/python/src/cluster.rs b/python/src/cluster.rs index 848fc48884..509e854946 100644 --- a/python/src/cluster.rs +++ b/python/src/cluster.rs @@ -22,13 +22,13 @@ use crate::codec::{PyLogicalCodec, PyPhysicalCodec}; use crate::utils::to_pyerr; use crate::utils::{spawn_feature, wait_for_future}; use ballista_executor::executor_process::{ - start_executor_process, ExecutorProcessConfig, + ExecutorProcessConfig, start_executor_process, }; use ballista_scheduler::cluster::BallistaCluster; use ballista_scheduler::config::SchedulerConfig; use ballista_scheduler::scheduler_process::start_server; use pyo3::exceptions::PyException; -use pyo3::{pyclass, pymethods, PyResult, Python}; +use pyo3::{PyResult, Python, pyclass, pymethods}; use tokio::task::JoinHandle; #[pyclass(name = "BallistaScheduler", module = "ballista", subclass)] diff --git a/python/src/lib.rs b/python/src/lib.rs index 289d670923..2e2c1897aa 100644 --- a/python/src/lib.rs +++ b/python/src/lib.rs @@ -47,6 +47,12 @@ pub struct PyBallistaBuilder { session_config: SessionConfig, } +impl Default for PyBallistaBuilder { + fn default() -> Self { + Self::new() + } +} + #[pymethods] impl PyBallistaBuilder { #[new] diff --git a/python/uv.lock b/python/uv.lock index 7b0e3764d2..c027a2bbb6 100644 --- a/python/uv.lock +++ b/python/uv.lock @@ -33,7 +33,7 @@ dev = [ [package.metadata] requires-dist = [ { name = "cloudpickle" }, - { name = "datafusion", specifier = "==49" }, + { name = "datafusion", specifier = "==50" }, { name = "pyarrow", specifier = ">=21.0.0" }, ] @@ -268,19 +268,19 @@ wheels = [ [[package]] name = "datafusion" -version = "49.0.0" +version = "50.0.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pyarrow" }, { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/1b/81/eb7f69e184eba6f8fc748f09aa6ac39a50a4aa54e66e1529769d68d7c9e4/datafusion-49.0.0.tar.gz", hash = "sha256:f3ba4f00d56a199a90df145f43667131dbba9aea9b170cc61cd3663241a74a94", size = 183558, upload-time = "2025-08-29T01:39:45.889Z" } +sdist = { url = "https://files.pythonhosted.org/packages/99/af/536d79db4676564d118a9cea0775774e144b57d98942b7481e5cebc95932/datafusion-50.0.0.tar.gz", hash = "sha256:da6e2be2c56fe64319acc8e3611b7855a7429091fdf27baa7e850fbb798a8302", size = 184983, upload-time = "2025-09-23T10:49:45.015Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/02/16/a1438058d784deea42105b869323007cf9dd8a52dbb4551a9ef23967a235/datafusion-49.0.0-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:bb419810c7b1032ec4a374260d289279c5911e3fcdcfb57c9513b6d256fe0330", size = 26455326, upload-time = "2025-08-29T01:39:19.759Z" }, - { url = "https://files.pythonhosted.org/packages/83/8d/d906b27b61838002b1cf0880eaa75c741409f0f6386192f2fabee24684af/datafusion-49.0.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:95d82ceda75767714629c1b5572a41bc919066156163d1ca3777418ffdbf4916", size = 23623419, upload-time = "2025-08-29T01:39:26.613Z" }, - { url = "https://files.pythonhosted.org/packages/66/4e/2a113bef5e51e56f7273f193959a80e4abd48a2ff6856cfa219dbba85600/datafusion-49.0.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e093a8d8cc68bf48376c2f553dcec35829be3ea2c9557516fcf93d2bf4695593", size = 29392602, upload-time = "2025-08-29T01:39:32.053Z" }, - { url = "https://files.pythonhosted.org/packages/ea/80/f49809e61f28343f303059572d9fdfedcb6f08653f34c057c2018d98ab5e/datafusion-49.0.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:7e9286f92f9f292a57873f8b83f10796decba98f4c022e92d929511f68e2d79a", size = 27505100, upload-time = "2025-08-29T01:39:36.398Z" }, - { url = "https://files.pythonhosted.org/packages/f6/d7/54f1d73a9e8b084965ea40531988ca25e57f7f5c77560e198483b1c7bf25/datafusion-49.0.0-cp39-abi3-win_amd64.whl", hash = "sha256:2079a2ec6e73820a21d6f8d466a1410a94f8ef3171eba2cd2461790fc0437c91", size = 28352189, upload-time = "2025-08-29T01:39:43.546Z" }, + { url = "https://files.pythonhosted.org/packages/7c/93/8d0c750cfbde77cf55a647f160cac5373e0f481a0fcd984aad38d0738518/datafusion-50.0.0-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:40089b27ed8a6f0e4503b6ae1c56a61ded99782e703ed4baa37365020c4041fd", size = 28922036, upload-time = "2025-09-23T10:49:05.43Z" }, + { url = "https://files.pythonhosted.org/packages/e7/91/8af3a666f1ae5e797c5efaae0edc9f2e2b4a500e1df64ece108c4f614fd9/datafusion-50.0.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:803bf3b28ee3c7446b06ec7448cf6f061ab0d32b5e5b986a525c42bfdd138e3f", size = 25811025, upload-time = "2025-09-23T10:49:08.941Z" }, + { url = "https://files.pythonhosted.org/packages/18/47/ced6fcd33a0ef3e469b9e7059e974b5603b5e81e7a2d76859bffbf945b60/datafusion-50.0.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20342283580526f6f9492d1615407fbe1329ef61a8fe98dbf507649fe8d4593b", size = 32100223, upload-time = "2025-09-23T10:49:13.09Z" }, + { url = "https://files.pythonhosted.org/packages/56/93/ab5474c9b26064139a8cfa7c8a785bf811f3ba8ae45ff9544069c2173dd9/datafusion-50.0.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:fceeb075fc7a13841f87259e0940591d1e9c4a179ece5d84fada302ee48d8a04", size = 29924005, upload-time = "2025-09-23T10:49:16.919Z" }, + { url = "https://files.pythonhosted.org/packages/4c/c6/029b23f731062d0c51d6cddadc44a263523688ce3d51740d2b365add46ec/datafusion-50.0.0-cp39-abi3-win_amd64.whl", hash = "sha256:d3102e1a78464d6758cf1811ef2d0c55e50d482b68674fea0abeb75a61ce6cd6", size = 31044416, upload-time = "2025-09-23T10:49:20.259Z" }, ] [[package]] diff --git a/rustfmt.toml b/rustfmt.toml index b5292068cb..3b15ecf650 100644 --- a/rustfmt.toml +++ b/rustfmt.toml @@ -15,6 +15,6 @@ # specific language governing permissions and limitations # under the License. -edition = "2021" +edition = "2024" max_width = 90