diff --git a/Cargo.lock b/Cargo.lock index 993635fd141..2b81b54fd19 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -601,7 +601,7 @@ dependencies = [ "alloy-serde", "alloy-sol-types", "arbitrary", - "itertools 0.13.0", + "itertools 0.14.0", "serde", "serde_json", "serde_with", @@ -781,7 +781,7 @@ checksum = "5ce599598ef8ebe067f3627509358d9faaa1ef94f77f834a7783cd44209ef55c" dependencies = [ "alloy-json-rpc", "alloy-transport", - "itertools 0.13.0", + "itertools 0.14.0", "reqwest", "serde_json", "tower 0.5.2", @@ -1158,9 +1158,9 @@ dependencies = [ [[package]] name = "arrow" -version = "57.3.0" +version = "58.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4754a624e5ae42081f464514be454b39711daae0458906dacde5f4c632f33a8" +checksum = "602268ce9f569f282cedb9a9f6bac569b680af47b9b077d515900c03c5d190da" dependencies = [ "arrow-arith", "arrow-array", @@ -1179,9 +1179,9 @@ dependencies = [ [[package]] name = "arrow-arith" -version = "57.3.0" +version = "58.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7b3141e0ec5145a22d8694ea8b6d6f69305971c4fa1c1a13ef0195aef2d678b" +checksum = "cd53c6bf277dea91f136ae8e3a5d7041b44b5e489e244e637d00ae302051f56f" dependencies = [ "arrow-array", "arrow-buffer", @@ -1193,9 +1193,9 @@ dependencies = [ [[package]] name = "arrow-array" -version = "57.3.0" +version = "58.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8955af33b25f3b175ee10af580577280b4bd01f7e823d94c7cdef7cf8c9aef" +checksum = "e53796e07a6525edaf7dc28b540d477a934aff14af97967ad1d5550878969b9e" dependencies = [ "ahash", "arrow-buffer", @@ -1211,9 +1211,9 @@ dependencies = [ [[package]] name = "arrow-buffer" -version = "57.3.0" +version = "58.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c697ddca96183182f35b3a18e50b9110b11e916d7b7799cbfd4d34662f2c56c2" +checksum = "f2c1a85bb2e94ee10b76531d8bc3ce9b7b4c0d508cabfb17d477f63f2617bd20" dependencies = [ "bytes", "half", @@ -1223,9 +1223,9 @@ dependencies = [ [[package]] name = "arrow-cast" -version = "57.3.0" +version = "58.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "646bbb821e86fd57189c10b4fcdaa941deaf4181924917b0daa92735baa6ada5" +checksum = "89fb245db6b0e234ed8e15b644edb8664673fefe630575e94e62cd9d489a8a26" dependencies = [ "arrow-array", "arrow-buffer", @@ -1244,9 +1244,9 @@ dependencies = [ [[package]] name = "arrow-csv" -version = "57.3.0" +version = "58.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da746f4180004e3ce7b83c977daf6394d768332349d3d913998b10a120b790a" +checksum = "d374882fb465a194462527c0c15a93aa19a554cf690a6b77a26b2a02539937a7" dependencies = [ "arrow-array", "arrow-cast", @@ -1259,9 +1259,9 @@ dependencies = [ [[package]] name = "arrow-data" -version = "57.3.0" +version = "58.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fdd994a9d28e6365aa78e15da3f3950c0fdcea6b963a12fa1c391afb637b304" +checksum = "189d210bc4244c715fa3ed9e6e22864673cccb73d5da28c2723fb2e527329b33" dependencies = [ "arrow-buffer", "arrow-schema", @@ -1272,9 +1272,9 @@ dependencies = [ [[package]] name = "arrow-flight" -version = "57.3.0" +version = "58.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58c5b083668e6230eae3eab2fc4b5fb989974c845d0aa538dde61a4327c78675" +checksum = "b4f5cdf00ee0003ba0768d3575d0afc47d736b29673b14c3c228fdffa9a3fb29" dependencies = [ "arrow-arith", "arrow-array", @@ -1300,9 +1300,9 @@ dependencies = [ [[package]] name = "arrow-ipc" -version = "57.3.0" +version = "58.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abf7df950701ab528bf7c0cf7eeadc0445d03ef5d6ffc151eaae6b38a58feff1" +checksum = "7968c2e5210c41f4909b2ef76f6e05e172b99021c2def5edf3cc48fdd39d1d6c" dependencies = [ "arrow-array", "arrow-buffer", @@ -1314,9 +1314,9 @@ dependencies = [ [[package]] name = "arrow-json" -version = "57.3.0" +version = "58.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ff8357658bedc49792b13e2e862b80df908171275f8e6e075c460da5ee4bf86" +checksum = "92111dba5bf900f443488e01f00d8c4ddc2f47f5c50039d18120287b580baa22" dependencies = [ "arrow-array", "arrow-buffer", @@ -1338,9 +1338,9 @@ dependencies = [ [[package]] name = "arrow-ord" -version = "57.3.0" +version = "58.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d8f1870e03d4cbed632959498bcc84083b5a24bded52905ae1695bd29da45b" +checksum = "211136cb253577ee1a6665f741a13136d4e563f64f5093ffd6fb837af90b9495" dependencies = [ "arrow-array", "arrow-buffer", @@ -1351,9 +1351,9 @@ dependencies = [ [[package]] name = "arrow-row" -version = "57.3.0" +version = "58.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18228633bad92bff92a95746bbeb16e5fc318e8382b75619dec26db79e4de4c0" +checksum = "8e0f20145f9f5ea3fe383e2ba7a7487bf19be36aa9dbf5dd6a1f92f657179663" dependencies = [ "arrow-array", "arrow-buffer", @@ -1364,15 +1364,15 @@ dependencies = [ [[package]] name = "arrow-schema" -version = "57.3.0" +version = "58.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c872d36b7bf2a6a6a2b40de9156265f0242910791db366a2c17476ba8330d68" +checksum = "1b47e0ca91cc438d2c7879fe95e0bca5329fff28649e30a88c6f760b1faeddcb" [[package]] name = "arrow-select" -version = "57.3.0" +version = "58.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68bf3e3efbd1278f770d67e5dc410257300b161b93baedb3aae836144edcaf4b" +checksum = "750a7d1dda177735f5e82a314485b6915c7cccdbb278262ac44090f4aba4a325" dependencies = [ "ahash", "arrow-array", @@ -1384,9 +1384,9 @@ dependencies = [ [[package]] name = "arrow-string" -version = "57.3.0" +version = "58.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85e968097061b3c0e9fe3079cf2e703e487890700546b5b0647f60fca1b5a8d8" +checksum = "e1eab1208bc4fe55d768cdc9b9f3d9df5a794cdb3ee2586bf89f9b30dc31ad8c" dependencies = [ "arrow-array", "arrow-buffer", @@ -4707,7 +4707,7 @@ checksum = "4b0f83760fb341a774ed326568e19f5a863af4a952def8c39f9ab92fd95b88e5" dependencies = [ "arbitrary", "equivalent", - "hashbrown 0.15.2", + "hashbrown 0.16.1", "serde", "serde_core", ] @@ -6154,8 +6154,8 @@ version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "343d3bd7056eda839b03204e68deff7d1b13aba7af2b2fd16890697274262ee7" dependencies = [ - "heck 0.4.1", - "itertools 0.10.5", + "heck 0.5.0", + "itertools 0.14.0", "log", "multimap", "petgraph", @@ -6176,7 +6176,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" dependencies = [ "anyhow", - "itertools 0.10.5", + "itertools 0.14.0", "proc-macro2", "quote", "syn 2.0.117", diff --git a/Cargo.toml b/Cargo.toml index 9f375282202..f8bb378ac49 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -114,8 +114,8 @@ url = "2.5.8" # Dependencies related to Amp subgraphs ahash = "0.8.11" -arrow = { version = "=57.3.0" } -arrow-flight = { version = "=57.3.0", features = ["flight-sql-experimental"] } +arrow = { version = "=58.0.0" } +arrow-flight = { version = "=58.0.0", features = ["flight-sql-experimental"] } futures = "0.3.31" half = "2.7.1" indoc = "2.0.7" diff --git a/graph/src/amp/client/flight_client.rs b/graph/src/amp/client/flight_client.rs index d2046b96e29..87dd747f0c8 100644 --- a/graph/src/amp/client/flight_client.rs +++ b/graph/src/amp/client/flight_client.rs @@ -2,7 +2,7 @@ use std::{collections::HashMap, ops::RangeInclusive, time::Duration}; use ahash::RandomState; use alloy::primitives::{BlockHash, BlockNumber}; -use arrow::{datatypes::Schema, error::ArrowError}; +use arrow::datatypes::Schema; use arrow_flight::{ decode::DecodedPayload, error::FlightError, flight_service_client::FlightServiceClient, sql::client::FlightSqlServiceClient, @@ -103,9 +103,9 @@ impl Client for FlightClient { let flight_info = raw_client .execute(query, TXN_ID) .await - .map_err(Error::Service)?; + .map_err(Error::service)?; - flight_info.try_decode_schema().map_err(Error::Service) + flight_info.try_decode_schema().map_err(Error::service) }) } @@ -163,14 +163,14 @@ impl Client for FlightClient { let flight_info = raw_client .execute(query, TXN_ID) .await - .map_err(Error::Service)?; + .map_err(Error::service)?; for (endpoint_index, endpoint) in flight_info.endpoint.into_iter().enumerate() { let Some(ticket) = endpoint.ticket else { continue; }; - let mut stream = raw_client.do_get(ticket).await.map_err(Error::Service)?.into_inner(); + let mut stream = raw_client.do_get(ticket).await.map_err(Error::service)?.into_inner(); let mut batch_index = 0u32; let mut prev_block_ranges = prev_block_ranges.clone(); @@ -232,12 +232,18 @@ pub enum Error { Connection(#[source] tonic::transport::Error), #[error("service failed: {0:#}")] - Service(#[source] ArrowError), + Service(#[source] Box), #[error("stream failed: {0:#}")] Stream(#[source] FlightError), } +impl Error { + pub fn service(e: T) -> Self { + Self::Service(Box::new(e)) + } +} + impl error::IsDeterministic for Error { fn is_deterministic(&self) -> bool { let msg = match self {