diff --git a/rust/cubestore/Cargo.lock b/rust/cubestore/Cargo.lock index fc9954196b596..90d754208948c 100644 --- a/rust/cubestore/Cargo.lock +++ b/rust/cubestore/Cargo.lock @@ -166,7 +166,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" dependencies = [ - "winapi 0.3.9", + "winapi", ] [[package]] @@ -412,7 +412,7 @@ dependencies = [ "flate2", "futures-core", "memchr", - "pin-project-lite 0.2.14", + "pin-project-lite", "tokio", ] @@ -426,7 +426,7 @@ dependencies = [ "flate2", "futures-core", "memchr", - "pin-project-lite 0.2.14", + "pin-project-lite", "tokio", "xz2", "zstd", @@ -449,7 +449,7 @@ dependencies = [ "slab", "socket2 0.4.4", "waker-fn", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -461,42 +461,6 @@ dependencies = [ "event-listener", ] -[[package]] -name = "async-macros" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421d59b24c1feea2496e409b3e0a8de23e5fc130a2ddc0b012e551f3b272bba" -dependencies = [ - "futures-core-preview", - "pin-utils", -] - -[[package]] -name = "async-std" -version = "0.99.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44501a9f7961bb539b67be0c428b3694e26557046a52759ca7eaf790030a64cc" -dependencies = [ - "async-macros", - "async-task", - "crossbeam-channel 0.3.9", - "crossbeam-deque 0.7.4", - "crossbeam-utils 0.6.6", - "futures-core", - "futures-io", - "futures-timer 1.0.3", - "kv-log-macro", - "log", - "memchr", - "mio 0.6.23", - "mio-uds", - "num_cpus", - "once_cell", - "pin-project-lite 0.1.12", - "pin-utils", - "slab", -] - [[package]] name = "async-stream" version = "0.3.6" @@ -505,7 +469,7 @@ checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" dependencies = [ "async-stream-impl", "futures-core", - "pin-project-lite 0.2.14", + "pin-project-lite", ] [[package]] @@ -519,16 +483,6 @@ dependencies = [ "syn 2.0.87", ] -[[package]] -name = "async-task" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ac2c016b079e771204030951c366db398864f5026f84a44dafb0ff20f02085d" -dependencies = [ - "libc", - "winapi 0.3.9", -] - [[package]] name = "async-trait" version = "0.1.80" @@ -571,7 +525,7 @@ checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ "hermit-abi 0.1.19", "libc", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -1307,15 +1261,6 @@ dependencies = [ "itertools 0.10.1", ] -[[package]] -name = "crossbeam-channel" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8ec7fcd21571dc78f96cc96243cab8d8f035247c3efd16c687be154c3fa9efa" -dependencies = [ - "crossbeam-utils 0.6.6", -] - [[package]] name = "crossbeam-channel" version = "0.5.7" @@ -1323,18 +1268,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf2b3e8478797446514c91ef04bafcb59faba183e621ad488df88983cc14128c" dependencies = [ "cfg-if 1.0.0", - "crossbeam-utils 0.8.15", -] - -[[package]] -name = "crossbeam-deque" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20ff29ded3204c5106278a81a38f4b482636ed4fa1e6cfbeef193291beb29ed" -dependencies = [ - "crossbeam-epoch 0.8.2", - "crossbeam-utils 0.7.2", - "maybe-uninit", + "crossbeam-utils", ] [[package]] @@ -1344,23 +1278,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e" dependencies = [ "cfg-if 1.0.0", - "crossbeam-epoch 0.9.14", - "crossbeam-utils 0.8.15", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace" -dependencies = [ - "autocfg 1.4.0", - "cfg-if 0.1.10", - "crossbeam-utils 0.7.2", - "lazy_static", - "maybe-uninit", - "memoffset 0.5.6", - "scopeguard", + "crossbeam-epoch", + "crossbeam-utils", ] [[package]] @@ -1371,7 +1290,7 @@ checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695" dependencies = [ "autocfg 1.4.0", "cfg-if 1.0.0", - "crossbeam-utils 0.8.15", + "crossbeam-utils", "memoffset 0.8.0", "scopeguard", ] @@ -1383,28 +1302,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add" dependencies = [ "cfg-if 1.0.0", - "crossbeam-utils 0.8.15", -] - -[[package]] -name = "crossbeam-utils" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6" -dependencies = [ - "cfg-if 0.1.10", - "lazy_static", -] - -[[package]] -name = "crossbeam-utils" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" -dependencies = [ - "autocfg 1.4.0", - "cfg-if 0.1.10", - "lazy_static", + "crossbeam-utils", ] [[package]] @@ -1427,7 +1325,7 @@ dependencies = [ "document-features", "parking_lot", "rustix 1.1.4", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -1436,7 +1334,7 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" dependencies = [ - "winapi 0.3.9", + "winapi", ] [[package]] @@ -1553,7 +1451,6 @@ dependencies = [ "anyhow", "arc-swap", "async-compression 0.3.8", - "async-std", "async-stream", "async-trait", "base64 0.13.0", @@ -1584,7 +1481,7 @@ dependencies = [ "enum_primitive", "flexbuffers", "futures", - "futures-timer 3.0.2", + "futures-timer", "futures-util", "hex", "http-auth-basic", @@ -1615,7 +1512,7 @@ dependencies = [ "parse-size", "paste", "pin-project", - "pin-project-lite 0.2.14", + "pin-project-lite", "pretty_assertions", "prost", "rand 0.8.5", @@ -1731,7 +1628,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" dependencies = [ "cfg-if 1.0.0", - "crossbeam-utils 0.8.15", + "crossbeam-utils", "hashbrown 0.14.5", "lock_api", "once_cell", @@ -2184,7 +2081,7 @@ dependencies = [ "itertools 0.14.0", "log", "parking_lot", - "pin-project-lite 0.2.14", + "pin-project-lite", "serde", "tokio", "tracing", @@ -2513,7 +2410,7 @@ dependencies = [ "cfg-if 1.0.0", "libc", "redox_syscall 0.2.10", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -2623,22 +2520,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" -[[package]] -name = "fuchsia-zircon" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" -dependencies = [ - "bitflags 1.3.2", - "fuchsia-zircon-sys", -] - -[[package]] -name = "fuchsia-zircon-sys" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" - [[package]] name = "futures" version = "0.3.26" @@ -2670,12 +2551,6 @@ version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" -[[package]] -name = "futures-core-preview" -version = "0.3.0-alpha.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b35b6263fb1ef523c3056565fa67b1d16f0a8604ff12b11b08c25f28a734c60a" - [[package]] name = "futures-executor" version = "0.3.26" @@ -2704,7 +2579,7 @@ dependencies = [ "futures-io", "memchr", "parking", - "pin-project-lite 0.2.14", + "pin-project-lite", "waker-fn", ] @@ -2731,16 +2606,6 @@ version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" -[[package]] -name = "futures-timer" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7946248e9429ff093345d3e8fdf4eb0f9b2d79091611c9c14f744971a6f8be45" -dependencies = [ - "futures-core-preview", - "pin-utils", -] - [[package]] name = "futures-timer" version = "3.0.2" @@ -2760,7 +2625,7 @@ dependencies = [ "futures-sink", "futures-task", "memchr", - "pin-project-lite 0.2.14", + "pin-project-lite", "pin-utils", "slab", ] @@ -3040,7 +2905,7 @@ checksum = "60daa14be0e0786db0f03a9e57cb404c9d756eed2b6c62b9ea98ec5743ec75a9" dependencies = [ "bytes 1.10.1", "http 0.2.12", - "pin-project-lite 0.2.14", + "pin-project-lite", ] [[package]] @@ -3063,7 +2928,7 @@ dependencies = [ "futures-core", "http 1.1.0", "http-body 1.0.0", - "pin-project-lite 0.2.14", + "pin-project-lite", ] [[package]] @@ -3109,7 +2974,7 @@ dependencies = [ "httparse", "httpdate", "itoa 1.0.1", - "pin-project-lite 0.2.14", + "pin-project-lite", "socket2 0.5.6", "tokio", "tower-service", @@ -3131,7 +2996,7 @@ dependencies = [ "http-body 1.0.0", "httparse", "itoa 1.0.1", - "pin-project-lite 0.2.14", + "pin-project-lite", "smallvec", "tokio", "want", @@ -3180,7 +3045,7 @@ dependencies = [ "http 1.1.0", "http-body 1.0.0", "hyper 1.2.0", - "pin-project-lite 0.2.14", + "pin-project-lite", "socket2 0.5.6", "tokio", "tower", @@ -3411,15 +3276,6 @@ version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8bb03732005da905c88227371639bf1ad885cc712789c011c31c5fb3ab3ccf02" -[[package]] -name = "iovec" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" -dependencies = [ - "libc", -] - [[package]] name = "ipc-channel" version = "0.18.0" @@ -3427,7 +3283,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ab3a34c91b7e84a72643bd75d1bac3afd241f78f9859fe0b5e5b2a6a75732c2" dependencies = [ "bincode", - "crossbeam-channel 0.5.7", + "crossbeam-channel", "fnv", "lazy_static", "libc", @@ -3542,25 +3398,6 @@ dependencies = [ "cpufeatures 0.2.5", ] -[[package]] -name = "kernel32-sys" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" -dependencies = [ - "winapi 0.2.8", - "winapi-build", -] - -[[package]] -name = "kv-log-macro" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" -dependencies = [ - "log", -] - [[package]] name = "lazy_static" version = "1.4.0" @@ -3763,9 +3600,6 @@ name = "log" version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" -dependencies = [ - "value-bag", -] [[package]] name = "lru" @@ -3816,12 +3650,6 @@ dependencies = [ "syn 2.0.87", ] -[[package]] -name = "maybe-uninit" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" - [[package]] name = "md-5" version = "0.10.6" @@ -3850,15 +3678,6 @@ version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" -[[package]] -name = "memoffset" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa" -dependencies = [ - "autocfg 1.4.0", -] - [[package]] name = "memoffset" version = "0.6.5" @@ -3918,25 +3737,6 @@ dependencies = [ "adler2", ] -[[package]] -name = "mio" -version = "0.6.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4" -dependencies = [ - "cfg-if 0.1.10", - "fuchsia-zircon", - "fuchsia-zircon-sys", - "iovec", - "kernel32-sys", - "libc", - "log", - "miow", - "net2", - "slab", - "winapi 0.2.8", -] - [[package]] name = "mio" version = "0.8.11" @@ -3960,29 +3760,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "mio-uds" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0" -dependencies = [ - "iovec", - "libc", - "mio 0.6.23", -] - -[[package]] -name = "miow" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d" -dependencies = [ - "kernel32-sys", - "net2", - "winapi 0.2.8", - "ws2_32-sys", -] - [[package]] name = "mockall" version = "0.8.3" @@ -4018,9 +3795,9 @@ checksum = "1ccedbe530334b20d6f57b2ca9f7c54c7bd1072a5a0b0035970aafd53982bd8d" dependencies = [ "async-io", "async-lock", - "crossbeam-channel 0.5.7", - "crossbeam-epoch 0.9.14", - "crossbeam-utils 0.8.15", + "crossbeam-channel", + "crossbeam-epoch", + "crossbeam-utils", "futures-util", "num_cpus", "once_cell", @@ -4126,17 +3903,6 @@ dependencies = [ "tempfile", ] -[[package]] -name = "net2" -version = "0.2.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae" -dependencies = [ - "cfg-if 0.1.10", - "libc", - "winapi 0.3.9", -] - [[package]] name = "nom" version = "7.1.3" @@ -4469,7 +4235,7 @@ dependencies = [ "futures-sink", "js-sys", "once_cell", - "pin-project-lite 0.2.14", + "pin-project-lite", "thiserror", ] @@ -4585,7 +4351,7 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53cdc5b785b7a58c5aad8216b3dfa114df64b0b06ae6e1501cef91df2fbdf8f9" dependencies = [ - "winapi 0.3.9", + "winapi", ] [[package]] @@ -4778,12 +4544,6 @@ dependencies = [ "syn 2.0.87", ] -[[package]] -name = "pin-project-lite" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777" - [[package]] name = "pin-project-lite" version = "0.2.14" @@ -4840,7 +4600,7 @@ dependencies = [ "libc", "log", "wepoll-ffi", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -5012,14 +4772,14 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7e31331286705f455e56cca62e0e717158474ff02b7936c1fa596d983f4ae27" dependencies = [ - "crossbeam-utils 0.8.15", + "crossbeam-utils", "libc", "mach", "once_cell", "raw-cpuid", "wasi 0.10.2+wasi-snapshot-preview1", "web-sys", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -5039,7 +4799,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b22d8e7369034b9a7132bc2008cac12f2013c8132b45e0554e6e20e2617f2156" dependencies = [ "bytes 1.10.1", - "pin-project-lite 0.2.14", + "pin-project-lite", "quinn-proto", "quinn-udp", "rustc-hash 2.0.0", @@ -5111,7 +4871,7 @@ dependencies = [ "rand_os", "rand_pcg", "rand_xorshift", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -5236,7 +4996,7 @@ checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b" dependencies = [ "libc", "rand_core 0.4.2", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -5250,7 +5010,7 @@ dependencies = [ "libc", "rand_core 0.4.2", "rdrand", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -5288,7 +5048,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90" dependencies = [ "autocfg 1.4.0", - "crossbeam-deque 0.8.1", + "crossbeam-deque", "either", "rayon-core", ] @@ -5299,9 +5059,9 @@ version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e" dependencies = [ - "crossbeam-channel 0.5.7", - "crossbeam-deque 0.8.1", - "crossbeam-utils 0.8.15", + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-utils", "lazy_static", "num_cpus", ] @@ -5444,7 +5204,7 @@ dependencies = [ "native-tls", "once_cell", "percent-encoding", - "pin-project-lite 0.2.14", + "pin-project-lite", "rustls-pemfile 1.0.4", "serde", "serde_json", @@ -5487,7 +5247,7 @@ dependencies = [ "mime", "once_cell", "percent-encoding", - "pin-project-lite 0.2.14", + "pin-project-lite", "quinn", "rustls", "rustls-pemfile 2.1.2", @@ -5521,7 +5281,7 @@ dependencies = [ "spin 0.5.2", "untrusted 0.7.1", "web-sys", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -5742,7 +5502,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75" dependencies = [ "lazy_static", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -5964,7 +5724,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b0d94659ad3c2137fef23ae75b03d5241d633f8acded53d672decfa0e6e0caef" dependencies = [ "libc", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -6015,7 +5775,7 @@ dependencies = [ "colored", "log", "time 0.3.36", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -6085,7 +5845,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0" dependencies = [ "libc", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -6411,7 +6171,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" dependencies = [ "libc", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -6423,7 +6183,7 @@ dependencies = [ "libc", "rustversion", "time-macros 0.1.1", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -6537,7 +6297,7 @@ dependencies = [ "libc", "mio 1.0.3", "parking_lot", - "pin-project-lite 0.2.14", + "pin-project-lite", "signal-hook-registry", "socket2 0.5.6", "tokio-macros", @@ -6583,7 +6343,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" dependencies = [ "futures-core", - "pin-project-lite 0.2.14", + "pin-project-lite", "tokio", ] @@ -6611,7 +6371,7 @@ dependencies = [ "futures-core", "futures-io", "futures-sink", - "pin-project-lite 0.2.14", + "pin-project-lite", "tokio", "tracing", ] @@ -6681,7 +6441,7 @@ checksum = "a400e31aa60b9d44a52a8ee0343b5b18566b03a8321e0d321f695cf56e940160" dependencies = [ "cfg-if 1.0.0", "log", - "pin-project-lite 0.2.14", + "pin-project-lite", "tracing-attributes", "tracing-core", ] @@ -6952,12 +6712,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" -[[package]] -name = "value-bag" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74797339c3b98616c009c7c3eb53a0ce41e85c8ec66bd3db96ed132d20cfdee8" - [[package]] name = "vcpkg" version = "0.2.15" @@ -6989,7 +6743,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" dependencies = [ "same-file", - "winapi 0.3.9", + "winapi", "winapi-util", ] @@ -7178,12 +6932,6 @@ dependencies = [ "cc", ] -[[package]] -name = "winapi" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" - [[package]] name = "winapi" version = "0.3.9" @@ -7194,12 +6942,6 @@ dependencies = [ "winapi-x86_64-pc-windows-gnu", ] -[[package]] -name = "winapi-build" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" - [[package]] name = "winapi-i686-pc-windows-gnu" version = "0.4.0" @@ -7212,7 +6954,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" dependencies = [ - "winapi 0.3.9", + "winapi", ] [[package]] @@ -7469,16 +7211,6 @@ version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" -[[package]] -name = "ws2_32-sys" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" -dependencies = [ - "winapi 0.2.8", - "winapi-build", -] - [[package]] name = "xattr" version = "0.2.2" diff --git a/rust/cubestore/cubestore/Cargo.toml b/rust/cubestore/cubestore/Cargo.toml index 7a98f838889e9..8a6fbff57de48 100644 --- a/rust/cubestore/cubestore/Cargo.toml +++ b/rust/cubestore/cubestore/Cargo.toml @@ -39,7 +39,8 @@ futures = "0.3.26" smallvec = "1.11.0" flexbuffers = { version = "0.2.2", features = ["deserialize_human_readable", "serialize_human_readable"] } byteorder = "1.3.4" -log = "0.4.21" +# `kv` unlocks Record::to_builder, previously enabled transitively via async-std. +log = { version = "0.4.21", features = ["kv"] } simple_logger = { version = "2.3.0" } async-trait = "0.1.80" actix-rt = "2.7.0" @@ -53,7 +54,6 @@ chrono = "0.4.38" chrono-tz = "0.8.2" lazy_static = "1.4.0" mockall = "0.8.1" -async-std = "0.99" async-stream = "0.3.6" indexmap = "2.10.0" itertools = "0.14.0" diff --git a/rust/cubestore/cubestore/src/http/mod.rs b/rust/cubestore/cubestore/src/http/mod.rs index ffa6e62b2a452..fac98eb433f71 100644 --- a/rust/cubestore/cubestore/src/http/mod.rs +++ b/rust/cubestore/cubestore/src/http/mod.rs @@ -13,7 +13,6 @@ use crate::store::DataFrame; use crate::table::{Row, TableValue}; use crate::util::WorkerLoop; use crate::{app_metrics, CubeError}; -use async_std::fs::File; use cubeshared::codegen::{ root_as_http_message, HttpColumnValue, HttpColumnValueArgs, HttpError, HttpErrorArgs, HttpMessageArgs, HttpParameterValue, HttpQuery, HttpQueryArgs, HttpQueryResult, @@ -23,7 +22,7 @@ use cubeshared::codegen::{ }; use cubeshared::flatbuffers::{FlatBufferBuilder, ForwardsUOffset, Vector, WIPOffset}; use datafusion::cube_ext; -use futures::{AsyncWriteExt, SinkExt, Stream, StreamExt}; +use futures::{SinkExt, Stream, StreamExt}; use futures_timer::Delay; use hex::ToHex; use http_auth_basic::Credentials; @@ -36,7 +35,8 @@ use std::convert::TryFrom; use std::net::SocketAddr; use std::time::{Duration, SystemTime}; use tempfile::NamedTempFile; -use tokio::io::BufReader; +use tokio::fs::File; +use tokio::io::{AsyncWriteExt, BufReader}; use tokio::sync::mpsc::Sender; use tokio::sync::{mpsc, Mutex}; use tokio_util::sync::CancellationToken; @@ -580,9 +580,6 @@ impl HttpServer { file.flush() .await .map_err(|e| CubeRejection::Internal(e.to_string()))?; - file.close() - .await - .map_err(|e| CubeRejection::Internal(e.to_string()))?; } sql_service @@ -1147,6 +1144,90 @@ mod tests { } } + /// Records what `upload_temp_file` found on disk, so a test can assert the + /// body had fully landed before the path was handed off. + struct UploadStubService { + dir: std::path::PathBuf, + seen: std::sync::Mutex>>, + } + crate::di_service!(UploadStubService, [SqlService]); + #[async_trait] + impl SqlService for UploadStubService { + async fn exec_query(&self, _q: &str) -> Result { + unimplemented!("Mock") + } + async fn exec_query_with_context( + &self, + _ctx: SqlQueryContext, + _q: &str, + ) -> Result { + unimplemented!("Mock") + } + async fn plan_query(&self, _q: &str) -> Result { + unimplemented!("Mock") + } + async fn plan_query_with_context( + &self, + _ctx: SqlQueryContext, + _q: &str, + ) -> Result { + unimplemented!("Mock") + } + async fn upload_temp_file( + &self, + _ctx: SqlQueryContext, + _name: String, + path: &Path, + ) -> Result<(), CubeError> { + *self.seen.lock().unwrap() = Some(std::fs::read(path)?); + Ok(()) + } + async fn temp_uploads_dir(&self, _ctx: SqlQueryContext) -> Result { + Ok(self.dir.to_string_lossy().to_string()) + } + } + + #[tokio::test] + async fn upload_writes_the_whole_body_before_handing_off_the_path() -> Result<(), CubeError> { + let dir = tempfile::tempdir()?; + let service = Arc::new(UploadStubService { + dir: dir.path().to_path_buf(), + seen: std::sync::Mutex::new(None), + }); + + // Many chunks well past the file's internal buffer: an unflushed tail + // would show up here as a short read. + let chunks: Vec> = (0..8u8).map(|i| vec![b'a' + i; 64 * 1024]).collect(); + let expected: Vec = chunks.iter().flatten().copied().collect(); + let body = futures::stream::iter( + chunks + .into_iter() + .map(|c| Ok::(bytes::Bytes::from(c))), + ); + + HttpServer::handle_upload( + service.clone(), + SqlQueryContext::default(), + UploadQuery { + name: "upload.csv".to_string(), + }, + body, + ) + .await + .map_err(|e| CubeError::internal(format!("{:?}", e)))?; + + let seen = service + .seen + .lock() + .unwrap() + .clone() + .expect("upload_temp_file was never reached"); + // Compared without pretty_assertions to keep a failure from dumping 512KB. + assert_eq!(seen.len(), expected.len()); + assert!(seen == expected, "uploaded bytes differ from the body"); + Ok(()) + } + fn build_types<'a: 'ma, 'ma>( builder: &'ma mut FlatBufferBuilder<'a>, columns: &Vec, diff --git a/rust/cubestore/cubestore/src/import/mod.rs b/rust/cubestore/cubestore/src/import/mod.rs index fa3c0f4d0775f..4b5cd78ab7d18 100644 --- a/rust/cubestore/cubestore/src/import/mod.rs +++ b/rust/cubestore/cubestore/src/import/mod.rs @@ -1,13 +1,13 @@ use core::mem; use memchr; use std::convert::TryFrom; +use std::io::SeekFrom; use std::path::Path; use std::pin::Pin; use std::sync::Arc; +use std::task::{Context, Poll}; use async_compression::tokio::bufread::GzipDecoder; -use async_std::io::SeekFrom; -use async_std::task::{Context, Poll}; use async_trait::async_trait; use bigdecimal::{BigDecimal, Num}; use datafusion::arrow::array::{ArrayBuilder, ArrayRef}; diff --git a/rust/cubestore/cubestore/src/streaming/buffered_stream.rs b/rust/cubestore/cubestore/src/streaming/buffered_stream.rs index 398c34cd2f00d..5fcbc7e60d650 100644 --- a/rust/cubestore/cubestore/src/streaming/buffered_stream.rs +++ b/rust/cubestore/cubestore/src/streaming/buffered_stream.rs @@ -1,8 +1,8 @@ -use async_std::task::{Context, Poll}; use core::pin::Pin; use futures::stream::{Fuse, FusedStream}; use futures::{Stream, StreamExt}; use pin_project_lite::pin_project; +use std::task::{Context, Poll}; use tokio::time::{interval, Duration, Instant, Interval}; pin_project! { diff --git a/rust/cubestore/cubestore/src/streaming/kafka.rs b/rust/cubestore/cubestore/src/streaming/kafka.rs index 565d0f4cd05a6..689b3d0e8623f 100644 --- a/rust/cubestore/cubestore/src/streaming/kafka.rs +++ b/rust/cubestore/cubestore/src/streaming/kafka.rs @@ -8,11 +8,10 @@ use crate::streaming::traffic_sender::TrafficSender; use crate::streaming::{parse_json_payload_and_key, StreamingSource}; use crate::table::{Row, TableValue}; use crate::CubeError; -use async_std::stream; use async_trait::async_trait; use datafusion::arrow::array::ArrayRef; use datafusion::cube_ext; -use futures::Stream; +use futures::{stream, Stream}; use json::object::Object; use json::JsonValue; use rdkafka::consumer::{Consumer, StreamConsumer}; @@ -227,7 +226,7 @@ impl KafkaClientService for KafkaClientServiceImpl { let config_obj = self.config_obj.clone(); let mut consumer = self.consumer.write().await; *consumer = Some(stream_consumer.clone()); - Ok(Box::pin(stream::from_fn(move || { + Ok(Box::pin(stream::unfold((), move |()| { let stream_consumer = stream_consumer.clone(); let to_row = to_row.clone(); let config_obj = config_obj.clone(); @@ -253,8 +252,8 @@ impl KafkaClientService for KafkaClientServiceImpl { }); match row { Ok(None) => continue, - Ok(Some(row)) => break Some(Ok(row)), - Err(e) => break Some(Err(e)), + Ok(Some(row)) => break Some((Ok(row), ())), + Err(e) => break Some((Err(e), ())), } } } diff --git a/rust/cubestore/cubestore/src/util/time_span.rs b/rust/cubestore/cubestore/src/util/time_span.rs index 8e819c923784e..b3ccd33218d9f 100644 --- a/rust/cubestore/cubestore/src/util/time_span.rs +++ b/rust/cubestore/cubestore/src/util/time_span.rs @@ -1,4 +1,4 @@ -use async_std::future::Future; +use std::future::Future; use std::time::{Duration, SystemTime}; /// The returned object will [log::warn] if it is alive longer than [timeout].