From b0f70907559d196b92bffbd7c50a75820a9e5dc6 Mon Sep 17 00:00:00 2001 From: aradwann Date: Mon, 30 Sep 2024 19:05:04 +0300 Subject: [PATCH] Resolve RUSTSEC-2023-0086 upgrade API breaking arrow dependencies fix SessionStateBuilder deprecation warnings replace closure with function remove unused tonic-0-11 cargo update upgrade arrow upgrade arrow convert This fixes #2004. --- Cargo.lock | 1125 +++++++---------- Cargo.toml | 11 +- cli/Cargo.toml | 4 +- crates/admin/Cargo.toml | 1 - crates/admin/src/storage_query/query.rs | 42 +- crates/errors/Cargo.toml | 2 +- crates/node/Cargo.toml | 1 - .../node/src/network_server/handler/node.rs | 41 +- crates/storage-query-datafusion/Cargo.toml | 2 +- .../storage-query-datafusion/src/context.rs | 20 +- .../src/table_providers.rs | 6 +- deny.toml | 1 - 12 files changed, 496 insertions(+), 760 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index eace05c129..d307d630f2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -158,102 +158,50 @@ checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" [[package]] name = "arrow" -version = "51.0.0" +version = "53.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "219d05930b81663fd3b32e3bde8ce5bff3c4d23052a99f11a8fa50a3b47b2658" +checksum = "a9ba0d7248932f4e2a12fb37f0a2e3ec82b3bdedbac2a1dce186e036843b8f8c" dependencies = [ - "arrow-arith 51.0.0", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-cast 51.0.0", - "arrow-csv 51.0.0", - "arrow-data 51.0.0", - "arrow-ipc 51.0.0", - "arrow-json 51.0.0", - "arrow-ord 51.0.0", - "arrow-row 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", - "arrow-string 51.0.0", -] - -[[package]] -name = "arrow" -version = "52.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05048a8932648b63f21c37d88b552ccc8a65afb6dfe9fc9f30ce79174c2e7a85" -dependencies = [ - "arrow-arith 52.2.0", - "arrow-array 52.2.0", - "arrow-buffer 52.2.0", - "arrow-cast 52.2.0", - "arrow-csv 52.2.0", - "arrow-data 52.2.0", - "arrow-ipc 52.2.0", - "arrow-json 52.2.0", - "arrow-ord 52.2.0", - "arrow-row 52.2.0", - "arrow-schema 52.2.0", - "arrow-select 52.2.0", - "arrow-string 52.2.0", -] - -[[package]] -name = "arrow-arith" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0272150200c07a86a390be651abdd320a2d12e84535f0837566ca87ecd8f95e0" -dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "chrono", - "half", - "num", + "arrow-arith", + "arrow-array", + "arrow-buffer", + "arrow-cast", + "arrow-csv", + "arrow-data", + "arrow-ipc", + "arrow-json", + "arrow-ord", + "arrow-row", + "arrow-schema", + "arrow-select", + "arrow-string", ] [[package]] name = "arrow-arith" -version = "52.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d8a57966e43bfe9a3277984a14c24ec617ad874e4c0e1d2a1b083a39cfbf22c" -dependencies = [ - "arrow-array 52.2.0", - "arrow-buffer 52.2.0", - "arrow-data 52.2.0", - "arrow-schema 52.2.0", - "chrono", - "half", - "num", -] - -[[package]] -name = "arrow-array" -version = "51.0.0" +version = "53.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8010572cf8c745e242d1b632bd97bd6d4f40fefed5ed1290a8f433abaa686fea" +checksum = "d60afcdc004841a5c8d8da4f4fa22d64eb19c0c01ef4bcedd77f175a7cf6e38f" dependencies = [ - "ahash", - "arrow-buffer 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", "chrono", "half", - "hashbrown 0.14.5", "num", ] [[package]] name = "arrow-array" -version = "52.2.0" +version = "53.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16f4a9468c882dc66862cef4e1fd8423d47e67972377d85d80e022786427768c" +checksum = "7f16835e8599dbbb1659fd869d865254c4cf32c6c2bb60b6942ac9fc36bfa5da" dependencies = [ "ahash", - "arrow-buffer 52.2.0", - "arrow-data 52.2.0", - "arrow-schema 52.2.0", + "arrow-buffer", + "arrow-data", + "arrow-schema", "chrono", "chrono-tz", "half", @@ -263,20 +211,9 @@ dependencies = [ [[package]] name = "arrow-buffer" -version = "51.0.0" +version = "53.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d0a2432f0cba5692bf4cb757469c66791394bac9ec7ce63c1afe74744c37b27" -dependencies = [ - "bytes", - "half", - "num", -] - -[[package]] -name = "arrow-buffer" -version = "52.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c975484888fc95ec4a632cdc98be39c085b1bb518531b0c80c5d462063e5daa1" +checksum = "1a1f34f0faae77da6b142db61deba2cb6d60167592b178be317b341440acba80" dependencies = [ "bytes", "half", @@ -285,15 +222,15 @@ dependencies = [ [[package]] name = "arrow-cast" -version = "51.0.0" +version = "53.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9abc10cd7995e83505cc290df9384d6e5412b207b79ce6bdff89a10505ed2cba" +checksum = "450e4abb5775bca0740bec0bcf1b1a5ae07eff43bd625661c4436d8e8e4540c4" dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", + "arrow-select", "atoi", "base64 0.22.0", "chrono", @@ -304,57 +241,17 @@ dependencies = [ "ryu", ] -[[package]] -name = "arrow-cast" -version = "52.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da26719e76b81d8bc3faad1d4dbdc1bcc10d14704e63dc17fc9f3e7e1e567c8e" -dependencies = [ - "arrow-array 52.2.0", - "arrow-buffer 52.2.0", - "arrow-data 52.2.0", - "arrow-schema 52.2.0", - "arrow-select 52.2.0", - "atoi", - "base64 0.22.0", - "chrono", - "comfy-table", - "half", - "lexical-core", - "num", - "ryu", -] - -[[package]] -name = "arrow-csv" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95cbcba196b862270bf2a5edb75927380a7f3a163622c61d40cbba416a6305f2" -dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-cast 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "chrono", - "csv", - "csv-core", - "lazy_static", - "lexical-core", - "regex", -] - [[package]] name = "arrow-csv" -version = "52.2.0" +version = "53.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c13c36dc5ddf8c128df19bab27898eea64bf9da2b555ec1cd17a8ff57fba9ec2" +checksum = "d3a4e4d63830a341713e35d9a42452fbc6241d5f42fa5cf6a4681b8ad91370c4" dependencies = [ - "arrow-array 52.2.0", - "arrow-buffer 52.2.0", - "arrow-cast 52.2.0", - "arrow-data 52.2.0", - "arrow-schema 52.2.0", + "arrow-array", + "arrow-buffer", + "arrow-cast", + "arrow-data", + "arrow-schema", "chrono", "csv", "csv-core", @@ -365,89 +262,63 @@ dependencies = [ [[package]] name = "arrow-data" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2742ac1f6650696ab08c88f6dd3f0eb68ce10f8c253958a18c943a68cd04aec5" -dependencies = [ - "arrow-buffer 51.0.0", - "arrow-schema 51.0.0", - "half", - "num", -] - -[[package]] -name = "arrow-data" -version = "52.2.0" +version = "53.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd9d6f18c65ef7a2573ab498c374d8ae364b4a4edf67105357491c031f716ca5" +checksum = "2b1e618bbf714c7a9e8d97203c806734f012ff71ae3adc8ad1b075689f540634" dependencies = [ - "arrow-buffer 52.2.0", - "arrow-schema 52.2.0", + "arrow-buffer", + "arrow-schema", "half", "num", ] [[package]] name = "arrow-flight" -version = "52.2.0" +version = "53.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e7ffbc96072e466ae5188974725bb46757587eafe427f77a25b828c375ae882" +checksum = "985074e2047f741abd4fd4a50d031c28ca8262a801a042bd41e1c5ab1ccdd243" dependencies = [ - "arrow-array 52.2.0", - "arrow-buffer 52.2.0", - "arrow-cast 52.2.0", - "arrow-ipc 52.2.0", - "arrow-schema 52.2.0", + "arrow-array", + "arrow-buffer", + "arrow-cast", + "arrow-ipc", + "arrow-schema", "base64 0.22.0", "bytes", "futures", "paste", - "prost 0.12.3", - "prost-types 0.12.3", + "prost", + "prost-types", "tokio", - "tonic 0.11.0", + "tonic", ] [[package]] name = "arrow-ipc" -version = "51.0.0" +version = "53.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a42ea853130f7e78b9b9d178cb4cd01dee0f78e64d96c2949dc0a915d6d9e19d" +checksum = "f98e983549259a2b97049af7edfb8f28b8911682040e99a94e4ceb1196bd65c2" dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-cast 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "flatbuffers 23.5.26", -] - -[[package]] -name = "arrow-ipc" -version = "52.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e786e1cdd952205d9a8afc69397b317cfbb6e0095e445c69cda7e8da5c1eeb0f" -dependencies = [ - "arrow-array 52.2.0", - "arrow-buffer 52.2.0", - "arrow-cast 52.2.0", - "arrow-data 52.2.0", - "arrow-schema 52.2.0", - "flatbuffers 24.3.25", + "arrow-array", + "arrow-buffer", + "arrow-cast", + "arrow-data", + "arrow-schema", + "flatbuffers", "lz4_flex", ] [[package]] name = "arrow-json" -version = "51.0.0" +version = "53.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaafb5714d4e59feae964714d724f880511500e3569cc2a94d02456b403a2a49" +checksum = "b198b9c6fcf086501730efbbcb483317b39330a116125af7bb06467d04b352a3" dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-cast 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", + "arrow-array", + "arrow-buffer", + "arrow-cast", + "arrow-data", + "arrow-schema", "chrono", "half", "indexmap 2.2.6", @@ -457,153 +328,66 @@ dependencies = [ "serde_json", ] -[[package]] -name = "arrow-json" -version = "52.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb22284c5a2a01d73cebfd88a33511a3234ab45d66086b2ca2d1228c3498e445" -dependencies = [ - "arrow-array 52.2.0", - "arrow-buffer 52.2.0", - "arrow-cast 52.2.0", - "arrow-data 52.2.0", - "arrow-schema 52.2.0", - "chrono", - "half", - "indexmap 2.2.6", - "lexical-core", - "num", - "serde", - "serde_json", -] - -[[package]] -name = "arrow-ord" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3e6b61e3dc468f503181dccc2fc705bdcc5f2f146755fa5b56d0a6c5943f412" -dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", - "half", - "num", -] - [[package]] name = "arrow-ord" -version = "52.2.0" +version = "53.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42745f86b1ab99ef96d1c0bcf49180848a64fe2c7a7a0d945bc64fa2b21ba9bc" +checksum = "2427f37b4459a4b9e533045abe87a5183a5e0995a3fc2c2fd45027ae2cc4ef3f" dependencies = [ - "arrow-array 52.2.0", - "arrow-buffer 52.2.0", - "arrow-data 52.2.0", - "arrow-schema 52.2.0", - "arrow-select 52.2.0", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", + "arrow-select", "half", "num", ] [[package]] name = "arrow-row" -version = "51.0.0" +version = "53.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "848ee52bb92eb459b811fb471175ea3afcf620157674c8794f539838920f9228" +checksum = "15959657d92e2261a7a323517640af87f5afd9fd8a6492e424ebee2203c567f6" dependencies = [ "ahash", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", "half", - "hashbrown 0.14.5", ] -[[package]] -name = "arrow-row" -version = "52.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd09a518c602a55bd406bcc291a967b284cfa7a63edfbf8b897ea4748aad23c" -dependencies = [ - "ahash", - "arrow-array 52.2.0", - "arrow-buffer 52.2.0", - "arrow-data 52.2.0", - "arrow-schema 52.2.0", - "half", -] - -[[package]] -name = "arrow-schema" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02d9483aaabe910c4781153ae1b6ae0393f72d9ef757d38d09d450070cf2e528" - [[package]] name = "arrow-schema" -version = "52.2.0" +version = "53.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e972cd1ff4a4ccd22f86d3e53e835c2ed92e0eea6a3e8eadb72b4f1ac802cf8" +checksum = "fbf0388a18fd7f7f3fe3de01852d30f54ed5182f9004db700fbe3ba843ed2794" [[package]] name = "arrow-select" -version = "51.0.0" +version = "53.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "849524fa70e0e3c5ab58394c770cb8f514d0122d20de08475f7b472ed8075830" +checksum = "b83e5723d307a38bf00ecd2972cd078d1339c7fd3eb044f609958a9a24463f3a" dependencies = [ "ahash", - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", "num", ] -[[package]] -name = "arrow-select" -version = "52.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "600bae05d43483d216fb3494f8c32fdbefd8aa4e1de237e790dbb3d9f44690a3" -dependencies = [ - "ahash", - "arrow-array 52.2.0", - "arrow-buffer 52.2.0", - "arrow-data 52.2.0", - "arrow-schema 52.2.0", - "num", -] - -[[package]] -name = "arrow-string" -version = "51.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9373cb5a021aee58863498c37eb484998ef13377f69989c6c5ccfbd258236cdb" -dependencies = [ - "arrow-array 51.0.0", - "arrow-buffer 51.0.0", - "arrow-data 51.0.0", - "arrow-schema 51.0.0", - "arrow-select 51.0.0", - "memchr", - "num", - "regex", - "regex-syntax 0.8.2", -] - [[package]] name = "arrow-string" -version = "52.2.0" +version = "53.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0dc1985b67cb45f6606a248ac2b4a288849f196bab8c657ea5589f47cdd55e6" +checksum = "7ab3db7c09dd826e74079661d84ed01ed06547cf75d52c2818ef776d0d852305" dependencies = [ - "arrow-array 52.2.0", - "arrow-buffer 52.2.0", - "arrow-data 52.2.0", - "arrow-schema 52.2.0", - "arrow-select 52.2.0", + "arrow-array", + "arrow-buffer", + "arrow-data", + "arrow-schema", + "arrow-select", "memchr", "num", "regex", @@ -612,11 +396,11 @@ dependencies = [ [[package]] name = "arrow_convert" -version = "0.6.6" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a01a2cc8d5b6d8ccd2e71f9647ef4095c9d4dad66857e6cb60c4a9aa0f6f5299" +checksum = "0761a09e31f41cd03e2bf5a98292304d1a294e391db8ded580002ceb4ca8a0df" dependencies = [ - "arrow 51.0.0", + "arrow", "arrow_convert_derive", "chrono", "err-derive", @@ -625,11 +409,11 @@ dependencies = [ [[package]] name = "arrow_convert_derive" -version = "0.6.6" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aaccb7ce5877c428d3a8289a762079f17234a5049ca4b73672ab9fbf1b441a43" +checksum = "4068caa3b44c0fc73ce2802b08ccb1f8225a56437db72ddc23a3912c5f8721cc" dependencies = [ - "proc-macro-error", + "proc-macro-error2", "proc-macro2", "quote", "syn 2.0.65", @@ -1073,34 +857,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "axum" -version = "0.6.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" -dependencies = [ - "async-trait", - "axum-core 0.3.4", - "bitflags 1.3.2", - "bytes", - "futures-util", - "http 0.2.12", - "http-body 0.4.6", - "hyper 0.14.30", - "itoa", - "matchit", - "memchr", - "mime", - "percent-encoding", - "pin-project-lite", - "rustversion", - "serde", - "sync_wrapper 0.1.2", - "tower", - "tower-layer", - "tower-service", -] - [[package]] name = "axum" version = "0.7.5" @@ -1108,7 +864,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf" dependencies = [ "async-trait", - "axum-core 0.4.3", + "axum-core", "bytes", "futures-util", "http 1.1.0", @@ -1135,23 +891,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "axum-core" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" -dependencies = [ - "async-trait", - "bytes", - "futures-util", - "http 0.2.12", - "http-body 0.4.6", - "mime", - "rustversion", - "tower-layer", - "tower-service", -] - [[package]] name = "axum-core" version = "0.4.3" @@ -1506,9 +1245,9 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chrono" -version = "0.4.35" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eaf5903dcbc0a39312feb77df2ff4c76387d591b9fc7b04a238dcf8bb62639a" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ "android-tzdata", "iana-time-zone", @@ -1530,9 +1269,9 @@ dependencies = [ [[package]] name = "chrono-tz" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93698b29de5e97ad0ae26447b344c482a7284c737d9ddc5f9e52b74a336671bb" +checksum = "cd6dd8046d00723a59a2f8c5f295c515b9bb9a331ee4f8f3d4dd49e428acd3b6" dependencies = [ "chrono", "chrono-tz-build", @@ -1541,12 +1280,11 @@ dependencies = [ [[package]] name = "chrono-tz-build" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c088aee841df9c3041febbb73934cfc39708749bf96dc827e3359cd39ef11b1" +checksum = "e94fea34d77a245229e7746bd2beb786cd2a896f306ff491fb8cecb3074b10a7" dependencies = [ "parse-zoneinfo", - "phf", "phf_codegen", ] @@ -1754,9 +1492,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "86ed14aa9c9f927213c6e4f3ef75faaad3406134efe84ba2cb7983431d5f0931" dependencies = [ "futures-core", - "prost 0.13.1", - "prost-types 0.13.1", - "tonic 0.12.3", + "prost", + "prost-types", + "tonic", "tracing-core", ] @@ -1773,14 +1511,14 @@ dependencies = [ "hdrhistogram", "humantime", "hyper-util", - "prost 0.13.1", - "prost-types 0.13.1", + "prost", + "prost-types", "serde", "serde_json", "thread_local", "tokio", "tokio-stream", - "tonic 0.12.3", + "tonic", "tracing", "tracing-core", "tracing-subscriber", @@ -1849,11 +1587,11 @@ dependencies = [ [[package]] name = "coolor" -version = "0.5.0" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af4d7a805ca0d92f8c61a31c809d4323fdaa939b0b440e544d21db7797c5aaad" +checksum = "691defa50318376447a73ced869862baecfab35f6aabaa91a4cd726b315bfe1a" dependencies = [ - "crossterm 0.23.2", + "crossterm 0.28.1", ] [[package]] @@ -1937,6 +1675,32 @@ dependencies = [ "itertools 0.10.5", ] +[[package]] +name = "crokey" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "520e83558f4c008ac06fa6a86e5c1d4357be6f994cce7434463ebcdaadf47bb1" +dependencies = [ + "crokey-proc_macros", + "crossterm 0.28.1", + "once_cell", + "serde", + "strict", +] + +[[package]] +name = "crokey-proc_macros" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "370956e708a1ce65fe4ac5bb7185791e0ece7485087f17736d54a23a0895049f" +dependencies = [ + "crossterm 0.28.1", + "proc-macro2", + "quote", + "strict", + "syn 1.0.109", +] + [[package]] name = "crossbeam" version = "0.8.4" @@ -1995,11 +1759,11 @@ checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" [[package]] name = "crossterm" -version = "0.23.2" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2102ea4f781910f8a5b98dd061f4c2023f479ce7bb1236330099ceb5a93cf17" +checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "crossterm_winapi", "libc", "mio 0.8.11", @@ -2011,15 +1775,15 @@ dependencies = [ [[package]] name = "crossterm" -version = "0.27.0" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df" +checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" dependencies = [ "bitflags 2.6.0", "crossterm_winapi", - "libc", - "mio 0.8.11", + "mio 1.0.1", "parking_lot", + "rustix", "signal-hook", "signal-hook-mio", "winapi", @@ -2151,19 +1915,6 @@ dependencies = [ "syn 2.0.65", ] -[[package]] -name = "dashmap" -version = "5.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" -dependencies = [ - "cfg-if", - "hashbrown 0.14.5", - "lock_api", - "once_cell", - "parking_lot_core", -] - [[package]] name = "dashmap" version = "6.0.1" @@ -2180,28 +1931,31 @@ dependencies = [ [[package]] name = "datafusion" -version = "40.0.0" +version = "42.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab9d55a9cd2634818953809f75ebe5248b00dd43c3227efb2a51a2d5feaad54e" +checksum = "ee907b081e45e1d14e1f327e89ef134f91fcebad0bfc2dc229fa9f6044379682" dependencies = [ "ahash", - "arrow 52.2.0", - "arrow-array 52.2.0", - "arrow-ipc 52.2.0", - "arrow-schema 52.2.0", + "arrow", + "arrow-array", + "arrow-ipc", + "arrow-schema", "async-trait", "bytes", "chrono", - "dashmap 5.5.3", + "dashmap", + "datafusion-catalog", "datafusion-common", "datafusion-common-runtime", "datafusion-execution", "datafusion-expr", "datafusion-functions", "datafusion-functions-aggregate", + "datafusion-functions-window", "datafusion-optimizer", "datafusion-physical-expr", "datafusion-physical-expr-common", + "datafusion-physical-optimizer", "datafusion-physical-plan", "datafusion-sql", "futures", @@ -2209,7 +1963,7 @@ dependencies = [ "half", "hashbrown 0.14.5", "indexmap 2.2.6", - "itertools 0.12.1", + "itertools 0.13.0", "log", "num_cpus", "object_store", @@ -2224,17 +1978,32 @@ dependencies = [ "uuid", ] +[[package]] +name = "datafusion-catalog" +version = "42.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c2b914f6e33c429af7d8696c72a47ed9225d7e2b82c747ebdfa2408ed53579f" +dependencies = [ + "arrow-schema", + "async-trait", + "datafusion-common", + "datafusion-execution", + "datafusion-expr", + "datafusion-physical-plan", + "parking_lot", +] + [[package]] name = "datafusion-common" -version = "40.0.0" +version = "42.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "def66b642959e7f96f5d2da22e1f43d3bd35598f821e5ce351a0553e0f1b7367" +checksum = "3a84f8e76330c582a6b8ada0b2c599ca46cfe46b7585e458fc3f4092bc722a18" dependencies = [ "ahash", - "arrow 52.2.0", - "arrow-array 52.2.0", - "arrow-buffer 52.2.0", - "arrow-schema 52.2.0", + "arrow", + "arrow-array", + "arrow-buffer", + "arrow-schema", "chrono", "half", "hashbrown 0.14.5", @@ -2242,27 +2011,30 @@ dependencies = [ "libc", "num_cpus", "object_store", + "paste", "sqlparser", + "tokio", ] [[package]] name = "datafusion-common-runtime" -version = "40.0.0" +version = "42.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f104bb9cb44c06c9badf8a0d7e0855e5f7fa5e395b887d7f835e8a9457dc1352" +checksum = "cf08cc30d92720d557df13bd5a5696213bd5ea0f38a866d8d85055d866fba774" dependencies = [ + "log", "tokio", ] [[package]] name = "datafusion-execution" -version = "40.0.0" +version = "42.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ac0fd8b5d80bbca3fc3b6f40da4e9f6907354824ec3b18bbd83fee8cf5c3c3e" +checksum = "86bc4183d5c45b9f068a6f351678a0d1eb1225181424542bb75db18ec280b822" dependencies = [ - "arrow 52.2.0", + "arrow", "chrono", - "dashmap 5.5.3", + "dashmap", "datafusion-common", "datafusion-expr", "futures", @@ -2277,16 +2049,19 @@ dependencies = [ [[package]] name = "datafusion-expr" -version = "40.0.0" +version = "42.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2103d2cc16fb11ef1fa993a6cac57ed5cb028601db4b97566c90e5fa77aa1e68" +checksum = "202119ce58e4d103e37ae64aab40d4e574c97bdd2bea994bf307b175fcbfa74d" dependencies = [ "ahash", - "arrow 52.2.0", - "arrow-array 52.2.0", - "arrow-buffer 52.2.0", + "arrow", + "arrow-array", + "arrow-buffer", "chrono", "datafusion-common", + "datafusion-expr-common", + "datafusion-functions-aggregate-common", + "datafusion-physical-expr-common", "paste", "serde_json", "sqlparser", @@ -2294,13 +2069,25 @@ dependencies = [ "strum_macros 0.26.2", ] +[[package]] +name = "datafusion-expr-common" +version = "42.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8b181ce8569216abb01ef3294aa16c0a40d7d39350c2ff01ede00f167a535f2" +dependencies = [ + "arrow", + "datafusion-common", + "paste", +] + [[package]] name = "datafusion-functions" -version = "40.0.0" +version = "42.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a369332afd0ef5bd565f6db2139fb9f1dfdd0afa75a7f70f000b74208d76994f" +checksum = "6e4124b8066444e05a24472f852e94cf56546c0f4d92d00f018f207216902712" dependencies = [ - "arrow 52.2.0", + "arrow", + "arrow-buffer", "base64 0.22.0", "blake2", "blake3", @@ -2310,7 +2097,7 @@ dependencies = [ "datafusion-expr", "hashbrown 0.14.5", "hex", - "itertools 0.12.1", + "itertools 0.13.0", "log", "md-5", "rand", @@ -2322,29 +2109,58 @@ dependencies = [ [[package]] name = "datafusion-functions-aggregate" -version = "40.0.0" +version = "42.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92718db1aff70c47e5abf9fc975768530097059e5db7c7b78cd64b5e9a11fc77" +checksum = "b94acdac235ea21810150a89751617ef2db7e32eba27f54be48a81bde2bfe119" dependencies = [ "ahash", - "arrow 52.2.0", - "arrow-schema 52.2.0", + "arrow", + "arrow-schema", "datafusion-common", "datafusion-execution", "datafusion-expr", + "datafusion-functions-aggregate-common", + "datafusion-physical-expr", "datafusion-physical-expr-common", + "half", "log", "paste", "sqlparser", ] +[[package]] +name = "datafusion-functions-aggregate-common" +version = "42.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c9ea085bbf900bf16e2ca0f56fc56236b2e4f2e1a2cccb67bcd83c5ab4ad0ef" +dependencies = [ + "ahash", + "arrow", + "datafusion-common", + "datafusion-expr-common", + "datafusion-physical-expr-common", + "rand", +] + +[[package]] +name = "datafusion-functions-window" +version = "42.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98a354ce96df3ca6d025093adac9fd55ca09931c9b6f2630140721a95873fde4" +dependencies = [ + "datafusion-common", + "datafusion-expr", + "datafusion-physical-expr-common", + "log", +] + [[package]] name = "datafusion-optimizer" -version = "40.0.0" +version = "42.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82f34692011bec4fdd6fc18c264bf8037b8625d801e6dd8f5111af15cb6d71d3" +checksum = "baf677c74fb7b5a1899ef52709e4a70fff3ed80bdfb4bbe495909810e83d5f39" dependencies = [ - "arrow 52.2.0", + "arrow", "async-trait", "chrono", "datafusion-common", @@ -2352,7 +2168,7 @@ dependencies = [ "datafusion-physical-expr", "hashbrown 0.14.5", "indexmap 2.2.6", - "itertools 0.12.1", + "itertools 0.13.0", "log", "paste", "regex-syntax 0.8.2", @@ -2360,28 +2176,30 @@ dependencies = [ [[package]] name = "datafusion-physical-expr" -version = "40.0.0" +version = "42.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45538630defedb553771434a437f7ca8f04b9b3e834344aafacecb27dc65d5e5" +checksum = "30b077999f6eb6c43d6b25bc66332a3be2f693c382840f008dd763b8540f9530" dependencies = [ "ahash", - "arrow 52.2.0", - "arrow-array 52.2.0", - "arrow-buffer 52.2.0", - "arrow-ord 52.2.0", - "arrow-schema 52.2.0", - "arrow-string 52.2.0", + "arrow", + "arrow-array", + "arrow-buffer", + "arrow-ord", + "arrow-schema", + "arrow-string", "base64 0.22.0", "chrono", "datafusion-common", "datafusion-execution", "datafusion-expr", + "datafusion-expr-common", + "datafusion-functions-aggregate-common", "datafusion-physical-expr-common", "half", "hashbrown 0.14.5", "hex", "indexmap 2.2.6", - "itertools 0.12.1", + "itertools 0.13.0", "log", "paste", "petgraph", @@ -2390,30 +2208,44 @@ dependencies = [ [[package]] name = "datafusion-physical-expr-common" -version = "40.0.0" +version = "42.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d8a72b0ca908e074aaeca52c14ddf5c28d22361e9cb6bc79bb733cd6661b536" +checksum = "dce847f885c2b13bbe29f5c8b7948797131aa470af6e16d2a94f4428b4f4f1bd" dependencies = [ "ahash", - "arrow 52.2.0", + "arrow", "datafusion-common", - "datafusion-expr", + "datafusion-expr-common", "hashbrown 0.14.5", "rand", ] +[[package]] +name = "datafusion-physical-optimizer" +version = "42.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d13238e3b9fdd62a4c18760bfef714bb990d1e1d3430e9f416aae4b3cfaa71af" +dependencies = [ + "arrow-schema", + "datafusion-common", + "datafusion-execution", + "datafusion-physical-expr", + "datafusion-physical-plan", + "itertools 0.13.0", +] + [[package]] name = "datafusion-physical-plan" -version = "40.0.0" +version = "42.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b504eae6107a342775e22e323e9103f7f42db593ec6103b28605b7b7b1405c4a" +checksum = "faba6f55a7eaf0241d07d12c2640de52742646b10f754485d5192bdfe2c9ceae" dependencies = [ "ahash", - "arrow 52.2.0", - "arrow-array 52.2.0", - "arrow-buffer 52.2.0", - "arrow-ord 52.2.0", - "arrow-schema 52.2.0", + "arrow", + "arrow-array", + "arrow-buffer", + "arrow-ord", + "arrow-schema", "async-trait", "chrono", "datafusion-common", @@ -2421,13 +2253,14 @@ dependencies = [ "datafusion-execution", "datafusion-expr", "datafusion-functions-aggregate", + "datafusion-functions-aggregate-common", "datafusion-physical-expr", "datafusion-physical-expr-common", "futures", "half", "hashbrown 0.14.5", "indexmap 2.2.6", - "itertools 0.12.1", + "itertools 0.13.0", "log", "once_cell", "parking_lot", @@ -2438,13 +2271,13 @@ dependencies = [ [[package]] name = "datafusion-sql" -version = "40.0.0" +version = "42.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5db33f323f41b95ae201318ba654a9bf11113e58a51a1dff977b1a836d3d889" +checksum = "dad8d96a9b52e1aa24f9373696a815be828193efce7cb0bbd2140b6bb67d1819" dependencies = [ - "arrow 52.2.0", - "arrow-array 52.2.0", - "arrow-schema 52.2.0", + "arrow", + "arrow-array", + "arrow-schema", "datafusion-common", "datafusion-expr", "log", @@ -2709,10 +2542,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39bde3ce50a626efeb1caa9ab1083972d178bebb55ca627639c8ded507dfcbde" dependencies = [ "http 1.1.0", - "prost 0.13.1", + "prost", "tokio", "tokio-stream", - "tonic 0.12.3", + "tonic", "tonic-build", "tower", "tower-service", @@ -2801,16 +2634,6 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" -[[package]] -name = "flatbuffers" -version = "23.5.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dac53e22462d78c16d64a1cd22371b54cc3fe94aa15e7886a2fa6e5d1ab8640" -dependencies = [ - "bitflags 1.3.2", - "rustc_version", -] - [[package]] name = "flatbuffers" version = "24.3.25" @@ -3024,25 +2847,6 @@ dependencies = [ "syn 2.0.65", ] -[[package]] -name = "h2" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http 0.2.12", - "indexmap 2.2.6", - "slab", - "tokio", - "tokio-util", - "tracing", -] - [[package]] name = "h2" version = "0.4.5" @@ -3247,7 +3051,6 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", "httparse", @@ -3270,7 +3073,7 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.5", + "h2", "http 1.1.0", "http-body 1.0.1", "httparse", @@ -3572,15 +3375,6 @@ dependencies = [ "either", ] -[[package]] -name = "itertools" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" -dependencies = [ - "either", -] - [[package]] name = "itertools" version = "0.12.1" @@ -3669,6 +3463,29 @@ dependencies = [ "libc", ] +[[package]] +name = "lazy-regex" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d8e41c97e6bc7ecb552016274b99fbb5d035e8de288c582d9b933af6677bfda" +dependencies = [ + "lazy-regex-proc_macros", + "once_cell", + "regex", +] + +[[package]] +name = "lazy-regex-proc_macros" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76e1d8b05d672c53cb9c7b920bbba8783845ae4f0b076e02a3db1d02c81b4163" +dependencies = [ + "proc-macro2", + "quote", + "regex", + "syn 2.0.65", +] + [[package]] name = "lazy_static" version = "1.4.0" @@ -3683,9 +3500,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "lexical-core" -version = "0.8.5" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cde5de06e8d4c2faabc400238f9ae1c74d5412d03a7bd067645ccbc47070e46" +checksum = "0431c65b318a590c1de6b8fd6e72798c92291d27762d94c9e6c37ed7a73d8458" dependencies = [ "lexical-parse-float", "lexical-parse-integer", @@ -3696,9 +3513,9 @@ dependencies = [ [[package]] name = "lexical-parse-float" -version = "0.8.5" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683b3a5ebd0130b8fb52ba0bdc718cc56815b6a097e28ae5a6997d0ad17dc05f" +checksum = "eb17a4bdb9b418051aa59d41d65b1c9be5affab314a872e5ad7f06231fb3b4e0" dependencies = [ "lexical-parse-integer", "lexical-util", @@ -3707,9 +3524,9 @@ dependencies = [ [[package]] name = "lexical-parse-integer" -version = "0.8.6" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d0994485ed0c312f6d965766754ea177d07f9c00c9b82a5ee62ed5b47945ee9" +checksum = "5df98f4a4ab53bf8b175b363a34c7af608fe31f93cc1fb1bf07130622ca4ef61" dependencies = [ "lexical-util", "static_assertions", @@ -3717,18 +3534,18 @@ dependencies = [ [[package]] name = "lexical-util" -version = "0.8.5" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5255b9ff16ff898710eb9eb63cb39248ea8a5bb036bea8085b1a767ff6c4e3fc" +checksum = "85314db53332e5c192b6bca611fb10c114a80d1b831ddac0af1e9be1b9232ca0" dependencies = [ "static_assertions", ] [[package]] name = "lexical-write-float" -version = "0.8.5" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accabaa1c4581f05a3923d1b4cfd124c329352288b7b9da09e766b0668116862" +checksum = "6e7c3ad4e37db81c1cbe7cf34610340adc09c322871972f74877a712abc6c809" dependencies = [ "lexical-util", "lexical-write-integer", @@ -3737,9 +3554,9 @@ dependencies = [ [[package]] name = "lexical-write-integer" -version = "0.8.5" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1b6f3d1f4422866b68192d62f77bc5c700bee84f3069f2469d7bc8c77852446" +checksum = "eb89e9f6958b83258afa3deed90b5de9ef68eef090ad5086c791cd2345610162" dependencies = [ "lexical-util", "static_assertions", @@ -3792,9 +3609,9 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.4.13" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" [[package]] name = "lock_api" @@ -3870,9 +3687,9 @@ checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" [[package]] name = "memchr" -version = "2.7.1" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memmap2" @@ -3953,9 +3770,9 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "minimad" -version = "0.12.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b136454924e4d020e55c4992e07c105b40d5c41b84662862f0e15bc0a2efef" +checksum = "a9c5d708226d186590a7b6d4a9780e2bdda5f689e0d58cd17012a298efd745d2" dependencies = [ "once_cell", ] @@ -3995,6 +3812,7 @@ checksum = "4569e456d394deccd22ce1c1913e6ea0e54519f577285001215d33557431afe4" dependencies = [ "hermit-abi", "libc", + "log", "wasi", "windows-sys 0.52.0", ] @@ -4051,7 +3869,7 @@ dependencies = [ "http-body-util", "hyper 1.4.1", "hyper-util", - "prost 0.13.1", + "prost", "restate-service-protocol", "restate-types", "serde", @@ -4332,9 +4150,9 @@ dependencies = [ [[package]] name = "object_store" -version = "0.10.2" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6da452820c715ce78221e8202ccc599b4a52f3e1eb3eedb487b680c81a8e3f3" +checksum = "25a0c4b3a0e31f8b66f71ad8064521efa773910196e2cde791436f13409f3b45" dependencies = [ "async-trait", "bytes", @@ -4344,7 +4162,7 @@ dependencies = [ "itertools 0.13.0", "parking_lot", "percent-encoding", - "snafu", + "snafu 0.8.5", "tokio", "tracing", "url", @@ -4381,7 +4199,7 @@ dependencies = [ "serde_json", "serde_path_to_error", "serde_urlencoded", - "snafu", + "snafu 0.7.5", "tokio", "tower", "tower-http 0.4.4", @@ -4408,7 +4226,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ba5d0188de2ac2778f6085794f8ccd0dc5f2623f13b88325eb5220769ffc532" dependencies = [ "anyhow", - "axum 0.7.5", + "axum", "bytes", "http 1.1.0", "indexmap 2.2.6", @@ -4506,10 +4324,10 @@ dependencies = [ "opentelemetry", "opentelemetry-proto", "opentelemetry_sdk", - "prost 0.13.1", + "prost", "thiserror", "tokio", - "tonic 0.12.3", + "tonic", ] [[package]] @@ -4520,8 +4338,8 @@ checksum = "30ee9f20bff9c984511a02f082dc8ede839e4a9bf15cc2487c8d6fea5ad850d9" dependencies = [ "opentelemetry", "opentelemetry_sdk", - "prost 0.13.1", - "tonic 0.12.3", + "prost", + "tonic", ] [[package]] @@ -4962,6 +4780,28 @@ dependencies = [ "version_check", ] +[[package]] +name = "proc-macro-error-attr2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" +dependencies = [ + "proc-macro2", + "quote", +] + +[[package]] +name = "proc-macro-error2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" +dependencies = [ + "proc-macro-error-attr2", + "proc-macro2", + "quote", + "syn 2.0.65", +] + [[package]] name = "proc-macro2" version = "1.0.85" @@ -4984,16 +4824,6 @@ dependencies = [ "yansi 1.0.1", ] -[[package]] -name = "prost" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a" -dependencies = [ - "bytes", - "prost-derive 0.12.3", -] - [[package]] name = "prost" version = "0.13.1" @@ -5001,7 +4831,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e13db3d3fde688c61e2446b4d843bc27a7e8af269a69440c0308021dc92333cc" dependencies = [ "bytes", - "prost-derive 0.13.1", + "prost-derive", ] [[package]] @@ -5018,26 +4848,13 @@ dependencies = [ "once_cell", "petgraph", "prettyplease", - "prost 0.13.1", - "prost-types 0.13.1", + "prost", + "prost-types", "regex", "syn 2.0.65", "tempfile", ] -[[package]] -name = "prost-derive" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e" -dependencies = [ - "anyhow", - "itertools 0.11.0", - "proc-macro2", - "quote", - "syn 2.0.65", -] - [[package]] name = "prost-derive" version = "0.13.1" @@ -5085,22 +4902,13 @@ dependencies = [ "syn 2.0.65", ] -[[package]] -name = "prost-types" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "193898f59edcf43c26227dcd4c8427f00d99d61e95dcde58dabd49fa291d470e" -dependencies = [ - "prost 0.12.3", -] - [[package]] name = "prost-types" version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cee5168b05f49d4b0ca581206eb14a7b22fafd963efe729ac48eb03266e25cc2" dependencies = [ - "prost 0.13.1", + "prost", ] [[package]] @@ -5384,7 +5192,7 @@ dependencies = [ "bytes", "futures-core", "futures-util", - "h2 0.4.5", + "h2", "http 1.1.0", "http-body 1.0.1", "http-body-util", @@ -5426,7 +5234,7 @@ dependencies = [ "anyhow", "arc-swap", "arrow-flight", - "axum 0.7.5", + "axum", "bytes", "bytestring", "codederror", @@ -5440,9 +5248,9 @@ dependencies = [ "http-body-util", "hyper-util", "okapi-operation", - "prost 0.13.1", + "prost", "prost-dto", - "prost-types 0.13.1", + "prost-types", "rand", "restate-admin-rest-model", "restate-bifrost", @@ -5465,8 +5273,7 @@ dependencies = [ "thiserror", "tokio", "tokio-stream", - "tonic 0.11.0", - "tonic 0.12.3", + "tonic", "tonic-build", "tower", "tracing", @@ -5532,7 +5339,7 @@ dependencies = [ "async-trait", "bytes", "criterion", - "dashmap 6.0.1", + "dashmap", "derive_more", "enum-map", "enumset", @@ -5573,9 +5380,9 @@ version = "1.1.3" dependencies = [ "anyhow", "arc-swap", - "arrow 51.0.0", + "arrow", "arrow_convert", - "axum 0.7.5", + "axum", "base62", "base64 0.22.0", "bs58", @@ -5666,7 +5473,7 @@ dependencies = [ "async-trait", "bytes", "bytestring", - "dashmap 6.0.1", + "dashmap", "derive_builder", "derive_more", "enum-map", @@ -5683,8 +5490,8 @@ dependencies = [ "once_cell", "parking_lot", "pin-project", - "prost 0.13.1", - "prost-types 0.13.1", + "prost", + "prost-types", "rand", "restate-test-util", "restate-types", @@ -5698,7 +5505,7 @@ dependencies = [ "tokio", "tokio-stream", "tokio-util", - "tonic 0.12.3", + "tonic", "tonic-build", "tower", "tracing", @@ -5750,7 +5557,7 @@ dependencies = [ "anyhow", "bytes", "bytestring", - "dashmap 6.0.1", + "dashmap", "futures", "googletest", "restate-bifrost", @@ -5871,7 +5678,7 @@ dependencies = [ "itertools 0.13.0", "metrics", "opentelemetry", - "prost 0.13.1", + "prost", "restate-core", "restate-errors", "restate-fs-util", @@ -5932,7 +5739,7 @@ dependencies = [ "bytes", "chrono", "codederror", - "dashmap 6.0.1", + "dashmap", "derive_more", "futures", "googletest", @@ -5980,8 +5787,8 @@ dependencies = [ "humantime", "hyper 1.4.1", "hyper-util", - "prost 0.13.1", - "prost-types 0.13.1", + "prost", + "prost-types", "restate-core", "restate-rocksdb", "restate-types", @@ -5995,7 +5802,7 @@ dependencies = [ "tokio", "tokio-stream", "tokio-util", - "tonic 0.12.3", + "tonic", "tonic-build", "tonic-health", "tonic-reflection", @@ -6013,7 +5820,7 @@ dependencies = [ "arc-swap", "arrow-flight", "async-trait", - "axum 0.7.5", + "axum", "bytes", "codederror", "datafusion", @@ -6032,7 +5839,7 @@ dependencies = [ "metrics-tracing-context", "metrics-util", "once_cell", - "prost-types 0.13.1", + "prost-types", "restate-admin", "restate-bifrost", "restate-core", @@ -6058,8 +5865,7 @@ dependencies = [ "tokio", "tokio-stream", "tokio-util", - "tonic 0.11.0", - "tonic 0.12.3", + "tonic", "tonic-reflection", "tower", "tower-http 0.5.2", @@ -6086,7 +5892,7 @@ dependencies = [ "num-bigint", "once_cell", "paste", - "prost 0.13.1", + "prost", "rand", "restate-core", "restate-errors", @@ -6162,7 +5968,7 @@ dependencies = [ "http-serde", "humantime", "iso8601", - "prost 0.13.1", + "prost", "schemars", "serde", "serde_json", @@ -6230,7 +6036,7 @@ dependencies = [ "bytestring", "derive_builder", "futures", - "h2 0.4.5", + "h2", "http 1.1.0", "http-body-util", "http-serde", @@ -6270,7 +6076,7 @@ dependencies = [ "itertools 0.13.0", "once_cell", "paste", - "prost 0.13.1", + "prost", "regress 0.10.0", "restate-base64-util", "restate-errors", @@ -6298,9 +6104,9 @@ dependencies = [ "derive_more", "futures-util", "opentelemetry", - "prost 0.13.1", + "prost", "prost-build", - "prost-types 0.13.1", + "prost-types", "restate-types", "serde", "strum 0.26.2", @@ -6322,7 +6128,7 @@ dependencies = [ "futures", "googletest", "paste", - "prost 0.13.1", + "prost", "restate-core", "restate-invoker-api", "restate-partition-store", @@ -6353,7 +6159,7 @@ dependencies = [ "futures", "paste", "pgwire", - "prost 0.13.1", + "prost", "restate-core", "restate-errors", "restate-partition-store", @@ -6375,8 +6181,8 @@ dependencies = [ "assert2", "googletest", "pretty_assertions", - "prost 0.13.1", - "prost-types 0.13.1", + "prost", + "prost-types", ] [[package]] @@ -6430,7 +6236,7 @@ dependencies = [ "serde", "thiserror", "tokio", - "tonic 0.12.3", + "tonic", "tracing", "tracing-opentelemetry", "tracing-subscriber", @@ -6465,10 +6271,10 @@ dependencies = [ "once_cell", "opentelemetry", "prettyplease", - "prost 0.13.1", + "prost", "prost-build", "prost-dto", - "prost-types 0.13.1", + "prost-types", "rand", "regress 0.10.0", "restate-base64-util", @@ -6550,7 +6356,7 @@ dependencies = [ "opentelemetry", "parking_lot", "pin-project", - "prost 0.13.1", + "prost", "rand", "restate-bifrost", "restate-core", @@ -6604,7 +6410,7 @@ dependencies = [ "futures-util", "hyper-util", "itertools 0.13.0", - "prost-types 0.13.1", + "prost-types", "restate-admin", "restate-bifrost", "restate-cli-util", @@ -6621,7 +6427,7 @@ dependencies = [ "thiserror", "tokio", "tokio-stream", - "tonic 0.12.3", + "tonic", "tonic-health", "tower", "tracing", @@ -6720,9 +6526,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.32" +version = "0.38.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89" +checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" dependencies = [ "bitflags 2.6.0", "errno", @@ -7124,12 +6930,13 @@ dependencies = [ [[package]] name = "signal-hook-mio" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29ad2e15f37ec9a6cc544097b78a1ec90001e9f71b81338ca39f430adaca99af" +checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd" dependencies = [ "libc", "mio 0.8.11", + "mio 1.0.1", "signal-hook", ] @@ -7209,7 +7016,16 @@ checksum = "e4de37ad025c587a29e8f3f5605c00f70b98715ef90b9061a815b9e59e9042d6" dependencies = [ "backtrace", "doc-comment", - "snafu-derive", + "snafu-derive 0.7.5", +] + +[[package]] +name = "snafu" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "223891c85e2a29c3fe8fb900c1fae5e69c2e42415e3177752e8718475efa5019" +dependencies = [ + "snafu-derive 0.8.5", ] [[package]] @@ -7224,6 +7040,18 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "snafu-derive" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03c3c6b7927ffe7ecaa769ee0e3994da3b8cafc8f444578982c83ecb161af917" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.65", +] + [[package]] name = "socket2" version = "0.5.6" @@ -7242,9 +7070,9 @@ checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" [[package]] name = "sqlparser" -version = "0.47.0" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "295e9930cd7a97e58ca2a070541a3ca502b17f5d1fa7157376d0fabd85324f25" +checksum = "b2e5b515a2bd5168426033e9efbfd05500114833916f1d5c268f938b4ee130ac" dependencies = [ "log", "sqlparser_derive", @@ -7279,6 +7107,12 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9091b6114800a5f2141aee1d1b9d6ca3592ac062dc5decb3764ec5895a47b4eb" +[[package]] +name = "strict" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f42444fea5b87a39db4218d9422087e66a85d0e7a0963a439b07bcdf91804006" + [[package]] name = "stringprep" version = "0.1.4" @@ -7450,14 +7284,16 @@ dependencies = [ [[package]] name = "termimad" -version = "0.23.2" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e32883199fc52cda7e431958dee8bc3ec6898afabc152b76959b9e0e74e2202" +checksum = "920e7c4671e79f3d9df269da9c8edf0dbc580044fd727d3594f7bfba5eb6107a" dependencies = [ "coolor", + "crokey", "crossbeam", - "crossterm 0.23.2", + "lazy-regex", "minimad", + "serde", "thiserror", "unicode-width", ] @@ -7763,33 +7599,6 @@ dependencies = [ "winnow 0.6.18", ] -[[package]] -name = "tonic" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76c4eb7a4e9ef9d4763600161f12f5070b92a578e1b634db88a6887844c91a13" -dependencies = [ - "async-stream", - "async-trait", - "axum 0.6.20", - "base64 0.21.7", - "bytes", - "h2 0.3.26", - "http 0.2.12", - "http-body 0.4.6", - "hyper 0.14.30", - "hyper-timeout 0.4.1", - "percent-encoding", - "pin-project", - "prost 0.12.3", - "tokio", - "tokio-stream", - "tower", - "tower-layer", - "tower-service", - "tracing", -] - [[package]] name = "tonic" version = "0.12.3" @@ -7798,11 +7607,11 @@ checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" dependencies = [ "async-stream", "async-trait", - "axum 0.7.5", + "axum", "base64 0.22.0", "bytes", "flate2", - "h2 0.4.5", + "h2", "http 1.1.0", "http-body 1.0.1", "http-body-util", @@ -7811,7 +7620,7 @@ dependencies = [ "hyper-util", "percent-encoding", "pin-project", - "prost 0.13.1", + "prost", "socket2", "tokio", "tokio-stream", @@ -7830,7 +7639,7 @@ dependencies = [ "prettyplease", "proc-macro2", "prost-build", - "prost-types 0.13.1", + "prost-types", "quote", "syn 2.0.65", ] @@ -7842,10 +7651,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1eaf34ddb812120f5c601162d5429933c9b527d901ab0e7f930d3147e33a09b2" dependencies = [ "async-stream", - "prost 0.13.1", + "prost", "tokio", "tokio-stream", - "tonic 0.12.3", + "tonic", ] [[package]] @@ -7854,11 +7663,11 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "878d81f52e7fcfd80026b7fdb6a9b578b3c3653ba987f87f0dce4b64043cba27" dependencies = [ - "prost 0.13.1", - "prost-types 0.13.1", + "prost", + "prost-types", "tokio", "tokio-stream", - "tonic 0.12.3", + "tonic", ] [[package]] @@ -8682,7 +8491,7 @@ dependencies = [ "schemars", "serde_json", "tokio", - "tonic 0.12.3", + "tonic", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index acfad8011c..e76c661bb2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -72,8 +72,8 @@ restate-worker = { path = "crates/worker" } ahash = "0.8.5" anyhow = "1.0.68" arc-swap = "1.6" -arrow = { version = "52.0.0", default-features = false } -arrow-flight = { version = "52.0.0" } +arrow = { version = "53.1.0", default-features = false } +arrow-flight = { version = "53.1.0" } assert2 = "0.3.11" async-channel = "2.1.1" async-trait = "0.1.73" @@ -83,7 +83,7 @@ bitflags = { version = "2.6.0" } bytes = { version = "1.7", features = ["serde"] } bytes-utils = "0.1.3" bytestring = { version = "1.2", features = ["serde"] } -chrono = { version = "0.4.31", default-features = false, features = ["clock"] } +chrono = { version = "0.4.38", default-features = false, features = ["clock"] } comfy-table = { version = "7.1" } chrono-humanize = { version = "0.2.3" } clap = { version = "4", default-features = false } @@ -92,13 +92,13 @@ cling = { version = "0.1", default-features = false, features = ["derive"] } criterion = "0.5" crossterm = { version = "0.27.0" } dashmap = { version = "6" } -datafusion = { version = "40.0.0", default-features = false, features = [ +datafusion = { version = "42.0.0", default-features = false, features = [ "crypto_expressions", "encoding_expressions", "regex_expressions", "unicode_expressions", ] } -datafusion-expr = { version = "40.0.0" } +datafusion-expr = { version = "42.0.0" } derive_builder = "0.20.0" derive_more = { version = "1", features = ["full"] } dialoguer = { version = "0.11.0" } @@ -186,7 +186,6 @@ tonic = { version = "0.12.3", default-features = false } tonic-reflection = { version = "0.12.3" } tonic-health = { version = "0.12.3" } tonic-build = { version = "0.12.3" } -tonic-0-11 = { package = "tonic", version = "0.11.0", default-features = false } tower = "0.4" tower-http = { version = "0.5.2", default-features = false } tracing = "0.1" diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 831edfcc5a..e408f04d3c 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -23,8 +23,8 @@ restate-types = { workspace = true } anyhow = { workspace = true } arc-swap = { workspace = true } -arrow = { version = "51.0.0", features = ["ipc", "prettyprint", "json"] } -arrow_convert = { version = "0.6.6" } +arrow = { version = "53.1.0", features = ["ipc", "prettyprint", "json"] } +arrow_convert = { version = "0.7.2" } axum = { workspace = true, default-features = false, features = ["http1", "http2", "query", "tokio"] } bytes = { workspace = true } base62 = { version = "2.0.2" } diff --git a/crates/admin/Cargo.toml b/crates/admin/Cargo.toml index 9b4984ded1..29eb29a4d8 100644 --- a/crates/admin/Cargo.toml +++ b/crates/admin/Cargo.toml @@ -53,7 +53,6 @@ serde_with = { workspace = true } thiserror = { workspace = true } tokio = { workspace = true } tonic = { workspace = true, features = ["transport", "codegen", "prost", "gzip"] } -tonic-0-11 = { workspace = true } tower = { workspace = true, features = ["load-shed", "limit"] } tracing = { workspace = true } diff --git a/crates/admin/src/storage_query/query.rs b/crates/admin/src/storage_query/query.rs index 8b7092a8d5..d982cd5f99 100644 --- a/crates/admin/src/storage_query/query.rs +++ b/crates/admin/src/storage_query/query.rs @@ -9,7 +9,6 @@ // by the Apache License, Version 2.0. use std::pin::Pin; -use std::str::FromStr; use std::sync::Arc; use std::task::{Context, Poll}; @@ -36,8 +35,6 @@ use restate_core::network::protobuf::node_svc::StorageQueryRequest; use schemars::JsonSchema; use serde::Deserialize; use serde_with::serde_as; -use tonic::metadata::{KeyAndValueRef, MetadataMap}; -use tonic::Status; use super::error::StorageQueryError; use crate::state::QueryServiceState; @@ -81,7 +78,7 @@ pub async fn query( data_body: response.data, ..FlightData::default() }) - .map_err(|status| FlightError::from(tonic_status_012_to_011(status))), + .map_err(FlightError::from), ); // create a stream without LargeUtf8 or LargeBinary columns as JS doesn't support these yet @@ -270,40 +267,3 @@ impl Stream for ConvertRecordBatchStream { } } } - -// todo: Remove once arrow-flight works with tonic 0.12 -fn tonic_status_012_to_011(status: Status) -> tonic_0_11::Status { - let code = tonic_0_11::Code::from(status.code() as i32); - let message = status.message().to_owned(); - let details = Bytes::copy_from_slice(status.details()); - let metadata = tonic_metadata_map_012_to_011(status.metadata()); - tonic_0_11::Status::with_details_and_metadata(code, message, details, metadata) -} - -// todo: Remove once arrow-flight works with tonic 0.12 -fn tonic_metadata_map_012_to_011(metadata_map: &MetadataMap) -> tonic_0_11::metadata::MetadataMap { - let mut resulting_metadata_map = - tonic_0_11::metadata::MetadataMap::with_capacity(metadata_map.len()); - for key_value in metadata_map.iter() { - match key_value { - KeyAndValueRef::Ascii(key, value) => { - // ignore metadata map entries if conversion fails - if let Ok(value) = - tonic_0_11::metadata::MetadataValue::from_str(value.to_str().unwrap_or("")) - { - if let Ok(key) = tonic_0_11::metadata::MetadataKey::from_str(key.as_str()) { - resulting_metadata_map.insert(key, value); - } - } - } - KeyAndValueRef::Binary(key, value) => { - if let Ok(key) = tonic_0_11::metadata::MetadataKey::from_bytes(key.as_ref()) { - let value = tonic_0_11::metadata::MetadataValue::from_bytes(value.as_ref()); - resulting_metadata_map.insert_bin(key, value); - } - } - } - } - - resulting_metadata_map -} diff --git a/crates/errors/Cargo.toml b/crates/errors/Cargo.toml index 515141e519..ca2495d1a1 100644 --- a/crates/errors/Cargo.toml +++ b/crates/errors/Cargo.toml @@ -14,7 +14,7 @@ include_doc = ["termimad"] [dependencies] codederror = { workspace = true } paste = { workspace = true } -termimad = { version = "0.23", optional = true } +termimad = { version = "0.30.0", optional = true } tracing = { workspace = true } [dev-dependencies] diff --git a/crates/node/Cargo.toml b/crates/node/Cargo.toml index ccd7549a81..584b2f4033 100644 --- a/crates/node/Cargo.toml +++ b/crates/node/Cargo.toml @@ -67,7 +67,6 @@ tokio-stream = { workspace = true } tokio-util = { workspace = true } tonic = { workspace = true } tonic-reflection = { workspace = true } -tonic-0-11 = { workspace = true } tower = { workspace = true } tower-http = { workspace = true, features = ["trace"] } tracing = { workspace = true } diff --git a/crates/node/src/network_server/handler/node.rs b/crates/node/src/network_server/handler/node.rs index d24d3bf7ba..525bb21108 100644 --- a/crates/node/src/network_server/handler/node.rs +++ b/crates/node/src/network_server/handler/node.rs @@ -10,7 +10,6 @@ use arrow_flight::encode::FlightDataEncoderBuilder; use arrow_flight::error::FlightError; -use bytes::Bytes; use futures::stream::BoxStream; use futures::TryStreamExt; use restate_core::network::protobuf::node_svc::node_svc_server::NodeSvc; @@ -21,10 +20,8 @@ use restate_core::network::{ConnectionManager, GrpcConnector}; use restate_core::{metadata, TaskCenter}; use restate_types::protobuf::common::NodeStatus; use restate_types::protobuf::node::Message; -use std::str::FromStr; use tokio_stream::StreamExt; -use tonic::metadata::{MetadataKey, MetadataMap, MetadataValue}; -use tonic::{Code, Request, Response, Status, Streaming}; +use tonic::{Request, Response, Status, Streaming}; use crate::network_server::WorkerDependencies; @@ -133,43 +130,9 @@ fn flight_error_to_tonic_status(err: FlightError) -> Status { match err { FlightError::Arrow(e) => Status::internal(e.to_string()), FlightError::NotYetImplemented(e) => Status::internal(e), - FlightError::Tonic(status) => tonic_status_010_to_012(status), + FlightError::Tonic(status) => status, FlightError::ProtocolError(e) => Status::internal(e), FlightError::DecodeError(e) => Status::internal(e), FlightError::ExternalError(e) => Status::internal(e.to_string()), } } - -// todo: Remove once arrow-flight works with tonic 0.12 -fn tonic_status_010_to_012(status: tonic_0_11::Status) -> Status { - let code = Code::from(status.code() as i32); - let message = status.message().to_owned(); - let details = Bytes::copy_from_slice(status.details()); - let metadata = tonic_metadata_map_010_to_012(status.metadata()); - Status::with_details_and_metadata(code, message, details, metadata) -} - -// todo: Remove once arrow-flight works with tonic 0.12 -fn tonic_metadata_map_010_to_012(metadata_map: &tonic_0_11::metadata::MetadataMap) -> MetadataMap { - let mut resulting_metadata_map = MetadataMap::with_capacity(metadata_map.len()); - for key_value in metadata_map.iter() { - match key_value { - tonic_0_11::metadata::KeyAndValueRef::Ascii(key, value) => { - // ignore metadata map entries if conversion fails - if let Ok(value) = MetadataValue::from_str(value.to_str().unwrap_or("")) { - if let Ok(key) = MetadataKey::from_str(key.as_str()) { - resulting_metadata_map.insert(key, value); - } - } - } - tonic_0_11::metadata::KeyAndValueRef::Binary(key, value) => { - if let Ok(key) = MetadataKey::from_bytes(key.as_ref()) { - let value = MetadataValue::from_bytes(value.as_ref()); - resulting_metadata_map.insert_bin(key, value); - } - } - } - } - - resulting_metadata_map -} diff --git a/crates/storage-query-datafusion/Cargo.toml b/crates/storage-query-datafusion/Cargo.toml index a6944fb5ac..0af88527fa 100644 --- a/crates/storage-query-datafusion/Cargo.toml +++ b/crates/storage-query-datafusion/Cargo.toml @@ -24,7 +24,7 @@ ahash = { workspace = true } async-trait = { workspace = true } bytes = { workspace = true } bytestring = { workspace = true } -chrono = { version = "0.4.26", default-features = false, features = ["clock"] } +chrono = { workspace = true } codederror = { workspace = true } datafusion = { workspace = true } derive_more = { workspace = true } diff --git a/crates/storage-query-datafusion/src/context.rs b/crates/storage-query-datafusion/src/context.rs index 8c669a77e7..f4261a6f46 100644 --- a/crates/storage-query-datafusion/src/context.rs +++ b/crates/storage-query-datafusion/src/context.rs @@ -15,8 +15,10 @@ use std::sync::Arc; use async_trait::async_trait; use codederror::CodedError; use datafusion::error::DataFusionError; -use datafusion::execution::context::{SQLOptions, SessionState}; +use datafusion::execution::context::SQLOptions; use datafusion::execution::runtime_env::{RuntimeConfig, RuntimeEnv}; +use datafusion::execution::SessionStateBuilder; +use datafusion::physical_optimizer::PhysicalOptimizerRule; use datafusion::physical_plan::SendableRecordBatchStream; use datafusion::prelude::{SessionConfig, SessionContext}; @@ -188,7 +190,10 @@ impl QueryContext { // // build the state // - let mut state = SessionState::new_with_config_rt(session_config, runtime); + let mut state_builder = SessionStateBuilder::new() + .with_config(session_config) + .with_runtime_env(runtime) + .with_default_features(); // Rewrite the logical plan, to transparently add a 'partition_key' column to Join's // To tables that have a partition key in their schema. @@ -200,7 +205,7 @@ impl QueryContext { // 'SELECT b.service_key FROM sys_invocation_status a JOIN state b on a.target_service_key = b.service_key AND a.partition_key = b.partition_key' // // This would be used by the SymmetricHashJoin as a watermark. - state.add_analyzer_rule(Arc::new( + state_builder = state_builder.with_analyzer_rule(Arc::new( analyzer::UseSymmetricHashJoinWhenPartitionKeyIsPresent::new(), )); @@ -219,10 +224,13 @@ impl QueryContext { // A far more involved but potentially more robust solution would be wrap the SymmetricHashJoin in a ProjectionExec // If this would become an issue for any reason, then we can explore that alternative. // - let mut physical_optimizers = state.physical_optimizers().to_vec(); - physical_optimizers.insert(0, Arc::new(physical_optimizer::JoinRewrite::new())); + let physical_optimizers: Vec> = + vec![Arc::new(physical_optimizer::JoinRewrite::new())]; + + state_builder = state_builder.with_physical_optimizer_rules(physical_optimizers); + + let state = state_builder.build(); - state = state.with_physical_optimizer_rules(physical_optimizers); let ctx = SessionContext::new_with_state(state); let sql_options = SQLOptions::new() diff --git a/crates/storage-query-datafusion/src/table_providers.rs b/crates/storage-query-datafusion/src/table_providers.rs index 01d85031ea..f34580b50e 100644 --- a/crates/storage-query-datafusion/src/table_providers.rs +++ b/crates/storage-query-datafusion/src/table_providers.rs @@ -17,7 +17,7 @@ use async_trait::async_trait; use datafusion::arrow::datatypes::SchemaRef; use datafusion::common::DataFusionError; use datafusion::datasource::{TableProvider, TableType}; -use datafusion::execution::context::{SessionState, TaskContext}; +use datafusion::execution::context::TaskContext; use datafusion::logical_expr::{Expr, TableProviderFilterPushDown}; use datafusion::physical_expr::EquivalenceProperties; use datafusion::physical_plan::{ @@ -75,7 +75,7 @@ where async fn scan( &self, - _state: &SessionState, + _state: &(dyn datafusion::catalog::Session), projection: Option<&Vec>, _filters: &[Expr], _limit: Option, @@ -239,7 +239,7 @@ impl TableProvider for GenericTableProvider { async fn scan( &self, - _state: &SessionState, + _state: &(dyn datafusion::catalog::Session), projection: Option<&Vec>, filters: &[Expr], limit: Option, diff --git a/deny.toml b/deny.toml index 66c6336c93..07173abe87 100644 --- a/deny.toml +++ b/deny.toml @@ -6,7 +6,6 @@ version = 2 yanked = "deny" ignore = [ { id = "RUSTSEC-2024-0370", reason = "crate is unmaintained. This needs `arrow_convert` to use an alternative to `err-derive`" }, - { id = "RUSTSEC-2023-0086", reason = "lexical-core pending Arrow update https://github.com/restatedev/restate/issues/1966" } ]