From fda5c535b3ea7589a56bf34227e2519bbcaf772d Mon Sep 17 00:00:00 2001 From: "cong.xie" Date: Wed, 17 Dec 2025 17:04:15 -0500 Subject: [PATCH 01/20] bump compatible deps --- quickwit/Cargo.lock | 493 +++++++++++++++++++------------------------- quickwit/Cargo.toml | 30 +-- 2 files changed, 229 insertions(+), 294 deletions(-) diff --git a/quickwit/Cargo.lock b/quickwit/Cargo.lock index 708c287cba7..13848b49b81 100644 --- a/quickwit/Cargo.lock +++ b/quickwit/Cargo.lock @@ -275,9 +275,9 @@ dependencies = [ [[package]] name = "async-compression" -version = "0.4.34" +version = "0.4.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e86f6d3dc9dc4352edeea6b8e499e13e3f5dc3b964d7ca5fd411415a3498473" +checksum = "98ec5f6c2f8bc326c994cb9e241cc257ddaba9afa8555a43cffbb5dd86efaa37" dependencies = [ "compression-codecs", "compression-core", @@ -425,9 +425,9 @@ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "aws-config" -version = "1.8.11" +version = "1.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0149602eeaf915158e14029ba0c78dedb8c08d554b024d54c8f239aab46511d" +checksum = "96571e6996817bf3d58f6b569e4b9fd2e9d2fcf9f7424eed07b2ce9bb87535e5" dependencies = [ "aws-credential-types", "aws-runtime", @@ -435,8 +435,8 @@ dependencies = [ "aws-sdk-ssooidc", "aws-sdk-sts", "aws-smithy-async", - "aws-smithy-http 0.62.5", - "aws-smithy-json 0.61.7", + "aws-smithy-http 0.62.6", + "aws-smithy-json 0.61.9", "aws-smithy-runtime", "aws-smithy-runtime-api", "aws-smithy-types", @@ -455,9 +455,9 @@ dependencies = [ [[package]] name = "aws-credential-types" -version = "1.2.10" +version = "1.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b01c9521fa01558f750d183c8c68c81b0155b9d193a4ba7f84c36bd1b6d04a06" +checksum = "3cd362783681b15d136480ad555a099e82ecd8e2d10a841e14dfd0078d67fee3" dependencies = [ "aws-smithy-async", "aws-smithy-runtime-api", @@ -467,9 +467,9 @@ dependencies = [ [[package]] name = "aws-lc-rs" -version = "1.15.1" +version = "1.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b5ce75405893cd713f9ab8e297d8e438f624dde7d706108285f7e17a25a180f" +checksum = "6a88aab2464f1f25453baa7a07c84c5b7684e274054ba06817f382357f77a288" dependencies = [ "aws-lc-sys", "zeroize", @@ -477,9 +477,9 @@ dependencies = [ [[package]] name = "aws-lc-sys" -version = "0.34.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "179c3777a8b5e70e90ea426114ffc565b2c1a9f82f6c4a0c5a34aa6ef5e781b6" +checksum = "b45afffdee1e7c9126814751f88dddc747f41d91da16c9551a0f1e8a11e788a1" dependencies = [ "cc", "cmake", @@ -489,15 +489,15 @@ dependencies = [ [[package]] name = "aws-runtime" -version = "1.5.16" +version = "1.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ce527fb7e53ba9626fc47824f25e256250556c40d8f81d27dd92aa38239d632" +checksum = "d81b5b2898f6798ad58f484856768bca817e3cd9de0974c24ae0f1113fe88f1b" dependencies = [ "aws-credential-types", "aws-sigv4", "aws-smithy-async", "aws-smithy-eventstream", - "aws-smithy-http 0.62.5", + "aws-smithy-http 0.62.6", "aws-smithy-runtime", "aws-smithy-runtime-api", "aws-smithy-types", @@ -514,16 +514,16 @@ dependencies = [ [[package]] name = "aws-sdk-kinesis" -version = "1.96.1" +version = "1.97.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48519bb3567e44d4ec1a83c14655b1c813b0347a793a5bba9ccf51484d399110" +checksum = "dd9a4c879bef23961715c0797b01f20d930bd958f25538191f032d74d41e18fa" dependencies = [ "aws-credential-types", "aws-runtime", "aws-smithy-async", "aws-smithy-eventstream", - "aws-smithy-http 0.62.5", - "aws-smithy-json 0.61.7", + "aws-smithy-http 0.62.6", + "aws-smithy-json 0.61.9", "aws-smithy-runtime", "aws-smithy-runtime-api", "aws-smithy-types", @@ -571,15 +571,15 @@ dependencies = [ [[package]] name = "aws-sdk-sqs" -version = "1.90.0" +version = "1.91.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "201073d85c1852c22672565b9ddd8286ec4768ad680a261337e395b4d4699d44" +checksum = "e007a58d1e4be0e611a664d6b1cba4523011f67589619048c1902becef3e891f" dependencies = [ "aws-credential-types", "aws-runtime", "aws-smithy-async", - "aws-smithy-http 0.62.5", - "aws-smithy-json 0.61.7", + "aws-smithy-http 0.62.6", + "aws-smithy-json 0.61.9", "aws-smithy-runtime", "aws-smithy-runtime-api", "aws-smithy-types", @@ -593,15 +593,15 @@ dependencies = [ [[package]] name = "aws-sdk-sso" -version = "1.90.0" +version = "1.91.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f18e53542c522459e757f81e274783a78f8c81acdfc8d1522ee8a18b5fb1c66" +checksum = "8ee6402a36f27b52fe67661c6732d684b2635152b676aa2babbfb5204f99115d" dependencies = [ "aws-credential-types", "aws-runtime", "aws-smithy-async", - "aws-smithy-http 0.62.5", - "aws-smithy-json 0.61.7", + "aws-smithy-http 0.62.6", + "aws-smithy-json 0.61.9", "aws-smithy-runtime", "aws-smithy-runtime-api", "aws-smithy-types", @@ -615,15 +615,15 @@ dependencies = [ [[package]] name = "aws-sdk-ssooidc" -version = "1.92.0" +version = "1.93.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "532f4d866012ffa724a4385c82e8dd0e59f0ca0e600f3f22d4c03b6824b34e4a" +checksum = "a45a7f750bbd170ee3677671ad782d90b894548f4e4ae168302c57ec9de5cb3e" dependencies = [ "aws-credential-types", "aws-runtime", "aws-smithy-async", - "aws-smithy-http 0.62.5", - "aws-smithy-json 0.61.7", + "aws-smithy-http 0.62.6", + "aws-smithy-json 0.61.9", "aws-smithy-runtime", "aws-smithy-runtime-api", "aws-smithy-types", @@ -637,15 +637,15 @@ dependencies = [ [[package]] name = "aws-sdk-sts" -version = "1.94.0" +version = "1.95.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1be6fbbfa1a57724788853a623378223fe828fc4c09b146c992f0c95b6256174" +checksum = "55542378e419558e6b1f398ca70adb0b2088077e79ad9f14eb09441f2f7b2164" dependencies = [ "aws-credential-types", "aws-runtime", "aws-smithy-async", - "aws-smithy-http 0.62.5", - "aws-smithy-json 0.61.7", + "aws-smithy-http 0.62.6", + "aws-smithy-json 0.61.9", "aws-smithy-query", "aws-smithy-runtime", "aws-smithy-runtime-api", @@ -660,13 +660,13 @@ dependencies = [ [[package]] name = "aws-sigv4" -version = "1.3.6" +version = "1.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c35452ec3f001e1f2f6db107b6373f1f48f05ec63ba2c5c9fa91f07dad32af11" +checksum = "69e523e1c4e8e7e8ff219d732988e22bfeae8a1cafdbe6d9eca1546fa080be7c" dependencies = [ "aws-credential-types", "aws-smithy-eventstream", - "aws-smithy-http 0.62.5", + "aws-smithy-http 0.62.6", "aws-smithy-runtime-api", "aws-smithy-types", "bytes", @@ -688,9 +688,9 @@ dependencies = [ [[package]] name = "aws-smithy-async" -version = "1.2.6" +version = "1.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "127fcfad33b7dfc531141fda7e1c402ac65f88aca5511a4d31e2e3d2cd01ce9c" +checksum = "9ee19095c7c4dda59f1697d028ce704c24b2d33c6718790c7f1d5a3015b4107c" dependencies = [ "futures-util", "pin-project-lite", @@ -720,9 +720,9 @@ dependencies = [ [[package]] name = "aws-smithy-eventstream" -version = "0.60.13" +version = "0.60.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e29a304f8319781a39808847efb39561351b1bb76e933da7aa90232673638658" +checksum = "dc12f8b310e38cad85cf3bef45ad236f470717393c613266ce0a89512286b650" dependencies = [ "aws-smithy-types", "bytes", @@ -752,9 +752,9 @@ dependencies = [ [[package]] name = "aws-smithy-http" -version = "0.62.5" +version = "0.62.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445d5d720c99eed0b4aa674ed00d835d9b1427dd73e04adaf2f94c6b2d6f9fca" +checksum = "826141069295752372f8203c17f28e30c464d22899a43a0c9fd9c458d469c88b" dependencies = [ "aws-smithy-eventstream", "aws-smithy-runtime-api", @@ -774,9 +774,9 @@ dependencies = [ [[package]] name = "aws-smithy-http-client" -version = "1.1.4" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "623254723e8dfd535f566ee7b2381645f8981da086b5c4aa26c0c41582bb1d2c" +checksum = "59e62db736db19c488966c8d787f52e6270be565727236fd5579eaa301e7bc4a" dependencies = [ "aws-smithy-async", "aws-smithy-protocol-test", @@ -798,7 +798,7 @@ dependencies = [ "pin-project-lite", "rustls 0.21.12", "rustls 0.23.35", - "rustls-native-certs 0.8.2", + "rustls-native-certs", "rustls-pki-types", "serde", "serde_json", @@ -819,27 +819,27 @@ dependencies = [ [[package]] name = "aws-smithy-json" -version = "0.61.7" +version = "0.61.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2db31f727935fc63c6eeae8b37b438847639ec330a9161ece694efba257e0c54" +checksum = "49fa1213db31ac95288d981476f78d05d9cbb0353d22cdf3472cc05bb02f6551" dependencies = [ "aws-smithy-types", ] [[package]] name = "aws-smithy-observability" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d1881b1ea6d313f9890710d65c158bdab6fb08c91ea825f74c1c8c357baf4cc" +checksum = "17f616c3f2260612fe44cede278bafa18e73e6479c4e393e2c4518cf2a9a228a" dependencies = [ "aws-smithy-runtime-api", ] [[package]] name = "aws-smithy-protocol-test" -version = "0.63.6" +version = "0.63.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa808d23a8edf0da73f6812d06d8c0a48d70f05d2d3696362982aad11ee475b7" +checksum = "01317a9e3c5c06f1af35001ef0c873c1e34e458c20b2ee1eee0fb431e6dbb010" dependencies = [ "assert-json-diff", "aws-smithy-runtime-api", @@ -856,9 +856,9 @@ dependencies = [ [[package]] name = "aws-smithy-query" -version = "0.60.8" +version = "0.60.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d28a63441360c477465f80c7abac3b9c4d075ca638f982e605b7dc2a2c7156c9" +checksum = "ae5d689cf437eae90460e944a58b5668530d433b4ff85789e69d2f2a556e057d" dependencies = [ "aws-smithy-types", "urlencoding", @@ -866,12 +866,12 @@ dependencies = [ [[package]] name = "aws-smithy-runtime" -version = "1.9.4" +version = "1.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bbe9d018d646b96c7be063dd07987849862b0e6d07c778aad7d93d1be6c1ef0" +checksum = "65fda37911905ea4d3141a01364bc5509a0f32ae3f3b22d6e330c0abfb62d247" dependencies = [ "aws-smithy-async", - "aws-smithy-http 0.62.5", + "aws-smithy-http 0.62.6", "aws-smithy-http-client", "aws-smithy-observability", "aws-smithy-runtime-api", @@ -891,9 +891,9 @@ dependencies = [ [[package]] name = "aws-smithy-runtime-api" -version = "1.9.2" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec7204f9fd94749a7c53b26da1b961b4ac36bf070ef1e0b94bb09f79d4f6c193" +checksum = "ab0d43d899f9e508300e587bf582ba54c27a452dd0a9ea294690669138ae14a2" dependencies = [ "aws-smithy-async", "aws-smithy-types", @@ -908,9 +908,9 @@ dependencies = [ [[package]] name = "aws-smithy-types" -version = "1.3.4" +version = "1.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25f535879a207fce0db74b679cfc3e91a3159c8144d717d55f5832aea9eef46e" +checksum = "905cb13a9895626d49cf2ced759b062d913834c7482c38e49557eac4e6193f01" dependencies = [ "base64-simd", "bytes", @@ -934,18 +934,18 @@ dependencies = [ [[package]] name = "aws-smithy-xml" -version = "0.60.12" +version = "0.60.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eab77cdd036b11056d2a30a7af7b775789fb024bf216acc13884c6c97752ae56" +checksum = "11b2f670422ff42bf7065031e72b45bc52a3508bd089f743ea90731ca2b6ea57" dependencies = [ "xmlparser", ] [[package]] name = "aws-types" -version = "1.3.10" +version = "1.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d79fb68e3d7fe5d4833ea34dc87d2e97d26d3086cb3da660bb6b1f76d98680b6" +checksum = "1d980627d2dd7bfc32a3c025685a033eeab8d365cc840c631ef59d1b8f428164" dependencies = [ "aws-credential-types", "aws-smithy-async", @@ -1109,7 +1109,7 @@ dependencies = [ "pin-project", "quick-xml 0.31.0", "rand 0.8.5", - "reqwest 0.12.24", + "reqwest 0.12.26", "rustc_version", "serde", "serde_json", @@ -1220,7 +1220,7 @@ dependencies = [ "miniz_oxide", "object", "rustc-demangle", - "windows-link 0.2.1", + "windows-link", ] [[package]] @@ -1277,9 +1277,9 @@ dependencies = [ [[package]] name = "base64ct" -version = "1.8.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" +checksum = "0e050f626429857a27ddccb31e0aca21356bfa709c04041aefddac081a8f068a" [[package]] name = "bincode" @@ -1446,9 +1446,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.19.0" +version = "3.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" +checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" [[package]] name = "bytecount" @@ -1561,9 +1561,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.47" +version = "1.2.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd405d82c84ff7f35739f175f67d8b9fb7687a0e84ccdc78bd3568839827cf07" +checksum = "90583009037521a116abf44494efecd645ba48b6622457080f080b85544e2215" dependencies = [ "find-msvc-tools", "jobserver", @@ -1670,7 +1670,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-link 0.2.1", + "windows-link", ] [[package]] @@ -1791,9 +1791,9 @@ dependencies = [ [[package]] name = "cmake" -version = "0.1.54" +version = "0.1.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7caa3f9de89ddbe2c607f4101924c5abec803763ae9534e4f4d7d8f84aa81f0" +checksum = "b042e5d8a74ae91bb0961acd039822472ec99f8ab0948cbf6d1369588f8be586" dependencies = [ "cc", ] @@ -1842,7 +1842,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" dependencies = [ "lazy_static", - "windows-sys 0.59.0", + "windows-sys 0.48.0", ] [[package]] @@ -1858,9 +1858,9 @@ dependencies = [ [[package]] name = "compression-codecs" -version = "0.4.33" +version = "0.4.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "302266479cb963552d11bd042013a58ef1adc56768016c8b82b4199488f2d4ad" +checksum = "b0f7ac3e5b97fdce45e8922fb05cae2c37f7bbd63d30dd94821dacfd8f3f2bf2" dependencies = [ "compression-core", "flate2", @@ -2006,9 +2006,9 @@ dependencies = [ [[package]] name = "crc" -version = "3.3.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" +checksum = "5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d" dependencies = [ "crc-catalog", ] @@ -2854,7 +2854,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -3660,13 +3660,13 @@ dependencies = [ [[package]] name = "hostname" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56f203cd1c76362b69e3863fd987520ac36cf70a8c92627449b2f64a8cf7d65" +checksum = "617aaa3557aef3810a6369d0a99fac8a080891b68bd9f9812a1eeda0c0730cbd" dependencies = [ "cfg-if", "libc", - "windows-link 0.1.3", + "windows-link", ] [[package]] @@ -3836,7 +3836,6 @@ dependencies = [ "hyper 0.14.32", "log", "rustls 0.21.12", - "rustls-native-certs 0.6.3", "tokio", "tokio-rustls 0.24.1", ] @@ -3852,7 +3851,7 @@ dependencies = [ "hyper-util", "log", "rustls 0.23.35", - "rustls-native-certs 0.8.2", + "rustls-native-certs", "rustls-pki-types", "tokio", "tokio-rustls 0.26.4", @@ -3916,9 +3915,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.18" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52e9a2a24dc5c6821e71a7030e1e14b7b632acac55c40e9d2e082c621261bb56" +checksum = "727805d60e7938b76b826a6ef209eb70eaa1812794f9424d4a4e2d740662df5f" dependencies = [ "base64 0.22.1", "bytes", @@ -3933,8 +3932,9 @@ dependencies = [ "percent-encoding", "pin-project-lite", "socket2 0.6.1", - "system-configuration 0.6.1", + "system-configuration", "tokio", + "tower-layer", "tower-service", "tracing", "windows-registry", @@ -3961,7 +3961,7 @@ dependencies = [ "js-sys", "log", "wasm-bindgen", - "windows-core 0.62.2", + "windows-core", ] [[package]] @@ -4021,9 +4021,9 @@ checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" [[package]] name = "icu_properties" -version = "2.1.1" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e93fcd3157766c0c8da2f8cff6ce651a31f0810eaa1c51ec363ef790bbb5fb99" +checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" dependencies = [ "icu_collections", "icu_locale_core", @@ -4035,9 +4035,9 @@ dependencies = [ [[package]] name = "icu_properties_data" -version = "2.1.1" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02845b3647bb045f1100ecd6480ff52f34c35f82d9880e029d329c21d1054899" +checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" [[package]] name = "icu_provider" @@ -4247,7 +4247,7 @@ checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" dependencies = [ "hermit-abi", "libc", - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -4301,9 +4301,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.82" +version = "0.3.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65" +checksum = "464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8" dependencies = [ "once_cell", "wasm-bindgen", @@ -4436,9 +4436,9 @@ checksum = "0c2cdeb66e45e9f36bfad5bbdb4d2384e70936afbee843c6f6543f0c551ebb25" [[package]] name = "libc" -version = "0.2.177" +version = "0.2.178" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" +checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" [[package]] name = "libloading" @@ -4447,7 +4447,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" dependencies = [ "cfg-if", - "windows-link 0.2.1", + "windows-link", ] [[package]] @@ -4458,13 +4458,13 @@ checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" [[package]] name = "libredox" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb" +checksum = "df15f6eac291ed1cf25865b1ee60399f57e7c227e7f51bdbd4c5270396a9ed50" dependencies = [ "bitflags 2.10.0", "libc", - "redox_syscall 0.5.18", + "redox_syscall 0.6.0", ] [[package]] @@ -4479,9 +4479,9 @@ dependencies = [ [[package]] name = "libz-rs-sys" -version = "0.5.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "840db8cf39d9ec4dd794376f38acc40d0fc65eec2a8f484f7fd375b84602becd" +checksum = "15413ef615ad868d4d65dce091cb233b229419c7c0c4bcaa746c0901c49ff39c" dependencies = [ "zlib-rs", ] @@ -4760,9 +4760,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.28" +version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] name = "lru" @@ -4945,9 +4945,9 @@ dependencies = [ [[package]] name = "mio" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873" +checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" dependencies = [ "libc", "wasi 0.11.1+wasi-snapshot-preview1", @@ -5147,7 +5147,7 @@ version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -5349,7 +5349,7 @@ dependencies = [ "getrandom 0.2.16", "http 1.4.0", "rand 0.8.5", - "reqwest 0.12.24", + "reqwest 0.12.26", "serde", "serde_json", "serde_path_to_error", @@ -5460,7 +5460,7 @@ dependencies = [ "percent-encoding", "quick-xml 0.37.5", "reqsign", - "reqwest 0.12.24", + "reqwest 0.12.26", "serde", "serde_json", "tokio", @@ -5652,7 +5652,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d8fae84b431384b68627d0f9b3b1245fcf9f46f6c0e3dc902e9dce64edd1967" dependencies = [ "libc", - "windows-sys 0.61.2", + "windows-sys 0.48.0", ] [[package]] @@ -5792,7 +5792,7 @@ dependencies = [ "libc", "redox_syscall 0.5.18", "smallvec", - "windows-link 0.2.1", + "windows-link", ] [[package]] @@ -6375,7 +6375,7 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983" dependencies = [ - "toml_edit 0.23.7", + "toml_edit 0.23.10+spec-1.0.0", ] [[package]] @@ -6509,8 +6509,8 @@ version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf" dependencies = [ - "heck 0.5.0", - "itertools 0.14.0", + "heck 0.4.1", + "itertools 0.13.0", "log", "multimap", "once_cell", @@ -6543,7 +6543,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" dependencies = [ "anyhow", - "itertools 0.14.0", + "itertools 0.13.0", "proc-macro2", "quote", "syn 2.0.111", @@ -6586,9 +6586,9 @@ checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94" [[package]] name = "psl" -version = "2.1.164" +version = "2.1.169" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d9a7dd86e1918975889941ef2ab618717a14a5e44fba23438cc5ceff82cc4e1" +checksum = "bdecbdf79d08eb7f62ea92e07e9c639a39700bb9dc3755f3c66fb6aeb8d7ee12" dependencies = [ "psl-types", ] @@ -6611,9 +6611,9 @@ dependencies = [ [[package]] name = "pulsar" -version = "6.5.0" +version = "6.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1235e80b398545bcc4efdad05079964a7596033de2fd9893cc9baa24b56bfaf9" +checksum = "4116f0d677d27d2da2903b5511685bc4adb19f41caf911a007e56bc2ee092202" dependencies = [ "async-channel 2.5.0", "async-trait", @@ -6761,7 +6761,7 @@ dependencies = [ "quickwit-serve", "quickwit-storage", "quickwit-telemetry", - "reqwest 0.12.24", + "reqwest 0.12.26", "rustls 0.23.35", "serde_json", "tabled", @@ -7085,7 +7085,7 @@ dependencies = [ "rand 0.8.5", "rdkafka", "regex", - "reqwest 0.12.24", + "reqwest 0.12.26", "serde", "serde_json", "tantivy", @@ -7160,7 +7160,7 @@ dependencies = [ "quickwit-serve", "quickwit-storage", "rand 0.8.5", - "reqwest 0.12.24", + "reqwest 0.12.26", "rustls 0.23.35", "serde_json", "tempfile", @@ -7395,7 +7395,7 @@ dependencies = [ "quickwit-proto", "quickwit-search", "quickwit-serve", - "reqwest 0.12.24", + "reqwest 0.12.26", "reqwest-middleware", "reqwest-retry", "serde", @@ -7566,7 +7566,7 @@ dependencies = [ "rand 0.8.5", "regex", "reqsign", - "reqwest 0.12.24", + "reqwest 0.12.26", "serde", "serde_json", "tantivy", @@ -7590,7 +7590,7 @@ dependencies = [ "md5", "once_cell", "quickwit-common", - "reqwest 0.12.24", + "reqwest 0.12.26", "serde", "serde_json", "tokio", @@ -7651,7 +7651,7 @@ dependencies = [ "once_cell", "socket2 0.6.1", "tracing", - "windows-sys 0.60.2", + "windows-sys 0.59.0", ] [[package]] @@ -7866,6 +7866,15 @@ dependencies = [ "bitflags 2.10.0", ] +[[package]] +name = "redox_syscall" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec96166dafa0886eb81fe1c0a388bece180fbef2135f97c1e2cf8302e74b43b5" +dependencies = [ + "bitflags 2.10.0", +] + [[package]] name = "ref-cast" version = "1.0.25" @@ -7969,7 +7978,7 @@ dependencies = [ "log", "percent-encoding", "rand 0.8.5", - "reqwest 0.12.24", + "reqwest 0.12.26", "rsa", "serde", "serde_json", @@ -8006,7 +8015,7 @@ dependencies = [ "serde_json", "serde_urlencoded", "sync_wrapper 0.1.2", - "system-configuration 0.5.1", + "system-configuration", "tokio", "tokio-native-tls", "tower-service", @@ -8019,9 +8028,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.24" +version = "0.12.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d0946410b9f7b082a427e4ef5c8ff541a88b357bc6c637c40db3a68ac70a36f" +checksum = "3b4c14b2d9afca6a60277086b0cc6a6ae0b568f6f7916c943a8cdc79f8be240f" dependencies = [ "base64 0.22.1", "bytes", @@ -8042,7 +8051,7 @@ dependencies = [ "pin-project-lite", "quinn", "rustls 0.23.35", - "rustls-native-certs 0.8.2", + "rustls-native-certs", "rustls-pki-types", "serde", "serde_json", @@ -8072,7 +8081,7 @@ dependencies = [ "anyhow", "async-trait", "http 1.4.0", - "reqwest 0.12.24", + "reqwest 0.12.26", "serde", "thiserror 1.0.69", "tower-service", @@ -8091,7 +8100,7 @@ dependencies = [ "http 1.4.0", "hyper 1.8.1", "parking_lot 0.11.2", - "reqwest 0.12.24", + "reqwest 0.12.26", "reqwest-middleware", "retry-policies", "thiserror 1.0.69", @@ -8302,7 +8311,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.11.0", - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -8333,18 +8342,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "rustls-native-certs" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" -dependencies = [ - "openssl-probe", - "rustls-pemfile 1.0.4", - "schannel", - "security-framework 2.11.1", -] - [[package]] name = "rustls-native-certs" version = "0.8.2" @@ -8377,9 +8374,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.13.0" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94182ad936a0c91c324cd46c6511b9510ed16af436d7b5bab34beab0afd55f7a" +checksum = "21e6f2ab2928ca4291b86736a8bd920a277a399bba1589409d72154ff87c1282" dependencies = [ "web-time", "zeroize", @@ -8803,9 +8800,9 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.16.0" +version = "3.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10574371d41b0d9b2cff89418eda27da52bcaff2cc8741db26382a77c29131f1" +checksum = "4fa237f2807440d238e0364a218270b98f767a00d3dada77b1c53ae88940e2e7" dependencies = [ "base64 0.22.1", "chrono", @@ -8822,9 +8819,9 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.16.0" +version = "3.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08a72d8216842fdd57820dc78d840bef99248e35fb2554ff923319e60f2d686b" +checksum = "52a8e3ca0ca629121f70ab50f95249e5a6f925cc0f6ffe8256c45b728875706c" dependencies = [ "darling 0.21.3", "proc-macro2", @@ -8936,9 +8933,9 @@ dependencies = [ [[package]] name = "shell-words" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" +checksum = "dc6fe69c597f9c37bfeeeeeb33da3530379845f10be461a66d16d03eca2ded77" [[package]] name = "shlex" @@ -8998,9 +8995,9 @@ dependencies = [ [[package]] name = "simd-adler32" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" +checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" [[package]] name = "simdutf8" @@ -9087,7 +9084,7 @@ version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1c97747dbf44bb1ca44a561ece23508e99cb592e862f22222dcf42f51d1e451" dependencies = [ - "heck 0.5.0", + "heck 0.4.1", "proc-macro2", "quote", "syn 2.0.111", @@ -9522,18 +9519,7 @@ checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ "bitflags 1.3.2", "core-foundation 0.9.4", - "system-configuration-sys 0.5.0", -] - -[[package]] -name = "system-configuration" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" -dependencies = [ - "bitflags 2.10.0", - "core-foundation 0.9.4", - "system-configuration-sys 0.6.0", + "system-configuration-sys", ] [[package]] @@ -9546,16 +9532,6 @@ dependencies = [ "libc", ] -[[package]] -name = "system-configuration-sys" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" -dependencies = [ - "core-foundation-sys", - "libc", -] - [[package]] name = "tabled" version = "0.14.0" @@ -9754,16 +9730,16 @@ dependencies = [ "getrandom 0.3.4", "once_cell", "rustix 1.1.2", - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] name = "term" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2111ef44dae28680ae9752bb89409e7310ca33a8c621ebe7b106cf5c928b3ac0" +checksum = "d8c27177b12a6399ffc08b98f76f7c9a1f4fe9fc967c784c5a071fa8d93cf7e1" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -10090,9 +10066,9 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.7.3" +version = "0.7.4+spec-1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533" +checksum = "fe3cea6b2aa3b910092f6abd4053ea464fab5f9c170ba5e9a6aead16ec4af2b6" dependencies = [ "serde_core", ] @@ -10112,23 +10088,23 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.23.7" +version = "0.23.10+spec-1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6485ef6d0d9b5d0ec17244ff7eb05310113c3f316f2d14200d4de56b3cb98f8d" +checksum = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269" dependencies = [ "indexmap 2.12.1", - "toml_datetime 0.7.3", + "toml_datetime 0.7.4+spec-1.0.0", "toml_parser", - "winnow 0.7.13", + "winnow 0.7.14", ] [[package]] name = "toml_parser" -version = "1.0.4" +version = "1.0.5+spec-1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e" +checksum = "4c03bee5ce3696f31250db0bbaff18bc43301ce0e8db2ed1f07cbb2acf89984c" dependencies = [ - "winnow 0.7.13", + "winnow 0.7.14", ] [[package]] @@ -10215,7 +10191,7 @@ dependencies = [ "percent-encoding", "pin-project", "prost 0.13.5", - "rustls-native-certs 0.8.2", + "rustls-native-certs", "socket2 0.5.10", "tokio", "tokio-rustls 0.26.4", @@ -10307,9 +10283,9 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.6.7" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf146f99d442e8e68e585f5d798ccd3cad9a7835b917e09728880a862706456" +checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" dependencies = [ "async-compression", "bitflags 2.10.0", @@ -10341,9 +10317,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.42" +version = "0.1.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eb41cbdb933e23b7929f47bb577710643157d7602ef3a2ebd3902b13ac5eda6" +checksum = "2d15d90a0b5c19378952d479dc858407149d7bb45a14de0142f6c534b16fc647" dependencies = [ "log", "pin-project-lite", @@ -10413,9 +10389,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.21" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bee4bf13715d00789f2a099fd05d127c012bddc5c6628f2c8968374c1820c01d" +checksum = "2f30143827ddab0d256fd843b7a66d164e9f271cfa0dde49142c5ca0ca291f1e" dependencies = [ "matchers", "nu-ansi-term", @@ -10697,14 +10673,14 @@ dependencies = [ [[package]] name = "uuid" -version = "1.18.1" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" +checksum = "e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a" dependencies = [ "getrandom 0.3.4", "js-sys", "rand 0.9.2", - "serde", + "serde_core", "wasm-bindgen", ] @@ -10776,7 +10752,7 @@ dependencies = [ "grok", "hex", "hmac", - "hostname 0.4.1", + "hostname 0.4.2", "iana-time-zone", "idna", "indexmap 2.12.1", @@ -10807,7 +10783,7 @@ dependencies = [ "quoted_printable", "rand 0.8.5", "regex", - "reqwest 0.12.24", + "reqwest 0.12.26", "reqwest-middleware", "reqwest-retry", "roxmltree 0.20.0", @@ -10976,9 +10952,9 @@ dependencies = [ [[package]] name = "wasm-bindgen" -version = "0.2.105" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60" +checksum = "0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd" dependencies = [ "cfg-if", "once_cell", @@ -10989,9 +10965,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.55" +version = "0.4.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "551f88106c6d5e7ccc7cd9a16f312dd3b5d36ea8b4954304657d5dfba115d4a0" +checksum = "836d9622d604feee9e5de25ac10e3ea5f2d65b41eac0d9ce72eb5deae707ce7c" dependencies = [ "cfg-if", "js-sys", @@ -11002,9 +10978,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.105" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2" +checksum = "48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -11012,9 +10988,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.105" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc" +checksum = "cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40" dependencies = [ "bumpalo", "proc-macro2", @@ -11025,9 +11001,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.105" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76" +checksum = "cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4" dependencies = [ "unicode-ident", ] @@ -11062,9 +11038,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.82" +version = "0.3.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a1f95c0d03a47f4ae1f7a64643a6bb97465d9b740f0fa8f90ea33915c99a9a1" +checksum = "9b32828d774c412041098d182a8b38b16ea816958e07cf40eec2bc080ae137ac" dependencies = [ "js-sys", "wasm-bindgen", @@ -11157,7 +11133,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.48.0", ] [[package]] @@ -11172,7 +11148,7 @@ version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" dependencies = [ - "windows-core 0.57.0", + "windows-core", "windows-targets 0.52.6", ] @@ -11182,25 +11158,12 @@ version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" dependencies = [ - "windows-implement 0.57.0", - "windows-interface 0.57.0", + "windows-implement", + "windows-interface", "windows-result 0.1.2", "windows-targets 0.52.6", ] -[[package]] -name = "windows-core" -version = "0.62.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" -dependencies = [ - "windows-implement 0.60.2", - "windows-interface 0.59.3", - "windows-link 0.2.1", - "windows-result 0.4.1", - "windows-strings", -] - [[package]] name = "windows-implement" version = "0.57.0" @@ -11212,17 +11175,6 @@ dependencies = [ "syn 2.0.111", ] -[[package]] -name = "windows-implement" -version = "0.60.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.111", -] - [[package]] name = "windows-interface" version = "0.57.0" @@ -11234,23 +11186,6 @@ dependencies = [ "syn 2.0.111", ] -[[package]] -name = "windows-interface" -version = "0.59.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.111", -] - -[[package]] -name = "windows-link" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" - [[package]] name = "windows-link" version = "0.2.1" @@ -11263,7 +11198,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" dependencies = [ - "windows-link 0.2.1", + "windows-link", "windows-result 0.4.1", "windows-strings", ] @@ -11283,7 +11218,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" dependencies = [ - "windows-link 0.2.1", + "windows-link", ] [[package]] @@ -11292,7 +11227,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" dependencies = [ - "windows-link 0.2.1", + "windows-link", ] [[package]] @@ -11337,7 +11272,7 @@ version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" dependencies = [ - "windows-link 0.2.1", + "windows-link", ] [[package]] @@ -11377,7 +11312,7 @@ version = "0.53.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" dependencies = [ - "windows-link 0.2.1", + "windows-link", "windows_aarch64_gnullvm 0.53.1", "windows_aarch64_msvc 0.53.1", "windows_i686_gnu 0.53.1", @@ -11537,9 +11472,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.7.13" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" +checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" dependencies = [ "memchr", ] @@ -11661,18 +11596,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.30" +version = "0.8.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ea879c944afe8a2b25fef16bb4ba234f47c694565e97383b36f3a878219065c" +checksum = "fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.30" +version = "0.8.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf955aa904d6040f70dc8e9384444cb1030aed272ba3cb09bbc4ab9e7c1f34f5" +checksum = "d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a" dependencies = [ "proc-macro2", "quote", @@ -11761,9 +11696,9 @@ dependencies = [ [[package]] name = "zlib-rs" -version = "0.5.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f06ae92f42f5e5c42443fd094f245eb656abf56dd7cce9b8b263236565e00f2" +checksum = "51f936044d677be1a1168fae1d03b583a285a5dd9d8cbf7b24c23aa1fc775235" [[package]] name = "zstd" diff --git a/quickwit/Cargo.toml b/quickwit/Cargo.toml index c8e8370230d..f72430b8d44 100644 --- a/quickwit/Cargo.toml +++ b/quickwit/Cargo.toml @@ -90,7 +90,7 @@ binggan = { version = "0.14" } bitpacking = "0.9.2" bytes = { version = "1", features = ["serde"] } bytesize = { version = "1.3", features = ["serde"] } -bytestring = "1.4" +bytestring = "1.5" chitchat = { git = "https://github.com/quickwit-oss/chitchat.git", rev = "bd54c81" } chrono = { version = "0.4", default-features = false, features = [ "clock", @@ -122,15 +122,15 @@ heck = "0.5" hex = "0.4" home = "0.5" hostname = "0.3" -http = "1.3" +http = "1.4" http-body = "1.0" http-body-util = "0.1" http-serde = "2.1" -humantime = "2.2" -hyper = { version = "1.7", features = ["client", "http1", "http2", "server"] } +humantime = "2.3" +hyper = { version = "1.8", features = ["client", "http1", "http2", "server"] } hyper-rustls = "0.27" hyper-util = { version = "0.1", features = ["full"] } -indexmap = { version = "2.9", features = ["serde"] } +indexmap = { version = "2.12", features = ["serde"] } indicatif = "0.17" itertools = "0.14" json_comments = "0.2" @@ -153,7 +153,7 @@ mockall = "0.11" mrecordlog = { git = "https://github.com/quickwit-oss/mrecordlog", rev = "306c0a7" } new_string_template = "1.5" nom = "7.1" -numfmt = "1.1" +numfmt = "1.2" once_cell = "1" oneshot = "0.1" openssl = { version = "0.10", default-features = false } @@ -179,7 +179,7 @@ prost = { version = "0.13", default-features = false, features = [ ] } prost-build = "0.13" prost-types = "0.13" -pulsar = { version = "6.3", default-features = false, features = [ +pulsar = { version = "6.6", default-features = false, features = [ "auth-oauth2", "compression", "tokio-runtime", @@ -187,7 +187,7 @@ pulsar = { version = "6.3", default-features = false, features = [ quote = "1.0" rand = "0.8" rand_distr = "0.4" -rayon = "1.10" +rayon = "1.11" rdkafka = { version = "0.38", default-features = false, features = [ "cmake-build", "libz", @@ -195,7 +195,7 @@ rdkafka = { version = "0.38", default-features = false, features = [ "tokio", "zstd", ] } -regex = "1.11" +regex = "1.12" regex-syntax = "0.8" reqwest = { version = "0.12", default-features = false, features = [ "json", @@ -213,11 +213,11 @@ sea-query-binder = { version = "0.7", features = [ "sqlx-postgres", ] } # ^1.0.184 due to serde-rs/serde#2538 -serde = { version = "1.0.219", features = ["derive", "rc"] } +serde = { version = "1.0.228", features = ["derive", "rc"] } serde_json = "1.0" serde_json_borrow = "0.5" serde_qs = { version = "0.12" } -serde_with = "3.12" +serde_with = "3.16" serde_yaml = "0.9" serial_test = { version = "3.2", features = ["file_locks"] } siphasher = "1.0" @@ -238,7 +238,7 @@ thousands = "0.2" tikv-jemalloc-ctl = "0.5" tikv-jemallocator = "0.5" time = { version = "0.3", features = ["std", "formatting", "macros"] } -tokio = { version = "1.45", features = ["full"] } +tokio = { version = "1.48", features = ["full"] } tokio-metrics = { version = "0.3", features = ["rt"] } tokio-rustls = { version = "0.26", default-features = false } tokio-stream = { version = "0.1", features = ["sync"] } @@ -279,7 +279,7 @@ typetag = "0.2" ulid = "1.2" username = "0.2" utoipa = { version = "4.2", features = ["time", "ulid"] } -uuid = { version = "1.17", features = ["v4", "serde"] } +uuid = { version = "1.19", features = ["v4", "serde"] } vrl = { version = "0.27", default-features = false, features = [ "compiler", "diagnostic", @@ -294,9 +294,9 @@ zstd = "0.13" aws-config = "1.8" aws-credential-types = { version = "1.2", features = ["hardcoded-credentials"] } aws-runtime = "1.5" -aws-sdk-kinesis = "1.86" +aws-sdk-kinesis = "1.97" aws-sdk-s3 = "=1.62" -aws-sdk-sqs = "1.82" +aws-sdk-sqs = "1.91" aws-smithy-async = "1.2" aws-smithy-http-client = { version = "1.1", features = ["default-client"] } aws-smithy-runtime = "1.9" From 43445331645fda684d94858f6e3e052133031436 Mon Sep 17 00:00:00 2001 From: "cong.xie" Date: Wed, 17 Dec 2025 21:10:36 -0500 Subject: [PATCH 02/20] update first incompatible batch --- quickwit/Cargo.lock | 127 ++++++++++++++++++++++++-------------------- quickwit/Cargo.toml | 8 +-- 2 files changed, 72 insertions(+), 63 deletions(-) diff --git a/quickwit/Cargo.lock b/quickwit/Cargo.lock index 13848b49b81..cd9c7747e59 100644 --- a/quickwit/Cargo.lock +++ b/quickwit/Cargo.lock @@ -1299,7 +1299,7 @@ dependencies = [ "bitflags 2.10.0", "cexpr", "clang-sys", - "itertools 0.13.0", + "itertools 0.10.5", "proc-macro2", "quote", "regex", @@ -1310,15 +1310,16 @@ dependencies = [ [[package]] name = "binggan" -version = "0.14.2" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da19f87f00cab3f37ed64c5bc7cdfe2bdbb9fef2b9406f764c7a0eed57918ebd" +checksum = "120bd8ea01b85c18825d1eade1bb9f9c75cdd7420967ce3a64fc6cb20c6261c8" dependencies = [ "alloca", "bpu_trasher", "miniserde", "peakmem-alloc", "perf-event", + "quanta", "rustc-hash", "rustop", "unicode-width 0.1.14", @@ -1842,7 +1843,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" dependencies = [ "lazy_static", - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] @@ -2039,26 +2040,24 @@ dependencies = [ [[package]] name = "criterion" -version = "0.5.1" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f" +checksum = "4d883447757bb0ee46f233e9dc22eb84d93a9508c9b868687b274fc431d886bf" dependencies = [ + "alloca", "anes", "cast", "ciborium", "clap", "criterion-plot", - "futures", - "is-terminal", - "itertools 0.10.5", + "itertools 0.13.0", "num-traits", - "once_cell", "oorandom", + "page_size", "plotters", "rayon", "regex", "serde", - "serde_derive", "serde_json", "tinytemplate", "tokio", @@ -2067,12 +2066,12 @@ dependencies = [ [[package]] name = "criterion-plot" -version = "0.5.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" +checksum = "ed943f81ea2faa8dcecbbfa50164acf95d555afec96a27871663b300e387b2e4" dependencies = [ "cast", - "itertools 0.10.5", + "itertools 0.13.0", ] [[package]] @@ -2854,7 +2853,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -3023,15 +3022,6 @@ dependencies = [ "miniz_oxide", ] -[[package]] -name = "float-cmp" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" -dependencies = [ - "num-traits", -] - [[package]] name = "float-cmp" version = "0.10.0" @@ -3931,7 +3921,7 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "socket2 0.6.1", + "socket2 0.5.10", "system-configuration", "tokio", "tower-layer", @@ -4247,7 +4237,7 @@ checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" dependencies = [ "hermit-abi", "libc", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -4956,29 +4946,28 @@ dependencies = [ [[package]] name = "mockall" -version = "0.11.4" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c84490118f2ee2d74570d114f3d0493cbf02790df303d2707606c3e14e07c96" +checksum = "f58d964098a5f9c6b63d0798e5372fd04708193510a7af313c22e9f29b7b620b" dependencies = [ "cfg-if", "downcast", "fragile", - "lazy_static", "mockall_derive", - "predicates 2.1.5", + "predicates", "predicates-tree", ] [[package]] name = "mockall_derive" -version = "0.11.4" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ce75669015c4f47b289fd4d4f56e894e4c96003ffdf3ac51313126f94c6cbb" +checksum = "ca41ce716dda6a9be188b385aa78ee5260fc25cd3802cb2a8afdc6afbe6b6dbf" dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.111", ] [[package]] @@ -5728,6 +5717,16 @@ dependencies = [ "sha2", ] +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi 0.3.9", +] + [[package]] name = "papergrid" version = "0.10.0" @@ -6261,9 +6260,9 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "pprof" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afad4d4df7b31280028245f152d5a575083e2abb822d05736f5e47653e77689f" +checksum = "38a01da47675efa7673b032bf8efd8214f1917d89685e07e395ab125ea42b187" dependencies = [ "aligned-vec", "backtrace", @@ -6278,7 +6277,7 @@ dependencies = [ "spin 0.10.0", "symbolic-demangle", "tempfile", - "thiserror 1.0.69", + "thiserror 2.0.17", ] [[package]] @@ -6296,20 +6295,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" -[[package]] -name = "predicates" -version = "2.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd" -dependencies = [ - "difflib", - "float-cmp 0.9.0", - "itertools 0.10.5", - "normalize-line-endings", - "predicates-core", - "regex", -] - [[package]] name = "predicates" version = "3.1.3" @@ -6318,7 +6303,7 @@ checksum = "a5d19ee57562043d37e82899fade9a22ebab7be9cef5026b07fda9cdd4293573" dependencies = [ "anstyle", "difflib", - "float-cmp 0.10.0", + "float-cmp", "normalize-line-endings", "predicates-core", "regex", @@ -6510,7 +6495,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf" dependencies = [ "heck 0.4.1", - "itertools 0.13.0", + "itertools 0.14.0", "log", "multimap", "once_cell", @@ -6543,7 +6528,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" dependencies = [ "anyhow", - "itertools 0.13.0", + "itertools 0.14.0", "proc-macro2", "quote", "syn 2.0.111", @@ -6647,6 +6632,21 @@ dependencies = [ "zstd 0.13.3", ] +[[package]] +name = "quanta" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3ab5a9d756f0d97bdc89019bd2e4ea098cf9cde50ee7564dde6b81ccc8f06c7" +dependencies = [ + "crossbeam-utils", + "libc", + "once_cell", + "raw-cpuid", + "wasi 0.11.1+wasi-snapshot-preview1", + "web-sys", + "winapi 0.3.9", +] + [[package]] name = "quick-error" version = "1.2.3" @@ -6745,7 +6745,7 @@ dependencies = [ "opentelemetry", "opentelemetry-otlp", "opentelemetry_sdk", - "predicates 3.1.3", + "predicates", "quickwit-actors", "quickwit-cluster", "quickwit-common", @@ -7612,7 +7612,7 @@ dependencies = [ "quinn-udp", "rustc-hash", "rustls 0.23.35", - "socket2 0.6.1", + "socket2 0.5.10", "thiserror 2.0.17", "tokio", "tracing", @@ -7649,9 +7649,9 @@ dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.6.1", + "socket2 0.5.10", "tracing", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -7794,6 +7794,15 @@ dependencies = [ "rand_core 0.9.3", ] +[[package]] +name = "raw-cpuid" +version = "11.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "498cd0dc59d73224351ee52a95fee0f1a617a2eae0e7d9d720cc622c73a54186" +dependencies = [ + "bitflags 2.10.0", +] + [[package]] name = "rayon" version = "1.11.0" @@ -8311,7 +8320,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.11.0", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -9730,7 +9739,7 @@ dependencies = [ "getrandom 0.3.4", "once_cell", "rustix 1.1.2", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] diff --git a/quickwit/Cargo.toml b/quickwit/Cargo.toml index f72430b8d44..a83391e6c7c 100644 --- a/quickwit/Cargo.toml +++ b/quickwit/Cargo.toml @@ -86,7 +86,7 @@ async-speed-limit = "0.4" async-trait = "0.1" backtrace = "0.3" base64 = "0.22" -binggan = { version = "0.14" } +binggan = { version = "0.15" } bitpacking = "0.9.2" bytes = { version = "1", features = ["serde"] } bytesize = { version = "1.3", features = ["serde"] } @@ -100,7 +100,7 @@ clap = { version = "4.5", features = ["env", "string"] } coarsetime = "0.1" colored = "2.2" console-subscriber = "0.1" -criterion = { version = "0.5", features = ["async_tokio"] } +criterion = { version = "0.8", features = ["async_tokio"] } cron = "0.12" dialoguer = "0.10" dotenvy = "0.15" @@ -149,7 +149,7 @@ lru = "0.13" matches = "0.1" md5 = "0.7" mime_guess = "2.0" -mockall = "0.11" +mockall = "0.14" mrecordlog = { git = "https://github.com/quickwit-oss/mrecordlog", rev = "306c0a7" } new_string_template = "1.5" nom = "7.1" @@ -168,7 +168,7 @@ pnet = { version = "0.33", features = ["std"] } postcard = { version = "1.1", features = [ "use-std", ], default-features = false } -pprof = { version = "0.14", features = ["flamegraph"] } +pprof = { version = "0.15", features = ["flamegraph"] } predicates = "3" prettyplease = "0.2" proc-macro2 = "1.0" From b224d8915ed8857ce225189f6ed2d1e9f592738f Mon Sep 17 00:00:00 2001 From: "cong.xie" Date: Wed, 17 Dec 2025 21:20:02 -0500 Subject: [PATCH 03/20] add second incompatible batch --- quickwit/Cargo.lock | 129 +++++++++++++++++++++++++++++++------------- quickwit/Cargo.toml | 8 +-- 2 files changed, 96 insertions(+), 41 deletions(-) diff --git a/quickwit/Cargo.lock b/quickwit/Cargo.lock index cd9c7747e59..0bf0f64e824 100644 --- a/quickwit/Cargo.lock +++ b/quickwit/Cargo.lock @@ -193,7 +193,7 @@ version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.60.2", ] [[package]] @@ -204,7 +204,7 @@ checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" dependencies = [ "anstyle", "once_cell_polyfill", - "windows-sys 0.61.2", + "windows-sys 0.60.2", ] [[package]] @@ -1299,7 +1299,7 @@ dependencies = [ "bitflags 2.10.0", "cexpr", "clang-sys", - "itertools 0.10.5", + "itertools 0.13.0", "proc-macro2", "quote", "regex", @@ -1827,7 +1827,7 @@ checksum = "fe6d2e5af09e8c8ad56c969f2157a3d4238cebc7c55f0a517728c38f7b200f81" dependencies = [ "serde", "termcolor", - "unicode-width 0.2.2", + "unicode-width 0.1.14", ] [[package]] @@ -1838,12 +1838,11 @@ checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" [[package]] name = "colored" -version = "2.2.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" +checksum = "fde0e0ec90c9dfb3b4b1a0891a7dcd0e2bffde2f7efed5fe7c9bb00e5bfb915e" dependencies = [ - "lazy_static", - "windows-sys 0.59.0", + "windows-sys 0.48.0", ] [[package]] @@ -1887,15 +1886,15 @@ dependencies = [ [[package]] name = "console" -version = "0.15.11" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8" +checksum = "03e45a4a8926227e4197636ba97a9fc9b00477e9f4bd711395687c5f0734bec4" dependencies = [ "encode_unicode", "libc", "once_cell", "unicode-width 0.2.2", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -2402,9 +2401,9 @@ dependencies = [ [[package]] name = "dialoguer" -version = "0.10.4" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59c6f2989294b9a498d3ad5491a79c6deb604617378e1cdc4bfc1c1361fe2f87" +checksum = "25f104b501bf2364e78d0d3974cbc774f738f5865306ed128e1e0d7499c0ad96" dependencies = [ "console", "shell-words", @@ -2796,6 +2795,16 @@ dependencies = [ "syn 2.0.111", ] +[[package]] +name = "env_filter" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bf3c259d255ca70051b30e2e95b5446cdb8949ac4cd22c0d7fd634d89f568e2" +dependencies = [ + "log", + "regex", +] + [[package]] name = "env_logger" version = "0.10.2" @@ -2809,6 +2818,19 @@ dependencies = [ "termcolor", ] +[[package]] +name = "env_logger" +version = "0.11.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c863f0904021b108aa8b2f55046443e6b1ebde8fd4a15c399893aae4fa069f" +dependencies = [ + "anstream", + "anstyle", + "env_filter", + "jiff", + "log", +] + [[package]] name = "equator" version = "0.4.2" @@ -3921,7 +3943,7 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "socket2 0.5.10", + "socket2 0.6.1", "system-configuration", "tokio", "tower-layer", @@ -4096,14 +4118,14 @@ dependencies = [ [[package]] name = "indicatif" -version = "0.17.11" +version = "0.18.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "183b3088984b400f4cfac3620d5e076c84da5364016b4f49473de574b2586235" +checksum = "9375e112e4b463ec1b1c6c011953545c65a30164fbab5b581df32b3abf0dcb88" dependencies = [ "console", - "number_prefix", "portable-atomic", "unicode-width 0.2.2", + "unit-prefix", "web-time", ] @@ -4279,6 +4301,30 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" +[[package]] +name = "jiff" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49cce2b81f2098e7e3efc35bc2e0a6b7abec9d34128283d7a26fa8f32a6dbb35" +dependencies = [ + "jiff-static", + "log", + "portable-atomic", + "portable-atomic-util", + "serde_core", +] + +[[package]] +name = "jiff-static" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "980af8b43c3ad5d8d349ace167ec8170839f753a42d233ba19e08afe1850fa69" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", +] + [[package]] name = "jobserver" version = "0.1.34" @@ -4515,7 +4561,7 @@ dependencies = [ "byteorder", "csv", "encoding", - "env_logger", + "env_logger 0.10.2", "glob", "lindera-compress", "lindera-core", @@ -4613,7 +4659,7 @@ dependencies = [ "csv", "encoding_rs", "encoding_rs_io", - "env_logger", + "env_logger 0.10.2", "glob", "lindera-compress", "lindera-core", @@ -4635,7 +4681,7 @@ dependencies = [ "csv", "encoding_rs", "encoding_rs_io", - "env_logger", + "env_logger 0.10.2", "glob", "lindera-core", "lindera-decompress", @@ -4672,7 +4718,7 @@ dependencies = [ "byteorder", "csv", "encoding", - "env_logger", + "env_logger 0.10.2", "glob", "lindera-compress", "lindera-core", @@ -4707,7 +4753,7 @@ dependencies = [ "byteorder", "csv", "encoding", - "env_logger", + "env_logger 0.10.2", "glob", "lindera-core", "lindera-decompress", @@ -5136,7 +5182,7 @@ version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -5292,12 +5338,6 @@ dependencies = [ "libc", ] -[[package]] -name = "number_prefix" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" - [[package]] name = "numfmt" version = "1.2.0" @@ -6231,6 +6271,15 @@ version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" +[[package]] +name = "portable-atomic-util" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +dependencies = [ + "portable-atomic", +] + [[package]] name = "postcard" version = "1.1.3" @@ -6494,7 +6543,7 @@ version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf" dependencies = [ - "heck 0.4.1", + "heck 0.5.0", "itertools 0.14.0", "log", "multimap", @@ -6855,7 +6904,7 @@ dependencies = [ "bytesize", "coarsetime", "dyn-clone", - "env_logger", + "env_logger 0.11.8", "fnv", "futures", "home", @@ -7612,7 +7661,7 @@ dependencies = [ "quinn-udp", "rustc-hash", "rustls 0.23.35", - "socket2 0.5.10", + "socket2 0.6.1", "thiserror 2.0.17", "tokio", "tracing", @@ -7649,9 +7698,9 @@ dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.5.10", + "socket2 0.6.1", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.60.2", ] [[package]] @@ -8307,7 +8356,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.4.15", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -9093,7 +9142,7 @@ version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1c97747dbf44bb1ca44a561ece23508e99cb592e862f22222dcf42f51d1e451" dependencies = [ - "heck 0.4.1", + "heck 0.5.0", "proc-macro2", "quote", "syn 2.0.111", @@ -9748,7 +9797,7 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d8c27177b12a6399ffc08b98f76f7c9a1f4fe9fc967c784c5a071fa8d93cf7e1" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -10575,6 +10624,12 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" +[[package]] +name = "unit-prefix" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3" + [[package]] name = "universal-hash" version = "0.5.1" diff --git a/quickwit/Cargo.toml b/quickwit/Cargo.toml index a83391e6c7c..71c68400870 100644 --- a/quickwit/Cargo.toml +++ b/quickwit/Cargo.toml @@ -98,15 +98,15 @@ chrono = { version = "0.4", default-features = false, features = [ ] } clap = { version = "4.5", features = ["env", "string"] } coarsetime = "0.1" -colored = "2.2" +colored = "3.0" console-subscriber = "0.1" criterion = { version = "0.8", features = ["async_tokio"] } cron = "0.12" -dialoguer = "0.10" +dialoguer = "0.12" dotenvy = "0.15" dyn-clone = "1.0" enum-iterator = "1.5" -env_logger = "0.10" +env_logger = "0.11" fail = "0.5" flate2 = "1.1" flume = "0.11" @@ -131,7 +131,7 @@ hyper = { version = "1.8", features = ["client", "http1", "http2", "server"] } hyper-rustls = "0.27" hyper-util = { version = "0.1", features = ["full"] } indexmap = { version = "2.12", features = ["serde"] } -indicatif = "0.17" +indicatif = "0.18" itertools = "0.14" json_comments = "0.2" libz-sys = "1.1" From a91b89e81737db559152d4c34eaf65b8f6cbafb0 Mon Sep 17 00:00:00 2001 From: "cong.xie" Date: Wed, 17 Dec 2025 21:31:52 -0500 Subject: [PATCH 04/20] add third incompatible batch --- quickwit/Cargo.lock | 323 ++++++++++++++++++++++++++++---------------- quickwit/Cargo.toml | 18 +-- 2 files changed, 213 insertions(+), 128 deletions(-) diff --git a/quickwit/Cargo.lock b/quickwit/Cargo.lock index 0bf0f64e824..990a63bb40a 100644 --- a/quickwit/Cargo.lock +++ b/quickwit/Cargo.lock @@ -1220,7 +1220,7 @@ dependencies = [ "miniz_oxide", "object", "rustc-demangle", - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -1671,7 +1671,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -1827,7 +1827,7 @@ checksum = "fe6d2e5af09e8c8ad56c969f2157a3d4238cebc7c55f0a517728c38f7b200f81" dependencies = [ "serde", "termcolor", - "unicode-width 0.1.14", + "unicode-width 0.2.2", ] [[package]] @@ -1842,7 +1842,7 @@ version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fde0e0ec90c9dfb3b4b1a0891a7dcd0e2bffde2f7efed5fe7c9bb00e5bfb915e" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] @@ -2075,13 +2075,13 @@ dependencies = [ [[package]] name = "cron" -version = "0.12.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f8c3e73077b4b4a6ab1ea5047c37c57aee77657bc8ecd6f29b0af082d0b0c07" +checksum = "5877d3fbf742507b66bc2a1945106bd30dd8504019d596901ddd012a4dd01740" dependencies = [ "chrono", - "nom 7.1.3", "once_cell", + "winnow 0.6.26", ] [[package]] @@ -2777,9 +2777,9 @@ dependencies = [ [[package]] name = "enum-iterator" -version = "1.5.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fd242f399be1da0a5354aa462d57b4ab2b4ee0683cc552f7c007d2d12d36e94" +checksum = "a4549325971814bda7a44061bf3fe7e487d447cba01e4220a4b454d630d7a016" dependencies = [ "enum-iterator-derive", ] @@ -2970,6 +2970,9 @@ name = "fastrand" version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" +dependencies = [ + "getrandom 0.2.16", +] [[package]] name = "ff" @@ -3072,7 +3075,18 @@ checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095" dependencies = [ "futures-core", "futures-sink", - "nanorand", + "spin 0.9.8", +] + +[[package]] +name = "flume" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e139bc46ca777eb5efaf62df0ab8cc5fd400866427e56c68b22e414e53bd3be" +dependencies = [ + "fastrand 2.3.0", + "futures-core", + "futures-sink", "spin 0.9.8", ] @@ -3088,6 +3102,12 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" +[[package]] +name = "foldhash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" + [[package]] name = "foreign-types" version = "0.3.2" @@ -3553,7 +3573,7 @@ checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ "allocator-api2", "equivalent", - "foldhash", + "foldhash 0.1.5", ] [[package]] @@ -3561,6 +3581,11 @@ name = "hashbrown" version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash 0.2.0", +] [[package]] name = "hashlink" @@ -3659,17 +3684,6 @@ dependencies = [ "windows-sys 0.61.2", ] -[[package]] -name = "hostname" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" -dependencies = [ - "libc", - "match_cfg", - "winapi 0.3.9", -] - [[package]] name = "hostname" version = "0.4.2" @@ -3678,7 +3692,7 @@ checksum = "617aaa3557aef3810a6369d0a99fac8a080891b68bd9f9812a1eeda0c0730cbd" dependencies = [ "cfg-if", "libc", - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -3973,7 +3987,7 @@ dependencies = [ "js-sys", "log", "wasm-bindgen", - "windows-core", + "windows-core 0.62.2", ] [[package]] @@ -4483,7 +4497,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" dependencies = [ "cfg-if", - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -4818,6 +4832,15 @@ dependencies = [ "hashbrown 0.15.5", ] +[[package]] +name = "lru" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96051b46fc183dc9cd4a223960ef37b9af631b55191852a8274bfef064cda20f" +dependencies = [ + "hashbrown 0.16.1", +] + [[package]] name = "lru-slab" version = "0.1.2" @@ -4852,12 +4875,6 @@ dependencies = [ "twox-hash", ] -[[package]] -name = "match_cfg" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" - [[package]] name = "matchers" version = "0.2.0" @@ -4897,9 +4914,9 @@ dependencies = [ [[package]] name = "md5" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" +checksum = "ae960838283323069879657ca3de837e9f7bbb4c7bf6ea7f1b290d5e9476d2e0" [[package]] name = "measure_time" @@ -5068,15 +5085,6 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2195bf6aa996a481483b29d62a7663eed3fe39600c460e323f8ff41e90bdd89b" -[[package]] -name = "nanorand" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" -dependencies = [ - "getrandom 0.2.16", -] - [[package]] name = "native-tls" version = "0.2.14" @@ -5182,7 +5190,7 @@ version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.60.2", + "windows-sys 0.59.0", ] [[package]] @@ -5387,6 +5395,25 @@ dependencies = [ "url", ] +[[package]] +name = "objc2-core-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" +dependencies = [ + "bitflags 2.10.0", +] + +[[package]] +name = "objc2-io-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15" +dependencies = [ + "libc", + "objc2-core-foundation", +] + [[package]] name = "object" version = "0.37.3" @@ -5831,7 +5858,7 @@ dependencies = [ "libc", "redox_syscall 0.5.18", "smallvec", - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -6409,7 +6436,7 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983" dependencies = [ - "toml_edit 0.23.10+spec-1.0.0", + "toml_edit", ] [[package]] @@ -6738,7 +6765,7 @@ dependencies = [ "anyhow", "async-trait", "criterion", - "flume", + "flume 0.12.0", "futures", "once_cell", "quickwit-common", @@ -6908,7 +6935,7 @@ dependencies = [ "fnv", "futures", "home", - "hostname 0.3.1", + "hostname", "http 1.4.0", "hyper 1.8.1", "hyper-util", @@ -6981,7 +7008,7 @@ dependencies = [ "fnv", "futures", "itertools 0.14.0", - "lru 0.13.0", + "lru 0.16.2", "mockall", "once_cell", "proptest", @@ -7100,7 +7127,7 @@ dependencies = [ "bytesize", "criterion", "fail", - "flume", + "flume 0.12.0", "fnv", "futures", "google-cloud-auth", @@ -7601,7 +7628,7 @@ dependencies = [ "futures", "http-body-util", "hyper 1.8.1", - "lru 0.13.0", + "lru 0.16.2", "md5", "mockall", "once_cell", @@ -7635,7 +7662,7 @@ version = "0.8.0" dependencies = [ "async-trait", "encoding_rs", - "hostname 0.3.1", + "hostname", "md5", "once_cell", "quickwit-common", @@ -8273,9 +8300,9 @@ dependencies = [ [[package]] name = "rust-embed" -version = "6.8.1" +version = "8.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a36224c3276f8c4ebc8c20f158eca7ca4359c8db89991c4925132aaaf6702661" +checksum = "947d7f3fad52b283d261c4c99a084937e2fe492248cb9a68a8435a861b8798ca" dependencies = [ "rust-embed-impl", "rust-embed-utils", @@ -8284,9 +8311,9 @@ dependencies = [ [[package]] name = "rust-embed-impl" -version = "6.8.1" +version = "8.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49b94b81e5b2c284684141a2fb9e2a31be90638caf040bf9afbc5a0416afe1ac" +checksum = "5fa2c8c9e8711e10f9c4fd2d64317ef13feaab820a4c51541f1a8c8e2e851ab2" dependencies = [ "proc-macro2", "quote", @@ -8297,9 +8324,9 @@ dependencies = [ [[package]] name = "rust-embed-utils" -version = "7.8.1" +version = "8.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d38ff6bf570dc3bb7100fce9f7b60c33fa71d80e88da3f2580df4ff2bdded74" +checksum = "60b161f275cb337fe0a44d924a5f4df0ed69c2c39519858f931ce61c779d3475" dependencies = [ "sha2", "walkdir", @@ -8356,7 +8383,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.4.15", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -8837,11 +8864,11 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.9" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" +checksum = "f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776" dependencies = [ - "serde", + "serde_core", ] [[package]] @@ -9394,7 +9421,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2d12fe70b2c1b4401038055f90f151b78208de1f9f89a7dbfd41587a10c3eea" dependencies = [ "atoi", - "flume", + "flume 0.11.1", "futures-channel", "futures-core", "futures-executor", @@ -9547,15 +9574,15 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.33.1" +version = "0.37.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fc858248ea01b66f19d8e8a6d55f41deaf91e9d495246fd01368d99935c6c01" +checksum = "16607d5caffd1c07ce073528f9ed972d88db15dd44023fa57142963be3feb11f" dependencies = [ - "core-foundation-sys", "libc", "memchr", "ntapi", - "rayon", + "objc2-core-foundation", + "objc2-io-kit", "windows", ] @@ -9797,7 +9824,7 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d8c27177b12a6399ffc08b98f76f7c9a1f4fe9fc967c784c5a071fa8d93cf7e1" dependencies = [ - "windows-sys 0.60.2", + "windows-sys 0.59.0", ] [[package]] @@ -10103,23 +10130,17 @@ dependencies = [ [[package]] name = "toml" -version = "0.7.8" +version = "0.9.9+spec-1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" +checksum = "eb5238e643fc34a1d5d7e753e1532a91912d74b63b92b3ea51fde8d1b7bc79dd" dependencies = [ - "serde", + "indexmap 2.12.1", + "serde_core", "serde_spanned", - "toml_datetime 0.6.11", - "toml_edit 0.19.15", -] - -[[package]] -name = "toml_datetime" -version = "0.6.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" -dependencies = [ - "serde", + "toml_datetime", + "toml_parser", + "toml_writer", + "winnow 0.7.14", ] [[package]] @@ -10131,19 +10152,6 @@ dependencies = [ "serde_core", ] -[[package]] -name = "toml_edit" -version = "0.19.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" -dependencies = [ - "indexmap 2.12.1", - "serde", - "serde_spanned", - "toml_datetime 0.6.11", - "winnow 0.5.40", -] - [[package]] name = "toml_edit" version = "0.23.10+spec-1.0.0" @@ -10151,7 +10159,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269" dependencies = [ "indexmap 2.12.1", - "toml_datetime 0.7.4+spec-1.0.0", + "toml_datetime", "toml_parser", "winnow 0.7.14", ] @@ -10165,6 +10173,12 @@ dependencies = [ "winnow 0.7.14", ] +[[package]] +name = "toml_writer" +version = "1.0.5+spec-1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9cd6190959dce0994aa8970cd32ab116d1851ead27e866039acaf2524ce44fa" + [[package]] name = "tonic" version = "0.9.2" @@ -10816,7 +10830,7 @@ dependencies = [ "grok", "hex", "hmac", - "hostname 0.4.2", + "hostname", "iana-time-zone", "idna", "indexmap 2.12.1", @@ -11208,31 +11222,68 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows" -version = "0.57.0" +version = "0.61.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" +checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" dependencies = [ - "windows-core", - "windows-targets 0.52.6", + "windows-collections", + "windows-core 0.61.2", + "windows-future", + "windows-link 0.1.3", + "windows-numerics", +] + +[[package]] +name = "windows-collections" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" +dependencies = [ + "windows-core 0.61.2", ] [[package]] name = "windows-core" -version = "0.57.0" +version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ "windows-implement", "windows-interface", - "windows-result 0.1.2", - "windows-targets 0.52.6", + "windows-link 0.1.3", + "windows-result 0.3.4", + "windows-strings 0.4.2", +] + +[[package]] +name = "windows-core" +version = "0.62.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link 0.2.1", + "windows-result 0.4.1", + "windows-strings 0.5.1", +] + +[[package]] +name = "windows-future" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" +dependencies = [ + "windows-core 0.61.2", + "windows-link 0.1.3", + "windows-threading", ] [[package]] name = "windows-implement" -version = "0.57.0" +version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", @@ -11241,39 +11292,55 @@ dependencies = [ [[package]] name = "windows-interface" -version = "0.57.0" +version = "0.59.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", "syn 2.0.111", ] +[[package]] +name = "windows-link" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" + [[package]] name = "windows-link" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" +[[package]] +name = "windows-numerics" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" +dependencies = [ + "windows-core 0.61.2", + "windows-link 0.1.3", +] + [[package]] name = "windows-registry" version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" dependencies = [ - "windows-link", + "windows-link 0.2.1", "windows-result 0.4.1", - "windows-strings", + "windows-strings 0.5.1", ] [[package]] name = "windows-result" -version = "0.1.2" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" dependencies = [ - "windows-targets 0.52.6", + "windows-link 0.1.3", ] [[package]] @@ -11282,7 +11349,16 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" dependencies = [ - "windows-link", + "windows-link 0.2.1", +] + +[[package]] +name = "windows-strings" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" +dependencies = [ + "windows-link 0.1.3", ] [[package]] @@ -11291,7 +11367,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" dependencies = [ - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -11336,7 +11412,7 @@ version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" dependencies = [ - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -11376,7 +11452,7 @@ version = "0.53.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" dependencies = [ - "windows-link", + "windows-link 0.2.1", "windows_aarch64_gnullvm 0.53.1", "windows_aarch64_msvc 0.53.1", "windows_i686_gnu 0.53.1", @@ -11387,6 +11463,15 @@ dependencies = [ "windows_x86_64_msvc 0.53.1", ] +[[package]] +name = "windows-threading" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" +dependencies = [ + "windows-link 0.1.3", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -11527,9 +11612,9 @@ checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" [[package]] name = "winnow" -version = "0.5.40" +version = "0.6.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +checksum = "1e90edd2ac1aa278a5c4599b1d89cf03074b610800f866d4026dc199d7929a28" dependencies = [ "memchr", ] diff --git a/quickwit/Cargo.toml b/quickwit/Cargo.toml index 71c68400870..13cc494d93c 100644 --- a/quickwit/Cargo.toml +++ b/quickwit/Cargo.toml @@ -101,15 +101,15 @@ coarsetime = "0.1" colored = "3.0" console-subscriber = "0.1" criterion = { version = "0.8", features = ["async_tokio"] } -cron = "0.12" +cron = "0.15" dialoguer = "0.12" dotenvy = "0.15" dyn-clone = "1.0" -enum-iterator = "1.5" +enum-iterator = "2.3" env_logger = "0.11" fail = "0.5" flate2 = "1.1" -flume = "0.11" +flume = "0.12" fnv = "1" futures = "0.3" futures-util = { version = "0.3", default-features = false } @@ -121,7 +121,7 @@ google-cloud-pubsub = "0.18" heck = "0.5" hex = "0.4" home = "0.5" -hostname = "0.3" +hostname = "0.4" http = "1.4" http-body = "1.0" http-body-util = "0.1" @@ -145,9 +145,9 @@ lindera-tokenizer = { version = "0.27", features = [ "ko-dic-compress", "ko-dic", ] } -lru = "0.13" +lru = "0.16" matches = "0.1" -md5 = "0.7" +md5 = "0.8" mime_guess = "2.0" mockall = "0.14" mrecordlog = { git = "https://github.com/quickwit-oss/mrecordlog", rev = "306c0a7" } @@ -203,7 +203,7 @@ reqwest = { version = "0.12", default-features = false, features = [ ] } reqwest-middleware = "0.4" reqwest-retry = "0.7" -rust-embed = "6.8" +rust-embed = "8.9" rustc-hash = "2.1" rustls = "0.23" rustls-pemfile = "2.2" @@ -230,7 +230,7 @@ sqlx = { version = "0.8", features = [ ] } syn = { version = "2.0", features = ["extra-traits", "full", "parsing"] } sync_wrapper = "1" -sysinfo = "0.33" +sysinfo = "0.37" tabled = { version = "0.14", features = ["color"] } tempfile = "3" thiserror = "2" @@ -243,7 +243,7 @@ tokio-metrics = { version = "0.3", features = ["rt"] } tokio-rustls = { version = "0.26", default-features = false } tokio-stream = { version = "0.1", features = ["sync"] } tokio-util = { version = "0.7", features = ["full"] } -toml = "0.7" +toml = "0.9" tonic = { version = "0.13", features = [ "_tls-any", "gzip", From 3f8b77347efd1ada06840a945cee890874c42727 Mon Sep 17 00:00:00 2001 From: "cong.xie" Date: Thu, 18 Dec 2025 10:06:43 -0500 Subject: [PATCH 05/20] update the updated function --- .../src/object_storage/s3_compatible_storage.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quickwit/quickwit-storage/src/object_storage/s3_compatible_storage.rs b/quickwit/quickwit-storage/src/object_storage/s3_compatible_storage.rs index e1cdfd16b70..5214b2bc37f 100644 --- a/quickwit/quickwit-storage/src/object_storage/s3_compatible_storage.rs +++ b/quickwit/quickwit-storage/src/object_storage/s3_compatible_storage.rs @@ -256,7 +256,7 @@ async fn compute_md5(mut read: T) -> io::Resu let read_len = read.read(&mut buf).await?; checksum.consume(&buf[..read_len]); if read_len == 0 { - return Ok(checksum.compute()); + return Ok(checksum.finalize()); } } } From 8564d3b86fa3b02afba3aaf1ad7c6d17d13f9c87 Mon Sep 17 00:00:00 2001 From: "cong.xie" Date: Thu, 18 Dec 2025 10:36:28 -0500 Subject: [PATCH 06/20] updatr 3rd party license --- LICENSE-3rdparty.csv | 44 +++++++++++++++++++++++++++----------------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/LICENSE-3rdparty.csv b/LICENSE-3rdparty.csv index 648eaf980a6..49474e3d477 100644 --- a/LICENSE-3rdparty.csv +++ b/LICENSE-3rdparty.csv @@ -52,7 +52,6 @@ aws-types,https://github.com/smithy-lang/smithy-rs,Apache-2.0,"AWS Rust SDK Team axum,https://github.com/tokio-rs/axum,MIT,The axum Authors axum-core,https://github.com/tokio-rs/axum,MIT,The axum-core Authors base16ct,https://github.com/RustCrypto/formats/tree/master/base16ct,Apache-2.0 OR MIT,RustCrypto Developers -base64,https://github.com/marshallpierce/rust-base64,MIT OR Apache-2.0,"Alice Maz , Marshall Pierce " base64,https://github.com/marshallpierce/rust-base64,MIT OR Apache-2.0,Marshall Pierce base64-simd,https://github.com/Nugine/simd,MIT,The base64-simd Authors base64ct,https://github.com/RustCrypto/formats,Apache-2.0 OR MIT,RustCrypto Developers @@ -95,7 +94,7 @@ colorchoice,https://github.com/rust-cli/anstyle,MIT OR Apache-2.0,The colorchoic colored,https://github.com/mackwic/colored,MPL-2.0,Thomas Wickham compression-codecs,https://github.com/Nullus157/async-compression,MIT OR Apache-2.0,"Wim Looman , Allen Bui " compression-core,https://github.com/Nullus157/async-compression,MIT OR Apache-2.0,"Wim Looman , Allen Bui " -console,https://github.com/console-rs/console,MIT,Armin Ronacher +console,https://github.com/console-rs/console,MIT,The console Authors const-oid,https://github.com/RustCrypto/formats/tree/master/const-oid,Apache-2.0 OR MIT,RustCrypto Developers constant_time_eq,https://github.com/cesarb/constant_time_eq,CC0-1.0,Cesar Eduardo Barros core-foundation,https://github.com/servo/core-foundation-rs,MIT OR Apache-2.0,The Servo Project Developers @@ -103,7 +102,7 @@ core-foundation-sys,https://github.com/servo/core-foundation-rs,MIT OR Apache-2. cpufeatures,https://github.com/RustCrypto/utils,MIT OR Apache-2.0,RustCrypto Developers crc32c,https://github.com/zowens/crc32c,Apache-2.0 OR MIT,Zack Owens crc32fast,https://github.com/srijs/rust-crc32fast,MIT OR Apache-2.0,"Sam Rijs , Alex Crichton " -criterion-plot,https://github.com/bheisler/criterion.rs,MIT OR Apache-2.0,"Jorge Aparicio , Brook Heisler " +criterion-plot,https://github.com/criterion-rs/criterion.rs,Apache-2.0 OR MIT,"Jorge Aparicio , Brook Heisler " cron,https://github.com/zslayton/cron,MIT OR Apache-2.0,Zack Slayton crossbeam-channel,https://github.com/crossbeam-rs/crossbeam,MIT OR Apache-2.0,The crossbeam-channel Authors crossbeam-deque,https://github.com/crossbeam-rs/crossbeam,MIT OR Apache-2.0,The crossbeam-deque Authors @@ -122,7 +121,7 @@ deadpool,https://github.com/bikeshedder/deadpool,MIT OR Apache-2.0,Michael P. Ju deadpool-runtime,https://github.com/bikeshedder/deadpool,MIT OR Apache-2.0,Michael P. Jung der,https://github.com/RustCrypto/formats/tree/master/der,Apache-2.0 OR MIT,RustCrypto Developers deranged,https://github.com/jhpratt/deranged,MIT OR Apache-2.0,Jacob Pratt -dialoguer,https://github.com/mitsuhiko/dialoguer,MIT,"Armin Ronacher , Pavan Kumar Sunkara " +dialoguer,https://github.com/console-rs/dialoguer,MIT,The dialoguer Authors diff,https://github.com/utkarshkukreti/diff.rs,MIT OR Apache-2.0,Utkarsh Kukreti difflib,https://github.com/DimaKudosh/difflib,MIT,Dima Kudosh digest,https://github.com/RustCrypto/traits,MIT OR Apache-2.0,RustCrypto Developers @@ -147,8 +146,9 @@ encoding-index-tradchinese,https://github.com/lifthrasiir/rust-encoding,CC0-1.0, encoding_index_tests,https://github.com/lifthrasiir/rust-encoding,CC0-1.0,Kang Seonghoon encoding_rs,https://github.com/hsivonen/encoding_rs,(Apache-2.0 OR MIT) AND BSD-3-Clause,Henri Sivonen encoding_rs_io,https://github.com/BurntSushi/encoding_rs_io,MIT OR Apache-2.0,Andrew Gallant -enum-iterator,https://github.com/stephaneyfx/enum-iterator,MIT,Stephane Raux +enum-iterator,https://github.com/stephaneyfx/enum-iterator,0BSD,Stephane Raux enum-iterator-derive,https://github.com/stephaneyfx/enum-iterator,0BSD,Stephane Raux +env_filter,https://github.com/rust-cli/env_logger,MIT OR Apache-2.0,The env_filter Authors env_logger,https://github.com/rust-cli/env_logger,MIT OR Apache-2.0,The env_logger Authors equivalent,https://github.com/indexmap-rs/equivalent,Apache-2.0 OR MIT,The equivalent Authors erased-serde,https://github.com/dtolnay/erased-serde,MIT OR Apache-2.0,David Tolnay @@ -194,7 +194,7 @@ hermit-abi,https://github.com/hermit-os/hermit-rs,MIT OR Apache-2.0,Stefan Lanke hex,https://github.com/KokaKiwi/rust-hex,MIT OR Apache-2.0,KokaKiwi hmac,https://github.com/RustCrypto/MACs,MIT OR Apache-2.0,RustCrypto Developers home,https://github.com/rust-lang/cargo,MIT OR Apache-2.0,Brian Anderson -hostname,https://github.com/svartalf/hostname,MIT,"fengcen , svartalf " +hostname,https://github.com/djc/hostname,MIT,The hostname Authors htmlescape,https://github.com/veddan/rust-htmlescape,Apache-2.0 OR MIT OR MPL-2.0,Viktor Dahl http,https://github.com/hyperium/http,MIT OR Apache-2.0,"Alex Crichton , Carl Lerche , Sean McArthur " http-body,https://github.com/hyperium/http-body,MIT,"Carl Lerche , Lucio Franco , Sean McArthur " @@ -233,6 +233,8 @@ is-terminal,https://github.com/sunfishcode/is-terminal,MIT,"softprops +jiff,https://github.com/BurntSushi/jiff,Unlicense OR MIT,Andrew Gallant +jiff-static,https://github.com/BurntSushi/jiff,Unlicense OR MIT,Andrew Gallant jobserver,https://github.com/rust-lang/jobserver-rs,MIT OR Apache-2.0,Alex Crichton js-sys,https://github.com/wasm-bindgen/wasm-bindgen/tree/master/crates/js-sys,MIT OR Apache-2.0,The wasm-bindgen Developers json_comments,https://github.com/tmccombs/json-comments-rs,Apache-2.0,Thayne McCombs @@ -262,7 +264,6 @@ log,https://github.com/rust-lang/log,MIT OR Apache-2.0,The Rust Project Develope lru,https://github.com/jeromefroe/lru-rs,MIT,Jerome Froelich lru-slab,https://github.com/Ralith/lru-slab,MIT OR Apache-2.0 OR Zlib,Benjamin Saunders lz4_flex,https://github.com/pseitz/lz4_flex,MIT,"Pascal Seitz , Arthur Silva , ticki " -match_cfg,https://github.com/gnzlbg/match_cfg,MIT OR Apache-2.0,gnzlbg matchers,https://github.com/hawkw/matchers,MIT,Eliza Weisman matchit,https://github.com/ibraheemdev/matchit,MIT AND BSD-3-Clause,Ibraheem Ahmed md-5,https://github.com/RustCrypto/hashes,MIT OR Apache-2.0,RustCrypto Developers @@ -282,7 +283,6 @@ mockall_derive,https://github.com/asomers/mockall,MIT OR Apache-2.0,Alan Somers mrecordlog,https://github.com/quickwit-oss/mrecordlog,MIT,The mrecordlog Authors multimap,https://github.com/havarnov/multimap,MIT OR Apache-2.0,Håvar Nøvik murmurhash32,https://github.com/quickwit-inc/murmurhash32,MIT,Paul Masurel -nanorand,https://github.com/Absolucy/nanorand-rs,Zlib,Lucy new_string_template,https://github.com/hasezoey/new_string_template,MIT,hasezoey no-std-net,https://github.com/dunmatt/no-std-net,MIT,M@ Dunlap nom,https://github.com/Geal/nom,MIT,contact@geoffroycouprie.com @@ -295,8 +295,9 @@ num-integer,https://github.com/rust-num/num-integer,MIT OR Apache-2.0,The Rust P num-rational,https://github.com/rust-num/num-rational,MIT OR Apache-2.0,The Rust Project Developers num-traits,https://github.com/rust-num/num-traits,MIT OR Apache-2.0,The Rust Project Developers num_cpus,https://github.com/seanmonstar/num_cpus,MIT OR Apache-2.0,Sean McArthur -number_prefix,https://github.com/ogham/rust-number-prefix,MIT,Benjamin Sago numfmt,https://github.com/kurtlawrence/numfmt,MIT,Kurt Lawrence +objc2-core-foundation,https://github.com/madsmtm/objc2,Zlib OR Apache-2.0 OR MIT,The objc2-core-foundation Authors +objc2-io-kit,https://github.com/madsmtm/objc2,Zlib OR Apache-2.0 OR MIT,The objc2-io-kit Authors once_cell,https://github.com/matklad/once_cell,MIT OR Apache-2.0,Aleksey Kladov once_cell_polyfill,https://github.com/polyfill-rs/once_cell_polyfill,MIT OR Apache-2.0,The once_cell_polyfill Authors oneshot,https://github.com/faern/oneshot,MIT OR Apache-2.0,Linus Färnstrand @@ -312,6 +313,7 @@ ouroboros_macro,https://github.com/someguynamedjosh/ouroboros,MIT OR Apache-2.0, outref,https://github.com/Nugine/outref,MIT,The outref Authors ownedbytes,https://github.com/quickwit-oss/tantivy,MIT,"Paul Masurel , Pascal Seitz " p256,https://github.com/RustCrypto/elliptic-curves/tree/master/p256,Apache-2.0 OR MIT,RustCrypto Developers +page_size,https://github.com/Elzair/page_size_rs,MIT OR Apache-2.0,Philip Woods papergrid,https://github.com/zhiburt/tabled,MIT,Maxim Zhiburt parking_lot,https://github.com/Amanieu/parking_lot,Apache-2.0 OR MIT,Amanieu d'Antras parking_lot,https://github.com/Amanieu/parking_lot,MIT OR Apache-2.0,Amanieu d'Antras @@ -341,6 +343,7 @@ pnet_packet,https://github.com/libpnet/libpnet,MIT OR Apache-2.0,Robert Clipsham pnet_sys,https://github.com/libpnet/libpnet,MIT OR Apache-2.0,"Robert Clipsham , Linus Färnstrand " pnet_transport,https://github.com/libpnet/libpnet,MIT OR Apache-2.0,Robert Clipsham portable-atomic,https://github.com/taiki-e/portable-atomic,Apache-2.0 OR MIT,The portable-atomic Authors +portable-atomic-util,https://github.com/taiki-e/portable-atomic,Apache-2.0 OR MIT,The portable-atomic-util Authors postcard,https://github.com/jamesmunns/postcard,MIT OR Apache-2.0,James Munns potential_utf,https://github.com/unicode-org/icu4x,Unicode-3.0,The ICU4X Project Developers powerfmt,https://github.com/jhpratt/powerfmt,MIT OR Apache-2.0,Jacob Pratt @@ -362,6 +365,7 @@ prost-build,https://github.com/tokio-rs/prost,Apache-2.0,"Dan Burkert , Lucio Franco , Casper Meijn , Tokio Contributors " prost-types,https://github.com/tokio-rs/prost,Apache-2.0,"Dan Burkert , Lucio Franco , Casper Meijn , Tokio Contributors " protobuf,https://github.com/stepancheg/rust-protobuf,MIT,Stepan Koltsov +quanta,https://github.com/metrics-rs/quanta,MIT,Toby Lawrence quick-error,http://github.com/tailhook/quick-error,MIT OR Apache-2.0,"Paul Colomiets , Colin Kiegel " quinn,https://github.com/quinn-rs/quinn,MIT OR Apache-2.0,The quinn Authors quinn-proto,https://github.com/quinn-rs/quinn,MIT OR Apache-2.0,The quinn-proto Authors @@ -373,6 +377,7 @@ rand_chacha,https://github.com/rust-random/rand,MIT OR Apache-2.0,"The Rand Proj rand_core,https://github.com/rust-random/rand,MIT OR Apache-2.0,"The Rand Project Developers, The Rust Project Developers" rand_distr,https://github.com/rust-random/rand,MIT OR Apache-2.0,The Rand Project Developers rand_xorshift,https://github.com/rust-random/rngs,MIT OR Apache-2.0,"The Rand Project Developers, The Rust Project Developers" +raw-cpuid,https://github.com/gz/rust-cpuid,MIT,Gerd Zellweger rayon,https://github.com/rayon-rs/rayon,MIT OR Apache-2.0,The rayon Authors rayon-core,https://github.com/rayon-rs/rayon,MIT OR Apache-2.0,The rayon-core Authors redox_syscall,https://gitlab.redox-os.org/redox-os/syscall,MIT,Jeremy Soller @@ -389,14 +394,13 @@ retry-policies,https://github.com/TrueLayer/retry-policies,MIT OR Apache-2.0,Luc rfc6979,https://github.com/RustCrypto/signatures/tree/master/rfc6979,Apache-2.0 OR MIT,RustCrypto Developers ring,https://github.com/briansmith/ring,Apache-2.0 AND ISC,The ring Authors roxmltree,https://github.com/RazrFalcon/roxmltree,MIT OR Apache-2.0,Evgeniy Reizner -rust-embed,https://github.com/pyros2097/rust-embed,MIT,pyros2097 -rust-embed-impl,https://github.com/pyros2097/rust-embed,MIT,pyros2097 -rust-embed-utils,https://github.com/pyros2097/rust-embed,MIT,pyros2097 +rust-embed,https://pyrossh.dev/repos/rust-embed,MIT,pyrossh +rust-embed-impl,https://pyrossh.dev/repos/rust-embed,MIT,pyrossh +rust-embed-utils,https://pyrossh.dev/repos/rust-embed,MIT,pyrossh rust-stemmers,https://github.com/CurrySoftware/rust-stemmers,MIT OR BSD-3-Clause,"Jakob Demler , CurrySoftware " rustc-hash,https://github.com/rust-lang/rustc-hash,Apache-2.0 OR MIT,The Rust Project Developers rustix,https://github.com/bytecodealliance/rustix,Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT,"Dan Gohman , Jakub Konka " rustls,https://github.com/rustls/rustls,Apache-2.0 OR ISC OR MIT,The rustls Authors -rustls-native-certs,https://github.com/ctz/rustls-native-certs,Apache-2.0 OR ISC OR MIT,The rustls-native-certs Authors rustls-native-certs,https://github.com/rustls/rustls-native-certs,Apache-2.0 OR ISC OR MIT,The rustls-native-certs Authors rustls-pemfile,https://github.com/rustls/pemfile,Apache-2.0 OR ISC OR MIT,The rustls-pemfile Authors rustls-pki-types,https://github.com/rustls/pki-types,MIT OR Apache-2.0,The rustls-pki-types Authors @@ -487,9 +491,10 @@ tokio-metrics,https://github.com/tokio-rs/tokio-metrics,MIT,Tokio Contributors < tokio-rustls,https://github.com/rustls/tokio-rustls,MIT OR Apache-2.0,The tokio-rustls Authors tokio-stream,https://github.com/tokio-rs/tokio,MIT,Tokio Contributors tokio-util,https://github.com/tokio-rs/tokio,MIT,Tokio Contributors -toml,https://github.com/toml-rs/toml,MIT OR Apache-2.0,Alex Crichton +toml,https://github.com/toml-rs/toml,MIT OR Apache-2.0,The toml Authors toml_datetime,https://github.com/toml-rs/toml,MIT OR Apache-2.0,The toml_datetime Authors -toml_edit,https://github.com/toml-rs/toml,MIT OR Apache-2.0,"Andronik Ordian , Ed Page " +toml_parser,https://github.com/toml-rs/toml,MIT OR Apache-2.0,The toml_parser Authors +toml_writer,https://github.com/toml-rs/toml,MIT OR Apache-2.0,The toml_writer Authors tonic,https://github.com/hyperium/tonic,MIT,Lucio Franco tonic-build,https://github.com/hyperium/tonic,MIT,Lucio Franco tonic-health,https://github.com/hyperium/tonic,MIT,James Nugent @@ -516,6 +521,7 @@ unarray,https://github.com/cameron1024/unarray,MIT OR Apache-2.0,The unarray Aut unicase,https://github.com/seanmonstar/unicase,MIT OR Apache-2.0,Sean McArthur unicode-ident,https://github.com/dtolnay/unicode-ident,(MIT OR Apache-2.0) AND Unicode-3.0,David Tolnay unicode-width,https://github.com/unicode-rs/unicode-width,MIT OR Apache-2.0,"kwantam , Manish Goregaokar " +unit-prefix,https://codeberg.org/commons-rs/unit-prefix,MIT,"Fabio Valentini , Benjamin Sago " unsafe-libyaml,https://github.com/dtolnay/unsafe-libyaml,MIT,David Tolnay untrusted,https://github.com/briansmith/untrusted,ISC,Brian Smith url,https://github.com/servo/rust-url,MIT OR Apache-2.0,The rust-url developers @@ -554,21 +560,25 @@ winapi-i686-pc-windows-gnu,https://github.com/retep998/winapi-rs,MIT OR Apache-2 winapi-util,https://github.com/BurntSushi/winapi-util,Unlicense OR MIT,Andrew Gallant winapi-x86_64-pc-windows-gnu,https://github.com/retep998/winapi-rs,MIT OR Apache-2.0,Peter Atashian windows,https://github.com/microsoft/windows-rs,MIT OR Apache-2.0,Microsoft +windows-collections,https://github.com/microsoft/windows-rs,MIT OR Apache-2.0,The windows-collections Authors windows-core,https://github.com/microsoft/windows-rs,MIT OR Apache-2.0,Microsoft windows-core,https://github.com/microsoft/windows-rs,MIT OR Apache-2.0,The windows-core Authors -windows-implement,https://github.com/microsoft/windows-rs,MIT OR Apache-2.0,Microsoft +windows-future,https://github.com/microsoft/windows-rs,MIT OR Apache-2.0,The windows-future Authors windows-implement,https://github.com/microsoft/windows-rs,MIT OR Apache-2.0,The windows-implement Authors -windows-interface,https://github.com/microsoft/windows-rs,MIT OR Apache-2.0,Microsoft windows-interface,https://github.com/microsoft/windows-rs,MIT OR Apache-2.0,The windows-interface Authors +windows-link,https://github.com/microsoft/windows-rs,MIT OR Apache-2.0,Microsoft windows-link,https://github.com/microsoft/windows-rs,MIT OR Apache-2.0,The windows-link Authors +windows-numerics,https://github.com/microsoft/windows-rs,MIT OR Apache-2.0,The windows-numerics Authors windows-registry,https://github.com/microsoft/windows-rs,MIT OR Apache-2.0,The windows-registry Authors windows-result,https://github.com/microsoft/windows-rs,MIT OR Apache-2.0,Microsoft windows-result,https://github.com/microsoft/windows-rs,MIT OR Apache-2.0,The windows-result Authors +windows-strings,https://github.com/microsoft/windows-rs,MIT OR Apache-2.0,Microsoft windows-strings,https://github.com/microsoft/windows-rs,MIT OR Apache-2.0,The windows-strings Authors windows-sys,https://github.com/microsoft/windows-rs,MIT OR Apache-2.0,Microsoft windows-sys,https://github.com/microsoft/windows-rs,MIT OR Apache-2.0,The windows-sys Authors windows-targets,https://github.com/microsoft/windows-rs,MIT OR Apache-2.0,Microsoft windows-targets,https://github.com/microsoft/windows-rs,MIT OR Apache-2.0,The windows-targets Authors +windows-threading,https://github.com/microsoft/windows-rs,MIT OR Apache-2.0,Microsoft windows_aarch64_gnullvm,https://github.com/microsoft/windows-rs,MIT OR Apache-2.0,Microsoft windows_aarch64_gnullvm,https://github.com/microsoft/windows-rs,MIT OR Apache-2.0,The windows_aarch64_gnullvm Authors windows_aarch64_msvc,https://github.com/microsoft/windows-rs,MIT OR Apache-2.0,Microsoft From 9bc41b6dd5b3fa8f5089927eb81e35cb54e7fb4b Mon Sep 17 00:00:00 2001 From: "cong.xie" Date: Thu, 18 Dec 2025 13:23:19 -0500 Subject: [PATCH 07/20] bump more deps --- quickwit/Cargo.lock | 274 +++++++++++++----- quickwit/Cargo.toml | 14 +- quickwit/quickwit-storage/Cargo.toml | 2 +- .../src/opendal_storage/base.rs | 2 +- .../opendal_storage/google_cloud_storage.rs | 16 +- .../tests/google_cloud_storage.rs | 16 +- 6 files changed, 210 insertions(+), 114 deletions(-) diff --git a/quickwit/Cargo.lock b/quickwit/Cargo.lock index 990a63bb40a..c7b43c322d4 100644 --- a/quickwit/Cargo.lock +++ b/quickwit/Cargo.lock @@ -193,7 +193,7 @@ version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -204,7 +204,7 @@ checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" dependencies = [ "anstyle", "once_cell_polyfill", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -1746,7 +1746,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c9e340e012a1bf4935f5282ed1436d1489548e8f72308207ea5df0e23d2d03f8" dependencies = [ "clap_builder", - "clap_derive", ] [[package]] @@ -1761,18 +1760,6 @@ dependencies = [ "strsim", ] -[[package]] -name = "clap_derive" -version = "4.5.49" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a0b5487afeab2deb2ff4e03a807ad1a03ac532ff5a2cee5d86884440c7f7671" -dependencies = [ - "heck 0.5.0", - "proc-macro2", - "quote", - "syn 2.0.111", -] - [[package]] name = "clap_lex" version = "0.7.6" @@ -2875,7 +2862,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -3058,9 +3045,9 @@ dependencies = [ [[package]] name = "fluent-uri" -version = "0.3.2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1918b65d96df47d3591bed19c5cca17e3fa5d0707318e4b5ef2eae01764df7e5" +checksum = "bc74ac4d8359ae70623506d512209619e5cf8f347124910440dbc221714b328e" dependencies = [ "borrow-or-share", "ref-cast", @@ -4273,7 +4260,7 @@ checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" dependencies = [ "hermit-abi", "libc", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -4322,10 +4309,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49cce2b81f2098e7e3efc35bc2e0a6b7abec9d34128283d7a26fa8f32a6dbb35" dependencies = [ "jiff-static", + "jiff-tzdb-platform", "log", "portable-atomic", "portable-atomic-util", "serde_core", + "windows-sys 0.61.2", ] [[package]] @@ -4339,6 +4328,21 @@ dependencies = [ "syn 2.0.111", ] +[[package]] +name = "jiff-tzdb" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68971ebff725b9e2ca27a601c5eb38a4c5d64422c4cbab0c535f248087eda5c2" + +[[package]] +name = "jiff-tzdb-platform" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "875a5a69ac2bab1a891711cf5eccbec1ce0341ea805560dcd90b7a2e925132e8" +dependencies = [ + "jiff-tzdb", +] + [[package]] name = "jobserver" version = "0.1.34" @@ -4367,27 +4371,28 @@ checksum = "9dbbfed4e59ba9750e15ba154fdfd9329cee16ff3df539c2666b70f58cc32105" [[package]] name = "jsonschema" -version = "0.32.1" +version = "0.37.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24690c68dfcdde5980d676b0f1820981841016b1f29eecb4c42ad48ab4118681" +checksum = "73c9ffb2b5c56d58030e1b532d8e8389da94590515f118cf35b5cb68e4764a7e" dependencies = [ "ahash", - "base64 0.22.1", "bytecount", + "data-encoding", "email_address", "fancy-regex 0.16.2", "fraction", + "getrandom 0.3.4", "idna", "itoa", "num-cmp", "num-traits", - "once_cell", "percent-encoding", "referencing", "regex", "regex-syntax", "serde", "serde_json", + "unicode-general-category", "uuid-simd", ] @@ -5190,7 +5195,7 @@ version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -5497,29 +5502,29 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "opendal" -version = "0.53.3" +version = "0.55.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f947c4efbca344c1a125753366033c8107f552b2e3f8251815ed1908f116ca3e" +checksum = "d075ab8a203a6ab4bc1bce0a4b9fe486a72bf8b939037f4b78d95386384bc80a" dependencies = [ "anyhow", - "async-trait", "backon", "base64 0.22.1", "bytes", - "chrono", "futures", "getrandom 0.2.16", "http 1.4.0", "http-body 1.0.1", + "jiff", "log", "md-5", "percent-encoding", - "quick-xml 0.37.5", - "reqsign", + "quick-xml 0.38.4", + "reqsign 0.16.5", "reqwest 0.12.26", "serde", "serde_json", "tokio", + "url", "uuid", ] @@ -5708,7 +5713,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d8fae84b431384b68627d0f9b3b1245fcf9f46f6c0e3dc902e9dce64edd1967" dependencies = [ "libc", - "windows-sys 0.48.0", + "windows-sys 0.61.2", ] [[package]] @@ -6178,9 +6183,9 @@ dependencies = [ [[package]] name = "pnet" -version = "0.33.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd959a8268165518e2bf5546ba84c7b3222744435616381df3c456fe8d983576" +checksum = "682396b533413cc2e009fbb48aadf93619a149d3e57defba19ff50ce0201bd0d" dependencies = [ "ipnetwork", "pnet_base", @@ -6192,18 +6197,18 @@ dependencies = [ [[package]] name = "pnet_base" -version = "0.33.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "872e46346144ebf35219ccaa64b1dffacd9c6f188cd7d012bd6977a2a838f42e" +checksum = "ffc190d4067df16af3aba49b3b74c469e611cad6314676eaf1157f31aa0fb2f7" dependencies = [ "no-std-net", ] [[package]] name = "pnet_datalink" -version = "0.33.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c302da22118d2793c312a35fb3da6846cb0fab6c3ad53fd67e37809b06cdafce" +checksum = "e79e70ec0be163102a332e1d2d5586d362ad76b01cec86f830241f2b6452a7b7" dependencies = [ "ipnetwork", "libc", @@ -6214,30 +6219,30 @@ dependencies = [ [[package]] name = "pnet_macros" -version = "0.33.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a780e80005c2e463ec25a6e9f928630049a10b43945fea83207207d4a7606f4" +checksum = "13325ac86ee1a80a480b0bc8e3d30c25d133616112bb16e86f712dcf8a71c863" dependencies = [ "proc-macro2", "quote", "regex", - "syn 1.0.109", + "syn 2.0.111", ] [[package]] name = "pnet_macros_support" -version = "0.33.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d932134f32efd7834eb8b16d42418dac87086347d1bc7d142370ef078582bc" +checksum = "eed67a952585d509dd0003049b1fc56b982ac665c8299b124b90ea2bdb3134ab" dependencies = [ "pnet_base", ] [[package]] name = "pnet_packet" -version = "0.33.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bde678bbd85cb1c2d99dc9fc596e57f03aa725f84f3168b0eaf33eeccb41706" +checksum = "4c96ebadfab635fcc23036ba30a7d33a80c39e8461b8bd7dc7bb186acb96560f" dependencies = [ "glob", "pnet_base", @@ -6247,9 +6252,9 @@ dependencies = [ [[package]] name = "pnet_sys" -version = "0.33.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faf7a58b2803d818a374be9278a1fe8f88fce14b936afbe225000cfcd9c73f16" +checksum = "7d4643d3d4db6b08741050c2f3afa9a892c4244c085a72fcda93c9c2c9a00f4b" dependencies = [ "libc", "winapi 0.3.9", @@ -6257,9 +6262,9 @@ dependencies = [ [[package]] name = "pnet_transport" -version = "0.33.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "813d1c0e4defbe7ee22f6fe1755f122b77bfb5abe77145b1b5baaf463cab9249" +checksum = "5f604d98bc2a6591cf719b58d3203fd882bdd6bf1db696c4ac97978e9f4776bf" dependencies = [ "libc", "pnet_base", @@ -6487,22 +6492,21 @@ dependencies = [ [[package]] name = "procfs" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "731e0d9356b0c25f16f33b5be79b1c57b562f141ebfcdb0ad8ac2c13a24293b4" +checksum = "cc5b72d8145275d844d4b5f6d4e1eef00c8cd889edb6035c21675d1bb1f45c9f" dependencies = [ "bitflags 2.10.0", "hex", - "lazy_static", "procfs-core", "rustix 0.38.44", ] [[package]] name = "procfs-core" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d3554923a69f4ce04c4a754260c338f505ce22642d3830e049a399fc2059a29" +checksum = "239df02d8349b06fc07398a3a1697b06418223b1c7725085e801e7c0fc6a12ec" dependencies = [ "bitflags 2.10.0", "hex", @@ -6510,9 +6514,9 @@ dependencies = [ [[package]] name = "prometheus" -version = "0.13.4" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d33c28a30771f7f96db69893f78b857f7450d7e0237e9c8fc6427a81bae7ed1" +checksum = "3ca5326d8d0b950a9acd87e6a3f94745394f62e4dae1b1ee22b2bc0c394af43a" dependencies = [ "cfg-if", "fnv", @@ -6522,7 +6526,7 @@ dependencies = [ "parking_lot 0.12.5", "procfs", "protobuf", - "thiserror 1.0.69", + "thiserror 2.0.17", ] [[package]] @@ -6641,9 +6645,23 @@ dependencies = [ [[package]] name = "protobuf" -version = "2.28.0" +version = "3.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d65a1d4ddae7d8b5de68153b48f6aa3bba8cb002b243dbdbc55a5afbc98f99f4" +dependencies = [ + "once_cell", + "protobuf-support", + "thiserror 1.0.69", +] + +[[package]] +name = "protobuf-support" +version = "3.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94" +checksum = "3e36c2f31e0a47f9280fb347ef5e461ffcd2c52dd520d8e216b52f93b0b0d7d6" +dependencies = [ + "thiserror 1.0.69", +] [[package]] name = "psl" @@ -6750,9 +6768,9 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.37.5" +version = "0.38.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "331e97a1af0bf59823e6eadffe373d7b27f485be8748f71471c662c1f269b7fb" +checksum = "b66c2058c55a409d601666cffe35f04333cf1013010882cec174a7467cd4e21c" dependencies = [ "memchr", "serde", @@ -7473,7 +7491,7 @@ dependencies = [ "quickwit-serve", "reqwest 0.12.26", "reqwest-middleware", - "reqwest-retry", + "reqwest-retry 0.8.0", "serde", "serde_json", "thiserror 2.0.17", @@ -7641,7 +7659,7 @@ dependencies = [ "quickwit-proto", "rand 0.8.5", "regex", - "reqsign", + "reqsign 0.18.1", "reqwest 0.12.26", "serde", "serde_json", @@ -7982,13 +8000,14 @@ dependencies = [ [[package]] name = "referencing" -version = "0.32.1" +version = "0.37.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a3d769362109497b240e66462606bc28af68116436c8669bac17069533b908e" +checksum = "4283168a506f0dcbdce31c9f9cce3129c924da4c6bca46e46707fcb746d2d70c" dependencies = [ "ahash", "fluent-uri", - "once_cell", + "getrandom 0.3.4", + "hashbrown 0.16.1", "parking_lot 0.12.5", "percent-encoding", "serde_json", @@ -8071,6 +8090,58 @@ dependencies = [ "sha2", ] +[[package]] +name = "reqsign" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea386ba750000b6e59f760a08bdcca9461809b95e6f8f209ce5724056802824f" +dependencies = [ + "reqsign-core", + "reqsign-google", +] + +[[package]] +name = "reqsign-core" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39da118ccf3bdb067ac6cc40136fec99bc5ba418cbd388dc88e4ce0e5d0b1423" +dependencies = [ + "anyhow", + "async-trait", + "base64 0.22.1", + "bytes", + "form_urlencoded", + "hex", + "hmac", + "http 1.4.0", + "jiff", + "log", + "percent-encoding", + "sha1", + "sha2", + "windows-sys 0.61.2", +] + +[[package]] +name = "reqsign-google" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16e1942acf06b8638f16775e92e4ca9cca239519ea6f4e650d5924d1f0dc37d1" +dependencies = [ + "async-trait", + "http 1.4.0", + "jsonwebtoken 9.3.1", + "log", + "percent-encoding", + "rand 0.8.5", + "reqsign-core", + "reqwest 0.12.26", + "rsa", + "serde", + "serde_json", + "sha2", +] + [[package]] name = "reqwest" version = "0.11.27" @@ -8187,13 +8258,33 @@ dependencies = [ "parking_lot 0.11.2", "reqwest 0.12.26", "reqwest-middleware", - "retry-policies", + "retry-policies 0.4.0", "thiserror 1.0.69", "tokio", - "tracing", "wasm-timer", ] +[[package]] +name = "reqwest-retry" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "105747e3a037fe5bf17458d794de91149e575b6183fc72c85623a44abb9683f5" +dependencies = [ + "anyhow", + "async-trait", + "futures", + "getrandom 0.2.16", + "http 1.4.0", + "hyper 1.8.1", + "reqwest 0.12.26", + "reqwest-middleware", + "retry-policies 0.5.1", + "thiserror 2.0.17", + "tokio", + "tracing", + "wasmtimer", +] + [[package]] name = "retry-policies" version = "0.4.0" @@ -8203,6 +8294,15 @@ dependencies = [ "rand 0.8.5", ] +[[package]] +name = "retry-policies" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46a4bd6027df676bcb752d3724db0ea3c0c5fc1dd0376fec51ac7dcaf9cc69be" +dependencies = [ + "rand 0.9.2", +] + [[package]] name = "rfc6979" version = "0.3.1" @@ -8396,7 +8496,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.11.0", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -9815,7 +9915,7 @@ dependencies = [ "getrandom 0.3.4", "once_cell", "rustix 1.1.2", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -9824,7 +9924,7 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d8c27177b12a6399ffc08b98f76f7c9a1f4fe9fc967c784c5a071fa8d93cf7e1" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -10048,9 +10148,9 @@ dependencies = [ [[package]] name = "tokio-metrics" -version = "0.3.1" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eace09241d62c98b7eeb1107d4c5c64ca3bd7da92e8c218c153ab3a78f9be112" +checksum = "a34e87dd30650518a4e041bca77c931f3f5a19621eecdcd794f5c1813bca9e98" dependencies = [ "futures-util", "pin-project-lite", @@ -10593,6 +10693,12 @@ version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" +[[package]] +name = "unicode-general-category" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b993bddc193ae5bd0d623b49ec06ac3e9312875fdae725a975c51db1cc1677f" + [[package]] name = "unicode-ident" version = "1.0.22" @@ -10769,7 +10875,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23b082222b4f6619906941c17eb2297fff4c2fb96cb60164170522942a200bd8" dependencies = [ "outref", - "uuid", "vsimd", ] @@ -10793,9 +10898,9 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "vrl" -version = "0.27.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374906b686967832d85e5ce8f43581924e8382787e538c61c1e2158e09fc6518" +checksum = "b12fd383709e1187354f818cafa07a28d788eb30351a627891579deedeffce40" dependencies = [ "aes", "aes-siv", @@ -10812,7 +10917,6 @@ dependencies = [ "chrono-tz", "ciborium", "cidr", - "clap", "codespan-reporting", "community-id", "convert_case", @@ -10863,7 +10967,7 @@ dependencies = [ "regex", "reqwest 0.12.26", "reqwest-middleware", - "reqwest-retry", + "reqwest-retry 0.7.0", "roxmltree 0.20.0", "rust_decimal", "seahash", @@ -11114,6 +11218,20 @@ dependencies = [ "web-sys", ] +[[package]] +name = "wasmtimer" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c598d6b99ea013e35844697fc4670d08339d5cda15588f193c6beedd12f644b" +dependencies = [ + "futures", + "js-sys", + "parking_lot 0.12.5", + "pin-utils", + "slab", + "wasm-bindgen", +] + [[package]] name = "web-sys" version = "0.3.83" @@ -11211,7 +11329,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.61.2", ] [[package]] diff --git a/quickwit/Cargo.toml b/quickwit/Cargo.toml index 13cc494d93c..50a309df9eb 100644 --- a/quickwit/Cargo.toml +++ b/quickwit/Cargo.toml @@ -164,7 +164,7 @@ opentelemetry-otlp = "0.27" ouroboros = "0.18" percent-encoding = "2.3" pin-project = "1.1" -pnet = { version = "0.33", features = ["std"] } +pnet = { version = "0.35", features = ["std"] } postcard = { version = "1.1", features = [ "use-std", ], default-features = false } @@ -172,7 +172,7 @@ pprof = { version = "0.15", features = ["flamegraph"] } predicates = "3" prettyplease = "0.2" proc-macro2 = "1.0" -prometheus = { version = "0.13", features = ["process"] } +prometheus = { version = "0.14", features = ["process"] } proptest = "1" prost = { version = "0.13", default-features = false, features = [ "prost-derive", @@ -202,7 +202,7 @@ reqwest = { version = "0.12", default-features = false, features = [ "rustls-tls", ] } reqwest-middleware = "0.4" -reqwest-retry = "0.7" +reqwest-retry = "0.8" rust-embed = "8.9" rustc-hash = "2.1" rustls = "0.23" @@ -239,7 +239,7 @@ tikv-jemalloc-ctl = "0.5" tikv-jemallocator = "0.5" time = { version = "0.3", features = ["std", "formatting", "macros"] } tokio = { version = "1.48", features = ["full"] } -tokio-metrics = { version = "0.3", features = ["rt"] } +tokio-metrics = { version = "0.4", features = ["rt"] } tokio-rustls = { version = "0.26", default-features = false } tokio-stream = { version = "0.1", features = ["sync"] } tokio-util = { version = "0.7", features = ["full"] } @@ -280,7 +280,7 @@ ulid = "1.2" username = "0.2" utoipa = { version = "4.2", features = ["time", "ulid"] } uuid = { version = "1.19", features = ["v4", "serde"] } -vrl = { version = "0.27", default-features = false, features = [ +vrl = { version = "0.29", default-features = false, features = [ "compiler", "diagnostic", "stdlib", @@ -315,8 +315,8 @@ azure_storage_blobs = { version = "0.21", default-features = false, features = [ "enable_reqwest_rustls", ] } -opendal = { version = "0.53", default-features = false } -reqsign = { version = "0.16", default-features = false } +opendal = { version = "0.55", default-features = false } +reqsign = { version = "0.18", default-features = false } quickwit-actors = { path = "quickwit-actors" } quickwit-aws = { path = "quickwit-aws" } diff --git a/quickwit/quickwit-storage/Cargo.toml b/quickwit/quickwit-storage/Cargo.toml index 4ba84c90e01..cf339d92bdd 100644 --- a/quickwit/quickwit-storage/Cargo.toml +++ b/quickwit/quickwit-storage/Cargo.toml @@ -87,7 +87,7 @@ integration-testsuite = [ "azure_storage_blobs/azurite_workaround", "gcs", # Stands for Google cloud storage. "dep:reqsign", - "reqsign/services-google", + "reqsign/google", "dep:reqwest", ] testsuite = ["mockall"] diff --git a/quickwit/quickwit-storage/src/opendal_storage/base.rs b/quickwit/quickwit-storage/src/opendal_storage/base.rs index 0466a42d1d6..558fa988d65 100644 --- a/quickwit/quickwit-storage/src/opendal_storage/base.rs +++ b/quickwit/quickwit-storage/src/opendal_storage/base.rs @@ -169,7 +169,7 @@ impl Storage for OpendalStorage { { let storage_info = self.op.info(); if storage_info.name().starts_with("sample-bucket") - && storage_info.scheme() == opendal::Scheme::Gcs + && storage_info.scheme() == "gcs" { let mut bulk_error = BulkDeleteError::default(); for (index, path) in paths.iter().enumerate() { diff --git a/quickwit/quickwit-storage/src/opendal_storage/google_cloud_storage.rs b/quickwit/quickwit-storage/src/opendal_storage/google_cloud_storage.rs index f722c6545a8..cb8216531ef 100644 --- a/quickwit/quickwit-storage/src/opendal_storage/google_cloud_storage.rs +++ b/quickwit/quickwit-storage/src/opendal_storage/google_cloud_storage.rs @@ -58,20 +58,6 @@ pub mod test_config_helpers { /// URL of the local GCP emulator. pub const LOCAL_GCP_EMULATOR_ENDPOINT: &str = "http://127.0.0.1:4443"; - /// reqsign::GoogleTokenLoad implementation for testing. - #[derive(Debug)] - pub struct DummyTokenLoader; - - #[async_trait] - impl reqsign::GoogleTokenLoad for DummyTokenLoader { - async fn load(&self, _: reqwest::Client) -> anyhow::Result> { - Ok(Some(reqsign::GoogleToken::new( - "dummy", - 86400, - "https://www.googleapis.com/auth/devstorage.full_control", - ))) - } - } /// Creates a storage connecting to a local emulated google cloud storage. pub fn new_emulated_google_cloud_storage( @@ -83,7 +69,7 @@ pub mod test_config_helpers { .bucket(&bucket) .root(&root.to_string_lossy()) .endpoint(LOCAL_GCP_EMULATOR_ENDPOINT) - .customized_token_loader(Box::new(DummyTokenLoader)); +; let store = OpendalStorage::new_google_cloud_storage(uri.clone(), cfg)?; Ok(store) } diff --git a/quickwit/quickwit-storage/tests/google_cloud_storage.rs b/quickwit/quickwit-storage/tests/google_cloud_storage.rs index 17fa37f8c7a..410862e723a 100644 --- a/quickwit/quickwit-storage/tests/google_cloud_storage.rs +++ b/quickwit/quickwit-storage/tests/google_cloud_storage.rs @@ -25,20 +25,12 @@ mod gcp_storage_test_suite { use quickwit_common::setup_logging_for_tests; use quickwit_common::uri::Uri; use quickwit_storage::test_config_helpers::{ - DummyTokenLoader, LOCAL_GCP_EMULATOR_ENDPOINT, new_emulated_google_cloud_storage, + LOCAL_GCP_EMULATOR_ENDPOINT, new_emulated_google_cloud_storage, }; - use reqsign::GoogleTokenLoad; - - pub async fn sign_gcs_request(req: &mut reqwest::Request) -> anyhow::Result<()> { - let client = reqwest::Client::new(); - let token = DummyTokenLoader - .load(client.clone()) - .await? - .ok_or_else(|| anyhow::anyhow!("Failed to obtain authentication token"))?; - - let signer = reqsign::GoogleSigner::new("storage"); - signer.sign(req, &token)?; + pub async fn sign_gcs_request(_req: &mut reqwest::Request) -> anyhow::Result<()> { + // For testing purposes, we'll skip signing since we're using the local emulator + // The emulated GCS server doesn't require proper authentication Ok(()) } From 3d93398e461f654dca652b99218c27656fb631f2 Mon Sep 17 00:00:00 2001 From: "cong.xie" Date: Thu, 18 Dec 2025 13:31:45 -0500 Subject: [PATCH 08/20] remove tests --- quickwit/quickwit-storage/tests/google_cloud_storage.rs | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/quickwit/quickwit-storage/tests/google_cloud_storage.rs b/quickwit/quickwit-storage/tests/google_cloud_storage.rs index 410862e723a..5566e017d77 100644 --- a/quickwit/quickwit-storage/tests/google_cloud_storage.rs +++ b/quickwit/quickwit-storage/tests/google_cloud_storage.rs @@ -28,11 +28,6 @@ mod gcp_storage_test_suite { LOCAL_GCP_EMULATOR_ENDPOINT, new_emulated_google_cloud_storage, }; - pub async fn sign_gcs_request(_req: &mut reqwest::Request) -> anyhow::Result<()> { - // For testing purposes, we'll skip signing since we're using the local emulator - // The emulated GCS server doesn't require proper authentication - Ok(()) - } async fn create_gcs_bucket(bucket_name: &str) -> anyhow::Result<()> { let client = reqwest::Client::new(); @@ -45,7 +40,7 @@ mod gcp_storage_test_suite { .header(reqwest::header::CONTENT_TYPE, "application/json") .build()?; - sign_gcs_request(&mut request).await?; + // Skip signing for local emulator - it doesn't require authentication let response = client.execute(request).await?; From f818ec3ea6bb4bda58840dd3840907b183a203e2 Mon Sep 17 00:00:00 2001 From: "cong.xie" Date: Thu, 18 Dec 2025 13:46:51 -0500 Subject: [PATCH 09/20] update tests --- quickwit/Cargo.lock | 43 +++++++++++++++++++ quickwit/Cargo.toml | 2 +- .../tests/google_cloud_storage.rs | 7 ++- 3 files changed, 50 insertions(+), 2 deletions(-) diff --git a/quickwit/Cargo.lock b/quickwit/Cargo.lock index c7b43c322d4..d07e9cf3d5d 100644 --- a/quickwit/Cargo.lock +++ b/quickwit/Cargo.lock @@ -8096,8 +8096,22 @@ version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea386ba750000b6e59f760a08bdcca9461809b95e6f8f209ce5724056802824f" dependencies = [ + "reqsign-command-execute-tokio", "reqsign-core", + "reqsign-file-read-tokio", "reqsign-google", + "reqsign-http-send-reqwest", +] + +[[package]] +name = "reqsign-command-execute-tokio" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b53d033600f533135afec8e97be99c80fcf8177f6285da6c7300955d5377a1" +dependencies = [ + "async-trait", + "reqsign-core", + "tokio", ] [[package]] @@ -8122,6 +8136,18 @@ dependencies = [ "windows-sys 0.61.2", ] +[[package]] +name = "reqsign-file-read-tokio" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "669ea66036266a9ac371d2e63cc7d345e69994da0168b4e6f3487fe21e126f76" +dependencies = [ + "anyhow", + "async-trait", + "reqsign-core", + "tokio", +] + [[package]] name = "reqsign-google" version = "2.0.1" @@ -8142,6 +8168,23 @@ dependencies = [ "sha2", ] +[[package]] +name = "reqsign-http-send-reqwest" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46186bce769674f9200ad01af6f2ca42de3e819ddc002fff1edae135bfb6cd9c" +dependencies = [ + "anyhow", + "async-trait", + "bytes", + "futures-channel", + "http 1.4.0", + "http-body-util", + "reqsign-core", + "reqwest 0.12.26", + "wasm-bindgen-futures", +] + [[package]] name = "reqwest" version = "0.11.27" diff --git a/quickwit/Cargo.toml b/quickwit/Cargo.toml index 50a309df9eb..68d67027f4b 100644 --- a/quickwit/Cargo.toml +++ b/quickwit/Cargo.toml @@ -316,7 +316,7 @@ azure_storage_blobs = { version = "0.21", default-features = false, features = [ ] } opendal = { version = "0.55", default-features = false } -reqsign = { version = "0.18", default-features = false } +reqsign = { version = "0.18", default-features = false, features = ["google", "default-context"] } quickwit-actors = { path = "quickwit-actors" } quickwit-aws = { path = "quickwit-aws" } diff --git a/quickwit/quickwit-storage/tests/google_cloud_storage.rs b/quickwit/quickwit-storage/tests/google_cloud_storage.rs index 5566e017d77..6cdce56f950 100644 --- a/quickwit/quickwit-storage/tests/google_cloud_storage.rs +++ b/quickwit/quickwit-storage/tests/google_cloud_storage.rs @@ -28,6 +28,11 @@ mod gcp_storage_test_suite { LOCAL_GCP_EMULATOR_ENDPOINT, new_emulated_google_cloud_storage, }; + pub async fn sign_gcs_request(req: &mut reqwest::Request) -> anyhow::Result<()> { + let signer = reqsign::google::default_signer("storage"); + signer.sign(req).await?; + Ok(()) + } async fn create_gcs_bucket(bucket_name: &str) -> anyhow::Result<()> { let client = reqwest::Client::new(); @@ -40,7 +45,7 @@ mod gcp_storage_test_suite { .header(reqwest::header::CONTENT_TYPE, "application/json") .build()?; - // Skip signing for local emulator - it doesn't require authentication + sign_gcs_request(&mut request).await?; let response = client.execute(request).await?; From 53df7455017923c5fcae3b0b05ed52a01c0eb626 Mon Sep 17 00:00:00 2001 From: "cong.xie" Date: Thu, 18 Dec 2025 14:00:19 -0500 Subject: [PATCH 10/20] update 3rd license --- LICENSE-3rdparty.csv | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/LICENSE-3rdparty.csv b/LICENSE-3rdparty.csv index 49474e3d477..2e0c4c6f882 100644 --- a/LICENSE-3rdparty.csv +++ b/LICENSE-3rdparty.csv @@ -224,7 +224,6 @@ indexmap,https://github.com/bluss/indexmap,Apache-2.0 OR MIT,The indexmap Author indexmap,https://github.com/indexmap-rs/indexmap,Apache-2.0 OR MIT,The indexmap Authors indicatif,https://github.com/console-rs/indicatif,MIT,The indicatif Authors inout,https://github.com/RustCrypto/utils,MIT OR Apache-2.0,RustCrypto Developers -instant,https://github.com/sebcrozet/instant,BSD-3-Clause,sebcrozet inventory,https://github.com/dtolnay/inventory,MIT OR Apache-2.0,David Tolnay ipnet,https://github.com/krisprice/ipnet,MIT OR Apache-2.0,Kris Price ipnetwork,https://github.com/achanda/ipnetwork,MIT OR Apache-2.0,"Abhishek Chanda , Linus Färnstrand " @@ -315,9 +314,7 @@ ownedbytes,https://github.com/quickwit-oss/tantivy,MIT,"Paul Masurel papergrid,https://github.com/zhiburt/tabled,MIT,Maxim Zhiburt -parking_lot,https://github.com/Amanieu/parking_lot,Apache-2.0 OR MIT,Amanieu d'Antras parking_lot,https://github.com/Amanieu/parking_lot,MIT OR Apache-2.0,Amanieu d'Antras -parking_lot_core,https://github.com/Amanieu/parking_lot,Apache-2.0 OR MIT,Amanieu d'Antras parking_lot_core,https://github.com/Amanieu/parking_lot,MIT OR Apache-2.0,Amanieu d'Antras password-hash,https://github.com/RustCrypto/traits/tree/master/password-hash,MIT OR Apache-2.0,RustCrypto Developers pbkdf2,https://github.com/RustCrypto/password-hashes/tree/master/pbkdf2,MIT OR Apache-2.0,RustCrypto Developers @@ -365,6 +362,7 @@ prost-build,https://github.com/tokio-rs/prost,Apache-2.0,"Dan Burkert , Lucio Franco , Casper Meijn , Tokio Contributors " prost-types,https://github.com/tokio-rs/prost,Apache-2.0,"Dan Burkert , Lucio Franco , Casper Meijn , Tokio Contributors " protobuf,https://github.com/stepancheg/rust-protobuf,MIT,Stepan Koltsov +protobuf-support,https://github.com/stepancheg/rust-protobuf,MIT,Stepan Koltsov quanta,https://github.com/metrics-rs/quanta,MIT,Toby Lawrence quick-error,http://github.com/tailhook/quick-error,MIT OR Apache-2.0,"Paul Colomiets , Colin Kiegel " quinn,https://github.com/quinn-rs/quinn,MIT OR Apache-2.0,The quinn Authors @@ -549,7 +547,7 @@ wasm-bindgen-futures,https://github.com/wasm-bindgen/wasm-bindgen/tree/master/cr wasm-bindgen-macro,https://github.com/wasm-bindgen/wasm-bindgen/tree/master/crates/macro,MIT OR Apache-2.0,The wasm-bindgen Developers wasm-bindgen-macro-support,https://github.com/wasm-bindgen/wasm-bindgen/tree/master/crates/macro-support,MIT OR Apache-2.0,The wasm-bindgen Developers wasm-bindgen-shared,https://github.com/wasm-bindgen/wasm-bindgen/tree/master/crates/shared,MIT OR Apache-2.0,The wasm-bindgen Developers -wasm-timer,https://github.com/tomaka/wasm-timer,MIT,Pierre Krieger +wasmtimer,https://github.com/whizsid/wasmtimer-rs,MIT,"WhizSid , Pierre Krieger " web-sys,https://github.com/wasm-bindgen/wasm-bindgen/tree/master/crates/web-sys,MIT OR Apache-2.0,The wasm-bindgen Developers web-time,https://github.com/daxpedda/web-time,MIT OR Apache-2.0,The web-time Authors webpki-roots,https://github.com/rustls/webpki-roots,CDLA-Permissive-2.0,The webpki-roots Authors From 13238188930c59e5404f85e0f994fd3463094b0a Mon Sep 17 00:00:00 2001 From: "cong.xie" Date: Thu, 18 Dec 2025 14:12:26 -0500 Subject: [PATCH 11/20] fix tests --- quickwit/Cargo.lock | 1 + quickwit/quickwit-storage/Cargo.toml | 1 + .../tests/google_cloud_storage.rs | 24 ++++++++++++++++++- 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/quickwit/Cargo.lock b/quickwit/Cargo.lock index d07e9cf3d5d..4c53cb04eee 100644 --- a/quickwit/Cargo.lock +++ b/quickwit/Cargo.lock @@ -7644,6 +7644,7 @@ dependencies = [ "bytesize", "fnv", "futures", + "http 1.4.0", "http-body-util", "hyper 1.8.1", "lru 0.16.2", diff --git a/quickwit/quickwit-storage/Cargo.toml b/quickwit/quickwit-storage/Cargo.toml index cf339d92bdd..6c1e6ba3d56 100644 --- a/quickwit/quickwit-storage/Cargo.toml +++ b/quickwit/quickwit-storage/Cargo.toml @@ -58,6 +58,7 @@ reqsign = { workspace = true, optional = true } reqwest = { workspace = true, optional = true } [dev-dependencies] +http = { workspace = true } mockall = { workspace = true } proptest = { workspace = true } tokio = { workspace = true } diff --git a/quickwit/quickwit-storage/tests/google_cloud_storage.rs b/quickwit/quickwit-storage/tests/google_cloud_storage.rs index 6cdce56f950..63fe56376f2 100644 --- a/quickwit/quickwit-storage/tests/google_cloud_storage.rs +++ b/quickwit/quickwit-storage/tests/google_cloud_storage.rs @@ -30,7 +30,29 @@ mod gcp_storage_test_suite { pub async fn sign_gcs_request(req: &mut reqwest::Request) -> anyhow::Result<()> { let signer = reqsign::google::default_signer("storage"); - signer.sign(req).await?; + + // Create http::Request and extract parts for signing + let http_req = http::Request::builder() + .method(req.method()) + .uri(req.url().as_str()) + .version(http::Version::HTTP_11) + .body(())?; + + let (mut parts, _body) = http_req.into_parts(); + + // Copy headers from reqwest request + parts.headers = req.headers().clone(); + + // Sign the request parts + signer.sign(&mut parts, None).await?; + + // Update the original request with signed headers + let headers = req.headers_mut(); + headers.clear(); + for (key, value) in &parts.headers { + headers.insert(key.clone(), value.clone()); + } + Ok(()) } From a47d9e6a4563e28ec379cd9c76901546f12a82ca Mon Sep 17 00:00:00 2001 From: "cong.xie" Date: Thu, 18 Dec 2025 16:11:56 -0500 Subject: [PATCH 12/20] add more deps --- quickwit/Cargo.lock | 186 +- quickwit/Cargo.toml | 18 +- quickwit/quickwit-codegen/Cargo.toml | 1 + quickwit/quickwit-codegen/example/Cargo.toml | 1 + .../example/src/codegen/hello.rs | 30 +- quickwit/quickwit-codegen/src/codegen.rs | 2 +- quickwit/quickwit-ingest/Cargo.toml | 1 + .../src/codegen/ingest_service.rs | 81 +- quickwit/quickwit-proto/Cargo.toml | 2 + quickwit/quickwit-proto/build.rs | 23 +- .../src/codegen/jaeger/jaeger.api_v2.rs | 4 +- .../src/codegen/jaeger/jaeger.storage.v1.rs | 1932 ++++++++--------- .../opentelemetry.proto.collector.logs.v1.rs | 11 +- ...pentelemetry.proto.collector.metrics.v1.rs | 10 +- .../opentelemetry.proto.collector.trace.v1.rs | 10 +- .../opentelemetry.proto.logs.v1.rs | 3 +- .../opentelemetry.proto.metrics.v1.rs | 172 +- .../opentelemetry.proto.trace.v1.rs | 12 +- .../src/codegen/quickwit/quickwit.cluster.rs | 10 +- .../src/codegen/quickwit/quickwit.common.rs | 2 +- .../quickwit/quickwit.control_plane.rs | 66 +- .../codegen/quickwit/quickwit.developer.rs | 8 +- .../src/codegen/quickwit/quickwit.indexing.rs | 8 +- .../quickwit/quickwit.ingest.ingester.rs | 102 +- .../quickwit/quickwit.ingest.router.rs | 10 +- .../src/codegen/quickwit/quickwit.ingest.rs | 11 +- .../codegen/quickwit/quickwit.metastore.rs | 378 ++-- .../src/codegen/quickwit/quickwit.search.rs | 143 +- 28 files changed, 1687 insertions(+), 1550 deletions(-) diff --git a/quickwit/Cargo.lock b/quickwit/Cargo.lock index 4c53cb04eee..b9a8f9bb0af 100644 --- a/quickwit/Cargo.lock +++ b/quickwit/Cargo.lock @@ -6568,6 +6568,16 @@ dependencies = [ "prost-derive 0.13.5", ] +[[package]] +name = "prost" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7231bd9b3d3d33c86b58adbac74b5ec0ad9f496b19d22801d773636feaa95f3d" +dependencies = [ + "bytes", + "prost-derive 0.14.1", +] + [[package]] name = "prost-build" version = "0.13.5" @@ -6588,6 +6598,28 @@ dependencies = [ "tempfile", ] +[[package]] +name = "prost-build" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac6c3320f9abac597dcbc668774ef006702672474aad53c6d596b62e487b40b1" +dependencies = [ + "heck 0.5.0", + "itertools 0.14.0", + "log", + "multimap", + "once_cell", + "petgraph", + "prettyplease", + "prost 0.14.1", + "prost-types 0.14.1", + "pulldown-cmark", + "pulldown-cmark-to-cmark", + "regex", + "syn 2.0.111", + "tempfile", +] + [[package]] name = "prost-derive" version = "0.11.9" @@ -6614,6 +6646,19 @@ dependencies = [ "syn 2.0.111", ] +[[package]] +name = "prost-derive" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9120690fafc389a67ba3803df527d0ec9cbbc9cc45e4cc20b332996dfb672425" +dependencies = [ + "anyhow", + "itertools 0.14.0", + "proc-macro2", + "quote", + "syn 2.0.111", +] + [[package]] name = "prost-reflect" version = "0.14.7" @@ -6643,6 +6688,15 @@ dependencies = [ "prost 0.13.5", ] +[[package]] +name = "prost-types" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9b4db3d6da204ed77bb26ba83b6122a73aeb2e87e25fbf7ad2e84c4ccbf8f72" +dependencies = [ + "prost 0.14.1", +] + [[package]] name = "protobuf" version = "3.7.2" @@ -6688,6 +6742,26 @@ dependencies = [ "psl-types", ] +[[package]] +name = "pulldown-cmark" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e8bbe1a966bd2f362681a44f6edce3c2310ac21e4d5067a6e7ec396297a6ea0" +dependencies = [ + "bitflags 2.10.0", + "memchr", + "unicase", +] + +[[package]] +name = "pulldown-cmark-to-cmark" +version = "21.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8246feae3db61428fd0bb94285c690b460e4517d83152377543ca802357785f1" +dependencies = [ + "pulldown-cmark", +] + [[package]] name = "pulsar" version = "6.6.0" @@ -6711,7 +6785,7 @@ dependencies = [ "openidconnect", "pem 3.0.6", "prost 0.13.5", - "prost-build", + "prost-build 0.13.5", "prost-derive 0.13.5", "rand 0.8.5", "regex", @@ -6893,7 +6967,7 @@ dependencies = [ "time", "tokio", "tokio-stream", - "tonic 0.13.1", + "tonic 0.14.2", "tracing", "utoipa", ] @@ -6907,11 +6981,12 @@ dependencies = [ "heck 0.5.0", "prettyplease", "proc-macro2", - "prost-build", + "prost-build 0.14.1", "quote", "serde", "syn 2.0.111", "tonic-build", + "tonic-prost-build", ] [[package]] @@ -6924,7 +6999,7 @@ dependencies = [ "futures", "http 1.4.0", "mockall", - "prost 0.13.5", + "prost 0.14.1", "quickwit-actors", "quickwit-codegen", "quickwit-common", @@ -6933,7 +7008,8 @@ dependencies = [ "thiserror 2.0.17", "tokio", "tokio-stream", - "tonic 0.13.1", + "tonic 0.14.2", + "tonic-prost", "tower 0.5.2", "utoipa", ] @@ -6978,7 +7054,7 @@ dependencies = [ "tokio", "tokio-metrics", "tokio-stream", - "tonic 0.13.1", + "tonic 0.14.2", "tower 0.5.2", "tracing", ] @@ -7160,7 +7236,7 @@ dependencies = [ "openssl", "percent-encoding", "proptest", - "prost 0.13.5", + "prost 0.14.1", "pulsar", "quickwit-actors", "quickwit-aws", @@ -7209,7 +7285,7 @@ dependencies = [ "mockall", "mrecordlog", "once_cell", - "prost 0.13.5", + "prost 0.14.1", "quickwit-actors", "quickwit-cluster", "quickwit-codegen", @@ -7225,7 +7301,8 @@ dependencies = [ "tempfile", "thiserror 2.0.17", "tokio", - "tonic 0.13.1", + "tonic 0.14.2", + "tonic-prost", "tower 0.5.2", "tracing", "ulid", @@ -7259,7 +7336,7 @@ dependencies = [ "serde_json", "tempfile", "tokio", - "tonic 0.13.1", + "tonic 0.14.2", "tracing", "tracing-subscriber", ] @@ -7272,8 +7349,8 @@ dependencies = [ "itertools 0.14.0", "once_cell", "postcard", - "prost 0.13.5", - "prost-types 0.13.5", + "prost 0.14.1", + "prost-types 0.14.1", "quickwit-actors", "quickwit-cluster", "quickwit-common", @@ -7293,7 +7370,7 @@ dependencies = [ "time", "tokio", "tokio-stream", - "tonic 0.13.1", + "tonic 0.14.2", "tracing", ] @@ -7392,7 +7469,7 @@ dependencies = [ "async-trait", "hex", "once_cell", - "prost 0.13.5", + "prost 0.14.1", "quickwit-common", "quickwit-config", "quickwit-ingest", @@ -7403,7 +7480,7 @@ dependencies = [ "thiserror 2.0.17", "time", "tokio", - "tonic 0.13.1", + "tonic 0.14.2", "tracing", ] @@ -7421,9 +7498,9 @@ dependencies = [ "http 1.4.0", "mockall", "opentelemetry", - "prost 0.13.5", - "prost-build", - "prost-types 0.13.5", + "prost 0.14.1", + "prost-build 0.14.1", + "prost-types 0.14.1", "quickwit-actors", "quickwit-codegen", "quickwit-common", @@ -7433,8 +7510,10 @@ dependencies = [ "sqlx", "thiserror 2.0.17", "tokio", - "tonic 0.13.1", + "tonic 0.14.2", "tonic-build", + "tonic-prost", + "tonic-prost-build", "tower 0.5.2", "tracing", "tracing-opentelemetry", @@ -7519,7 +7598,7 @@ dependencies = [ "pin-project", "postcard", "proptest", - "prost 0.13.5", + "prost 0.14.1", "quickwit-common", "quickwit-config", "quickwit-directories", @@ -7578,8 +7657,8 @@ dependencies = [ "opentelemetry", "percent-encoding", "pprof", - "prost 0.13.5", - "prost-types 0.13.5", + "prost 0.14.1", + "prost-types 0.14.1", "quickwit-actors", "quickwit-cluster", "quickwit-common", @@ -7613,7 +7692,7 @@ dependencies = [ "tokio-rustls 0.26.4", "tokio-stream", "tokio-util", - "tonic 0.13.1", + "tonic 0.14.2", "tonic-health", "tonic-reflection", "tower 0.5.2", @@ -10388,9 +10467,9 @@ dependencies = [ [[package]] name = "tonic" -version = "0.13.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e581ba15a835f4d9ea06c55ab1bd4dce26fc53752c69a04aac00703bfb49ba9" +checksum = "eb7613188ce9f7df5bfe185db26c5814347d110db17920415cf2fbcad85e7203" dependencies = [ "async-trait", "axum 0.8.7", @@ -10406,9 +10485,9 @@ dependencies = [ "hyper-util", "percent-encoding", "pin-project", - "prost 0.13.5", "rustls-native-certs", - "socket2 0.5.10", + "socket2 0.6.1", + "sync_wrapper 1.0.2", "tokio", "tokio-rustls 0.26.4", "tokio-stream", @@ -10421,41 +10500,68 @@ dependencies = [ [[package]] name = "tonic-build" -version = "0.13.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac6f67be712d12f0b41328db3137e0d0757645d8904b4cb7d51cd9c2279e847" +checksum = "4c40aaccc9f9eccf2cd82ebc111adc13030d23e887244bc9cfa5d1d636049de3" dependencies = [ "prettyplease", "proc-macro2", - "prost-build", - "prost-types 0.13.5", "quote", "syn 2.0.111", ] [[package]] name = "tonic-health" -version = "0.13.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb87334d340313fefa513b6e60794d44a86d5f039b523229c99c323e4e19ca4b" +checksum = "2a82868bf299e0a1d2e8dce0dc33a46c02d6f045b2c1f1d6cc8dc3d0bf1812ef" dependencies = [ - "prost 0.13.5", + "prost 0.14.1", "tokio", "tokio-stream", - "tonic 0.13.1", + "tonic 0.14.2", + "tonic-prost", +] + +[[package]] +name = "tonic-prost" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66bd50ad6ce1252d87ef024b3d64fe4c3cf54a86fb9ef4c631fdd0ded7aeaa67" +dependencies = [ + "bytes", + "prost 0.14.1", + "tonic 0.14.2", +] + +[[package]] +name = "tonic-prost-build" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4a16cba4043dc3ff43fcb3f96b4c5c154c64cbd18ca8dce2ab2c6a451d058a2" +dependencies = [ + "prettyplease", + "proc-macro2", + "prost-build 0.14.1", + "prost-types 0.14.1", + "quote", + "syn 2.0.111", + "tempfile", + "tonic-build", ] [[package]] name = "tonic-reflection" -version = "0.13.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9687bd5bfeafebdded2356950f278bba8226f0b32109537c4253406e09aafe1" +checksum = "34da53e8387581d66db16ff01f98a70b426b091fdf76856e289d5c1bd386ed7b" dependencies = [ - "prost 0.13.5", - "prost-types 0.13.5", + "prost 0.14.1", + "prost-types 0.14.1", "tokio", "tokio-stream", - "tonic 0.13.1", + "tonic 0.14.2", + "tonic-prost", ] [[package]] diff --git a/quickwit/Cargo.toml b/quickwit/Cargo.toml index 68d67027f4b..5a461e16912 100644 --- a/quickwit/Cargo.toml +++ b/quickwit/Cargo.toml @@ -174,11 +174,11 @@ prettyplease = "0.2" proc-macro2 = "1.0" prometheus = { version = "0.14", features = ["process"] } proptest = "1" -prost = { version = "0.13", default-features = false, features = [ - "prost-derive", +prost = { version = "0.14", default-features = false, features = [ + "derive", ] } -prost-build = "0.13" -prost-types = "0.13" +prost-build = "0.14" +prost-types = "0.14" pulsar = { version = "6.6", default-features = false, features = [ "auth-oauth2", "compression", @@ -244,15 +244,17 @@ tokio-rustls = { version = "0.26", default-features = false } tokio-stream = { version = "0.1", features = ["sync"] } tokio-util = { version = "0.7", features = ["full"] } toml = "0.9" -tonic = { version = "0.13", features = [ +tonic = { version = "0.14", features = [ "_tls-any", "gzip", "tls-native-roots", "zstd", ] } -tonic-build = "0.13" -tonic-health = "0.13" -tonic-reflection = "0.13" +tonic-build = "0.14" +tonic-health = "0.14" +tonic-prost = "0.14" +tonic-prost-build = "0.14" +tonic-reflection = "0.14" tower = { version = "0.5", features = [ "balance", "buffer", diff --git a/quickwit/quickwit-codegen/Cargo.toml b/quickwit/quickwit-codegen/Cargo.toml index 3063293e0ac..21ae245b16c 100644 --- a/quickwit/quickwit-codegen/Cargo.toml +++ b/quickwit/quickwit-codegen/Cargo.toml @@ -19,6 +19,7 @@ prost-build = { workspace = true } quote = { workspace = true } syn = { workspace = true } tonic-build = { workspace = true } +tonic-prost-build = { workspace = true } [dev-dependencies] futures = { workspace = true } diff --git a/quickwit/quickwit-codegen/example/Cargo.toml b/quickwit/quickwit-codegen/example/Cargo.toml index e6380b1fb20..0d21ff6bf9e 100644 --- a/quickwit/quickwit-codegen/example/Cargo.toml +++ b/quickwit/quickwit-codegen/example/Cargo.toml @@ -23,6 +23,7 @@ thiserror = { workspace = true } tokio = { workspace = true } tokio-stream = { workspace = true } tonic = { workspace = true } +tonic-prost = { workspace = true } tower = { workspace = true } utoipa = { workspace = true } diff --git a/quickwit/quickwit-codegen/example/src/codegen/hello.rs b/quickwit/quickwit-codegen/example/src/codegen/hello.rs index 8f1f59a4a18..bacf8b3edac 100644 --- a/quickwit/quickwit-codegen/example/src/codegen/hello.rs +++ b/quickwit/quickwit-codegen/example/src/codegen/hello.rs @@ -1,36 +1,36 @@ // This file is @generated by prost-build. #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct HelloRequest { #[prost(string, tag = "1")] pub name: ::prost::alloc::string::String, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct HelloResponse { #[prost(string, tag = "1")] pub message: ::prost::alloc::string::String, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct GoodbyeRequest { #[prost(string, tag = "1")] pub name: ::prost::alloc::string::String, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct GoodbyeResponse { #[prost(string, tag = "1")] pub message: ::prost::alloc::string::String, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct PingRequest { #[prost(string, tag = "1")] pub name: ::prost::alloc::string::String, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct PingResponse { #[prost(string, tag = "1")] pub message: ::prost::alloc::string::String, @@ -59,14 +59,14 @@ pub type HelloStream = quickwit_common::ServiceStream>; #[cfg_attr(any(test, feature = "testsuite"), mockall::automock)] #[async_trait::async_trait] pub trait Hello: std::fmt::Debug + Send + Sync + 'static { - /// Says hello. + ///Says hello. async fn hello(&self, request: HelloRequest) -> crate::HelloResult; - /// Says goodbye. + ///Says goodbye. async fn goodbye( &self, request: GoodbyeRequest, ) -> crate::HelloResult; - /// Ping pong. + ///Ping pong. async fn ping( &self, request: quickwit_common::ServiceStream, @@ -964,7 +964,7 @@ pub mod hello_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static("/hello.Hello/Hello"); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new("hello.Hello", "Hello")); @@ -986,7 +986,7 @@ pub mod hello_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static("/hello.Hello/Goodbye"); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new("hello.Hello", "Goodbye")); @@ -1008,7 +1008,7 @@ pub mod hello_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static("/hello.Hello/Ping"); let mut req = request.into_streaming_request(); req.extensions_mut().insert(GrpcMethod::new("hello.Hello", "Ping")); @@ -1155,7 +1155,7 @@ pub mod hello_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = HelloSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -1198,7 +1198,7 @@ pub mod hello_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = GoodbyeSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -1244,7 +1244,7 @@ pub mod hello_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = PingSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, diff --git a/quickwit/quickwit-codegen/src/codegen.rs b/quickwit/quickwit-codegen/src/codegen.rs index 8c6249f6190..a7d6d311be0 100644 --- a/quickwit/quickwit-codegen/src/codegen.rs +++ b/quickwit/quickwit-codegen/src/codegen.rs @@ -138,7 +138,7 @@ impl QuickwitServiceGenerator { ) -> Self { let inner = Box::new(WithSuffixServiceGenerator::new( "Grpc", - tonic_build::configure().service_generator(), + tonic_prost_build::configure().service_generator(), )); Self { result_type_path, diff --git a/quickwit/quickwit-ingest/Cargo.toml b/quickwit/quickwit-ingest/Cargo.toml index 5ac233859f8..ada0add0bc8 100644 --- a/quickwit/quickwit-ingest/Cargo.toml +++ b/quickwit/quickwit-ingest/Cargo.toml @@ -30,6 +30,7 @@ serde_json_borrow = { workspace = true } thiserror = { workspace = true } tokio = { workspace = true } tonic = { workspace = true } +tonic-prost = { workspace = true } tower = { workspace = true } tracing = { workspace = true } ulid = { workspace = true } diff --git a/quickwit/quickwit-ingest/src/codegen/ingest_service.rs b/quickwit/quickwit-ingest/src/codegen/ingest_service.rs index f08918078bd..435c9b6d2f9 100644 --- a/quickwit/quickwit-ingest/src/codegen/ingest_service.rs +++ b/quickwit/quickwit-ingest/src/codegen/ingest_service.rs @@ -1,24 +1,24 @@ // This file is @generated by prost-build. #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct QueueExistsRequest { #[prost(string, tag = "1")] pub queue_id: ::prost::alloc::string::String, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct CreateQueueRequest { #[prost(string, tag = "1")] pub queue_id: ::prost::alloc::string::String, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct CreateQueueIfNotExistsRequest { #[prost(string, tag = "1")] pub queue_id: ::prost::alloc::string::String, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct CreateQueueIfNotExistsResponse { #[prost(string, tag = "1")] pub queue_id: ::prost::alloc::string::String, @@ -26,7 +26,7 @@ pub struct CreateQueueIfNotExistsResponse { pub created: bool, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct DropQueueRequest { #[prost(string, tag = "1")] pub queue_id: ::prost::alloc::string::String, @@ -40,14 +40,14 @@ pub struct IngestRequest { pub commit: i32, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct IngestResponse { #[prost(uint64, tag = "1")] pub num_docs_for_processing: u64, } /// Fetch messages with position strictly after `start_after`. #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct FetchRequest { #[prost(string, tag = "1")] pub index_id: ::prost::alloc::string::String, @@ -57,7 +57,7 @@ pub struct FetchRequest { pub num_bytes_limit: ::core::option::Option, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct FetchResponse { #[prost(uint64, optional, tag = "1")] pub first_position: ::core::option::Option, @@ -65,7 +65,7 @@ pub struct FetchResponse { pub doc_batch: ::core::option::Option, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct DocBatch { #[prost(string, tag = "1")] pub index_id: ::prost::alloc::string::String, @@ -89,7 +89,7 @@ pub struct DocBatch { /// earlier than this position can yield undefined result: /// the truncated records may or may not be returned. #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct SuggestTruncateRequest { #[prost(string, tag = "1")] pub index_id: ::prost::alloc::string::String, @@ -97,16 +97,16 @@ pub struct SuggestTruncateRequest { pub up_to_position_included: u64, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct TailRequest { #[prost(string, tag = "1")] pub index_id: ::prost::alloc::string::String, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct ListQueuesRequest {} #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ListQueuesResponse { #[prost(string, repeated, tag = "1")] pub queues: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, @@ -170,30 +170,31 @@ impl RpcName for TailRequest { #[cfg_attr(any(test, feature = "testsuite"), mockall::automock)] #[async_trait::async_trait] pub trait IngestService: std::fmt::Debug + Send + Sync + 'static { - /// Ingests document in a given queue. + ///Ingests document in a given queue. /// - /// Upon any kind of error, the client should - /// - retry to get at least once delivery. - /// - not retry to get at most once delivery. + ///Upon any kind of error, the client should /// - /// Exactly once delivery is not supported yet. + ///* retry to get at least once delivery. + ///* not retry to get at most once delivery. + /// + ///Exactly once delivery is not supported yet. async fn ingest(&self, request: IngestRequest) -> crate::Result; - /// Fetches record from a given queue. + ///Fetches record from a given queue. /// - /// Records are returned in order. + ///Records are returned in order. /// - /// The returned `FetchResponse` object is meant to be read with the - /// `crate::iter_records` function. + ///The returned `FetchResponse` object is meant to be read with the + ///`crate::iter_records` function. /// - /// Fetching does not necessarily return all of the available records. - /// If returning all records would exceed `FETCH_PAYLOAD_LIMIT` (2MB), - /// the response will be partial. + ///Fetching does not necessarily return all of the available records. + ///If returning all records would exceed `FETCH_PAYLOAD_LIMIT` (2MB), + ///the response will be partial. async fn fetch(&self, request: FetchRequest) -> crate::Result; - /// Returns a batch containing the last records. + ///Returns a batch containing the last records. /// - /// It returns the last documents, from the newest - /// to the oldest, and stops as soon as `FETCH_PAYLOAD_LIMIT` (2MB) - /// is exceeded. + ///It returns the last documents, from the newest + ///to the oldest, and stops as soon as `FETCH_PAYLOAD_LIMIT` (2MB) + ///is exceeded. async fn tail(&self, request: TailRequest) -> crate::Result; } #[derive(Debug, Clone)] @@ -1009,8 +1010,9 @@ pub mod ingest_service_grpc_client { /// Ingests document in a given queue. /// /// Upon any kind of error, the client should - /// - retry to get at least once delivery. - /// - not retry to get at most once delivery. + /// + /// * retry to get at least once delivery. + /// * not retry to get at most once delivery. /// /// Exactly once delivery is not supported yet. pub async fn ingest( @@ -1025,7 +1027,7 @@ pub mod ingest_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/ingest_service.IngestService/Ingest", ); @@ -1056,7 +1058,7 @@ pub mod ingest_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/ingest_service.IngestService/Fetch", ); @@ -1082,7 +1084,7 @@ pub mod ingest_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/ingest_service.IngestService/Tail", ); @@ -1109,8 +1111,9 @@ pub mod ingest_service_grpc_server { /// Ingests document in a given queue. /// /// Upon any kind of error, the client should - /// - retry to get at least once delivery. - /// - not retry to get at most once delivery. + /// + /// * retry to get at least once delivery. + /// * not retry to get at most once delivery. /// /// Exactly once delivery is not supported yet. async fn ingest( @@ -1247,7 +1250,7 @@ pub mod ingest_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = IngestSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -1291,7 +1294,7 @@ pub mod ingest_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = FetchSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -1335,7 +1338,7 @@ pub mod ingest_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = TailSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, diff --git a/quickwit/quickwit-proto/Cargo.toml b/quickwit/quickwit-proto/Cargo.toml index 1d68bc539a0..753d62b196d 100644 --- a/quickwit/quickwit-proto/Cargo.toml +++ b/quickwit/quickwit-proto/Cargo.toml @@ -32,6 +32,7 @@ tonic = { workspace = true, features = [ "server", "channel", ] } +tonic-prost = { workspace = true } tower = { workspace = true } tracing = { workspace = true } tracing-opentelemetry = { workspace = true } @@ -50,6 +51,7 @@ mockall = { workspace = true } glob = "0.3" prost-build = { workspace = true } tonic-build = { workspace = true } +tonic-prost-build = { workspace = true } quickwit-codegen = { workspace = true } diff --git a/quickwit/quickwit-proto/build.rs b/quickwit/quickwit-proto/build.rs index 2dd109cf533..376d7a18a76 100644 --- a/quickwit/quickwit-proto/build.rs +++ b/quickwit/quickwit-proto/build.rs @@ -147,7 +147,6 @@ fn main() -> Result<(), Box> { .extern_path(".quickwit.common.IndexUid", "crate::types::IndexUid") .extern_path(".quickwit.ingest.Position", "crate::types::Position") .extern_path(".quickwit.ingest.ShardId", "crate::types::ShardId") - .type_attribute("Shard", "#[derive(Eq)]") .field_attribute( "Shard.follower_id", "#[serde(default, skip_serializing_if = \"Option::is_none\")]", @@ -190,33 +189,31 @@ fn main() -> Result<(), Box> { .file_descriptor_set_path("src/codegen/quickwit/search_descriptor.bin") .protoc_arg("--experimental_allow_proto3_optional"); - tonic_build::configure() + tonic_prost_build::configure() .enum_attribute(".", "#[serde(rename_all=\"snake_case\")]") .type_attribute( ".", "#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)]", ) - .type_attribute("PartialHit", "#[derive(Eq, Hash)]") .type_attribute("PartialHit.sort_value", "#[derive(Copy)]") - .type_attribute("SearchRequest", "#[derive(Eq, Hash)]") - .type_attribute("ListFieldSerialized", "#[derive(Eq)]") .type_attribute("SortByValue", "#[derive(Ord, PartialOrd)]") - .type_attribute("SortField", "#[derive(Eq, Hash)]") + .type_attribute("SearchRequest", "#[derive(Hash, Eq)]") + .type_attribute("PartialHit", "#[derive(Hash, Eq)]") .out_dir("src/codegen/quickwit") - .compile_protos_with_config(prost_config, &["protos/quickwit/search.proto"], &["protos"])?; + .compile_with_config(prost_config, &[std::path::PathBuf::from("protos/quickwit/search.proto")], &[std::path::PathBuf::from("protos")])?; // Jaeger proto let protos = find_protos("protos/third-party/jaeger"); let mut prost_config = prost_build::Config::default(); - prost_config.type_attribute("Operation", "#[derive(Eq, Ord, PartialOrd)]"); + prost_config.type_attribute("Operation", "#[derive(Ord, PartialOrd)]"); - tonic_build::configure() + tonic_prost_build::configure() .out_dir("src/codegen/jaeger") - .compile_protos_with_config( + .compile_with_config( prost_config, &protos, - &["protos/third-party/jaeger", "protos/third-party"], + &[std::path::PathBuf::from("protos/third-party/jaeger"), std::path::PathBuf::from("protos/third-party")], )?; // OTEL proto @@ -224,7 +221,7 @@ fn main() -> Result<(), Box> { prost_config.protoc_arg("--experimental_allow_proto3_optional"); let protos = find_protos("protos/third-party/opentelemetry"); - tonic_build::configure() + tonic_prost_build::configure() .type_attribute(".", "#[derive(serde::Serialize, serde::Deserialize)]") .type_attribute("StatusCode", r#"#[serde(rename_all = "snake_case")]"#) .type_attribute( @@ -232,7 +229,7 @@ fn main() -> Result<(), Box> { r#"#[derive(utoipa::ToSchema)]"#, ) .out_dir("src/codegen/opentelemetry") - .compile_protos_with_config(prost_config, &protos, &["protos/third-party"])?; + .compile_with_config(prost_config, &protos, &[std::path::PathBuf::from("protos/third-party")])?; Ok(()) } diff --git a/quickwit/quickwit-proto/src/codegen/jaeger/jaeger.api_v2.rs b/quickwit/quickwit-proto/src/codegen/jaeger/jaeger.api_v2.rs index 5afca901e56..62c517f5232 100644 --- a/quickwit/quickwit-proto/src/codegen/jaeger/jaeger.api_v2.rs +++ b/quickwit/quickwit-proto/src/codegen/jaeger/jaeger.api_v2.rs @@ -23,7 +23,7 @@ pub struct Log { #[prost(message, repeated, tag = "2")] pub fields: ::prost::alloc::vec::Vec, } -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct SpanRef { #[prost(bytes = "vec", tag = "1")] pub trace_id: ::prost::alloc::vec::Vec, @@ -101,7 +101,7 @@ pub struct Batch { #[prost(message, optional, tag = "2")] pub process: ::core::option::Option, } -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct DependencyLink { #[prost(string, tag = "1")] pub parent: ::prost::alloc::string::String, diff --git a/quickwit/quickwit-proto/src/codegen/jaeger/jaeger.storage.v1.rs b/quickwit/quickwit-proto/src/codegen/jaeger/jaeger.storage.v1.rs index 70bbd1d3a46..aa3807fbb32 100644 --- a/quickwit/quickwit-proto/src/codegen/jaeger/jaeger.storage.v1.rs +++ b/quickwit/quickwit-proto/src/codegen/jaeger/jaeger.storage.v1.rs @@ -1,5 +1,5 @@ // This file is @generated by prost-build. -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct GetDependenciesRequest { #[prost(message, optional, tag = "1")] pub start_time: ::core::option::Option<::prost_types::Timestamp>, @@ -17,35 +17,35 @@ pub struct WriteSpanRequest { pub span: ::core::option::Option, } /// empty; extensible in the future -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct WriteSpanResponse {} /// empty; extensible in the future -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct CloseWriterRequest {} /// empty; extensible in the future -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct CloseWriterResponse {} -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct GetTraceRequest { #[prost(bytes = "vec", tag = "1")] pub trace_id: ::prost::alloc::vec::Vec, } -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct GetServicesRequest {} -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct GetServicesResponse { #[prost(string, repeated, tag = "1")] pub services: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct GetOperationsRequest { #[prost(string, tag = "1")] pub service: ::prost::alloc::string::String, #[prost(string, tag = "2")] pub span_kind: ::prost::alloc::string::String, } -#[derive(Eq, Ord, PartialOrd)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Ord, PartialOrd)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct Operation { #[prost(string, tag = "1")] pub name: ::prost::alloc::string::String, @@ -97,15 +97,15 @@ pub struct FindTraceIDsRequest { #[prost(message, optional, tag = "1")] pub query: ::core::option::Option, } -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct FindTraceIDsResponse { #[prost(bytes = "vec", repeated, tag = "1")] pub trace_ids: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, } /// empty; extensible in the future -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct CapabilitiesRequest {} -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct CapabilitiesResponse { #[prost(bool, tag = "1")] pub archive_span_reader: bool, @@ -221,7 +221,7 @@ pub mod span_writer_plugin_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/jaeger.storage.v1.SpanWriterPlugin/WriteSpan", ); @@ -247,7 +247,7 @@ pub mod span_writer_plugin_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/jaeger.storage.v1.SpanWriterPlugin/Close", ); @@ -258,6 +258,241 @@ pub mod span_writer_plugin_client { } } } +/// Generated server implementations. +pub mod span_writer_plugin_server { + #![allow( + unused_variables, + dead_code, + missing_docs, + clippy::wildcard_imports, + clippy::let_unit_value, + )] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with SpanWriterPluginServer. + #[async_trait] + pub trait SpanWriterPlugin: std::marker::Send + std::marker::Sync + 'static { + /// spanstore/Writer + async fn write_span( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + async fn close( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + #[derive(Debug)] + pub struct SpanWriterPluginServer { + inner: Arc, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + impl SpanWriterPluginServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(encoding); + self + } + /// Limits the maximum size of a decoded message. + /// + /// Default: `4MB` + #[must_use] + pub fn max_decoding_message_size(mut self, limit: usize) -> Self { + self.max_decoding_message_size = Some(limit); + self + } + /// Limits the maximum size of an encoded message. + /// + /// Default: `usize::MAX` + #[must_use] + pub fn max_encoding_message_size(mut self, limit: usize) -> Self { + self.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for SpanWriterPluginServer + where + T: SpanWriterPlugin, + B: Body + std::marker::Send + 'static, + B::Error: Into + std::marker::Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + match req.uri().path() { + "/jaeger.storage.v1.SpanWriterPlugin/WriteSpan" => { + #[allow(non_camel_case_types)] + struct WriteSpanSvc(pub Arc); + impl< + T: SpanWriterPlugin, + > tonic::server::UnaryService + for WriteSpanSvc { + type Response = super::WriteSpanResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::write_span(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = WriteSpanSvc(inner); + let codec = tonic_prost::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/jaeger.storage.v1.SpanWriterPlugin/Close" => { + #[allow(non_camel_case_types)] + struct CloseSvc(pub Arc); + impl< + T: SpanWriterPlugin, + > tonic::server::UnaryService + for CloseSvc { + type Response = super::CloseWriterResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::close(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = CloseSvc(inner); + let codec = tonic_prost::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + let mut response = http::Response::new( + tonic::body::Body::default(), + ); + let headers = response.headers_mut(); + headers + .insert( + tonic::Status::GRPC_STATUS, + (tonic::Code::Unimplemented as i32).into(), + ); + headers + .insert( + http::header::CONTENT_TYPE, + tonic::metadata::GRPC_CONTENT_TYPE, + ); + Ok(response) + }) + } + } + } + } + impl Clone for SpanWriterPluginServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + /// Generated gRPC service name + pub const SERVICE_NAME: &str = "jaeger.storage.v1.SpanWriterPlugin"; + impl tonic::server::NamedService for SpanWriterPluginServer { + const NAME: &'static str = SERVICE_NAME; + } +} /// Generated client implementations. pub mod streaming_span_writer_plugin_client { #![allow( @@ -366,7 +601,7 @@ pub mod streaming_span_writer_plugin_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/jaeger.storage.v1.StreamingSpanWriterPlugin/WriteSpanStream", ); @@ -382,8 +617,8 @@ pub mod streaming_span_writer_plugin_client { } } } -/// Generated client implementations. -pub mod span_reader_plugin_client { +/// Generated server implementations. +pub mod streaming_span_writer_plugin_server { #![allow( unused_variables, dead_code, @@ -392,10 +627,199 @@ pub mod span_reader_plugin_client { clippy::let_unit_value, )] use tonic::codegen::*; - use tonic::codegen::http::Uri; - #[derive(Debug, Clone)] - pub struct SpanReaderPluginClient { - inner: tonic::client::Grpc, + /// Generated trait containing gRPC methods that should be implemented for use with StreamingSpanWriterPluginServer. + #[async_trait] + pub trait StreamingSpanWriterPlugin: std::marker::Send + std::marker::Sync + 'static { + async fn write_span_stream( + &self, + request: tonic::Request>, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + #[derive(Debug)] + pub struct StreamingSpanWriterPluginServer { + inner: Arc, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + impl StreamingSpanWriterPluginServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(encoding); + self + } + /// Limits the maximum size of a decoded message. + /// + /// Default: `4MB` + #[must_use] + pub fn max_decoding_message_size(mut self, limit: usize) -> Self { + self.max_decoding_message_size = Some(limit); + self + } + /// Limits the maximum size of an encoded message. + /// + /// Default: `usize::MAX` + #[must_use] + pub fn max_encoding_message_size(mut self, limit: usize) -> Self { + self.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> + for StreamingSpanWriterPluginServer + where + T: StreamingSpanWriterPlugin, + B: Body + std::marker::Send + 'static, + B::Error: Into + std::marker::Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + match req.uri().path() { + "/jaeger.storage.v1.StreamingSpanWriterPlugin/WriteSpanStream" => { + #[allow(non_camel_case_types)] + struct WriteSpanStreamSvc(pub Arc); + impl< + T: StreamingSpanWriterPlugin, + > tonic::server::ClientStreamingService + for WriteSpanStreamSvc { + type Response = super::WriteSpanResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + tonic::Streaming, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::write_span_stream( + &inner, + request, + ) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = WriteSpanStreamSvc(inner); + let codec = tonic_prost::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.client_streaming(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + let mut response = http::Response::new( + tonic::body::Body::default(), + ); + let headers = response.headers_mut(); + headers + .insert( + tonic::Status::GRPC_STATUS, + (tonic::Code::Unimplemented as i32).into(), + ); + headers + .insert( + http::header::CONTENT_TYPE, + tonic::metadata::GRPC_CONTENT_TYPE, + ); + Ok(response) + }) + } + } + } + } + impl Clone for StreamingSpanWriterPluginServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + /// Generated gRPC service name + pub const SERVICE_NAME: &str = "jaeger.storage.v1.StreamingSpanWriterPlugin"; + impl tonic::server::NamedService for StreamingSpanWriterPluginServer { + const NAME: &'static str = SERVICE_NAME; + } +} +/// Generated client implementations. +pub mod span_reader_plugin_client { + #![allow( + unused_variables, + dead_code, + missing_docs, + clippy::wildcard_imports, + clippy::let_unit_value, + )] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + #[derive(Debug, Clone)] + pub struct SpanReaderPluginClient { + inner: tonic::client::Grpc, } impl SpanReaderPluginClient { /// Attempt to create a new client by connecting to a given endpoint. @@ -489,7 +913,7 @@ pub mod span_reader_plugin_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/jaeger.storage.v1.SpanReaderPlugin/GetTrace", ); @@ -515,7 +939,7 @@ pub mod span_reader_plugin_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/jaeger.storage.v1.SpanReaderPlugin/GetServices", ); @@ -541,7 +965,7 @@ pub mod span_reader_plugin_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/jaeger.storage.v1.SpanReaderPlugin/GetOperations", ); @@ -570,7 +994,7 @@ pub mod span_reader_plugin_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/jaeger.storage.v1.SpanReaderPlugin/FindTraces", ); @@ -596,939 +1020,18 @@ pub mod span_reader_plugin_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/jaeger.storage.v1.SpanReaderPlugin/FindTraceIDs", ); let mut req = request.into_request(); req.extensions_mut() - .insert( - GrpcMethod::new("jaeger.storage.v1.SpanReaderPlugin", "FindTraceIDs"), - ); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated client implementations. -pub mod archive_span_writer_plugin_client { - #![allow( - unused_variables, - dead_code, - missing_docs, - clippy::wildcard_imports, - clippy::let_unit_value, - )] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - #[derive(Debug, Clone)] - pub struct ArchiveSpanWriterPluginClient { - inner: tonic::client::Grpc, - } - impl ArchiveSpanWriterPluginClient { - /// Attempt to create a new client by connecting to a given endpoint. - pub async fn connect(dst: D) -> Result - where - D: TryInto, - D::Error: Into, - { - let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; - Ok(Self::new(conn)) - } - } - impl ArchiveSpanWriterPluginClient - where - T: tonic::client::GrpcService, - T::Error: Into, - T::ResponseBody: Body + std::marker::Send + 'static, - ::Error: Into + std::marker::Send, - { - pub fn new(inner: T) -> Self { - let inner = tonic::client::Grpc::new(inner); - Self { inner } - } - pub fn with_origin(inner: T, origin: Uri) -> Self { - let inner = tonic::client::Grpc::with_origin(inner, origin); - Self { inner } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> ArchiveSpanWriterPluginClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + std::marker::Send + std::marker::Sync, - { - ArchiveSpanWriterPluginClient::new( - InterceptedService::new(inner, interceptor), - ) - } - /// Compress requests with the given encoding. - /// - /// This requires the server to support it otherwise it might respond with an - /// error. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.send_compressed(encoding); - self - } - /// Enable decompressing responses. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.accept_compressed(encoding); - self - } - /// Limits the maximum size of a decoded message. - /// - /// Default: `4MB` - #[must_use] - pub fn max_decoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_decoding_message_size(limit); - self - } - /// Limits the maximum size of an encoded message. - /// - /// Default: `usize::MAX` - #[must_use] - pub fn max_encoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_encoding_message_size(limit); - self - } - /// spanstore/Writer - pub async fn write_archive_span( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/jaeger.storage.v1.ArchiveSpanWriterPlugin/WriteArchiveSpan", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "jaeger.storage.v1.ArchiveSpanWriterPlugin", - "WriteArchiveSpan", - ), - ); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated client implementations. -pub mod archive_span_reader_plugin_client { - #![allow( - unused_variables, - dead_code, - missing_docs, - clippy::wildcard_imports, - clippy::let_unit_value, - )] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - #[derive(Debug, Clone)] - pub struct ArchiveSpanReaderPluginClient { - inner: tonic::client::Grpc, - } - impl ArchiveSpanReaderPluginClient { - /// Attempt to create a new client by connecting to a given endpoint. - pub async fn connect(dst: D) -> Result - where - D: TryInto, - D::Error: Into, - { - let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; - Ok(Self::new(conn)) - } - } - impl ArchiveSpanReaderPluginClient - where - T: tonic::client::GrpcService, - T::Error: Into, - T::ResponseBody: Body + std::marker::Send + 'static, - ::Error: Into + std::marker::Send, - { - pub fn new(inner: T) -> Self { - let inner = tonic::client::Grpc::new(inner); - Self { inner } - } - pub fn with_origin(inner: T, origin: Uri) -> Self { - let inner = tonic::client::Grpc::with_origin(inner, origin); - Self { inner } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> ArchiveSpanReaderPluginClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + std::marker::Send + std::marker::Sync, - { - ArchiveSpanReaderPluginClient::new( - InterceptedService::new(inner, interceptor), - ) - } - /// Compress requests with the given encoding. - /// - /// This requires the server to support it otherwise it might respond with an - /// error. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.send_compressed(encoding); - self - } - /// Enable decompressing responses. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.accept_compressed(encoding); - self - } - /// Limits the maximum size of a decoded message. - /// - /// Default: `4MB` - #[must_use] - pub fn max_decoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_decoding_message_size(limit); - self - } - /// Limits the maximum size of an encoded message. - /// - /// Default: `usize::MAX` - #[must_use] - pub fn max_encoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_encoding_message_size(limit); - self - } - /// spanstore/Reader - pub async fn get_archive_trace( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response>, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/jaeger.storage.v1.ArchiveSpanReaderPlugin/GetArchiveTrace", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "jaeger.storage.v1.ArchiveSpanReaderPlugin", - "GetArchiveTrace", - ), - ); - self.inner.server_streaming(req, path, codec).await - } - } -} -/// Generated client implementations. -pub mod dependencies_reader_plugin_client { - #![allow( - unused_variables, - dead_code, - missing_docs, - clippy::wildcard_imports, - clippy::let_unit_value, - )] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - #[derive(Debug, Clone)] - pub struct DependenciesReaderPluginClient { - inner: tonic::client::Grpc, - } - impl DependenciesReaderPluginClient { - /// Attempt to create a new client by connecting to a given endpoint. - pub async fn connect(dst: D) -> Result - where - D: TryInto, - D::Error: Into, - { - let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; - Ok(Self::new(conn)) - } - } - impl DependenciesReaderPluginClient - where - T: tonic::client::GrpcService, - T::Error: Into, - T::ResponseBody: Body + std::marker::Send + 'static, - ::Error: Into + std::marker::Send, - { - pub fn new(inner: T) -> Self { - let inner = tonic::client::Grpc::new(inner); - Self { inner } - } - pub fn with_origin(inner: T, origin: Uri) -> Self { - let inner = tonic::client::Grpc::with_origin(inner, origin); - Self { inner } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> DependenciesReaderPluginClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + std::marker::Send + std::marker::Sync, - { - DependenciesReaderPluginClient::new( - InterceptedService::new(inner, interceptor), - ) - } - /// Compress requests with the given encoding. - /// - /// This requires the server to support it otherwise it might respond with an - /// error. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.send_compressed(encoding); - self - } - /// Enable decompressing responses. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.accept_compressed(encoding); - self - } - /// Limits the maximum size of a decoded message. - /// - /// Default: `4MB` - #[must_use] - pub fn max_decoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_decoding_message_size(limit); - self - } - /// Limits the maximum size of an encoded message. - /// - /// Default: `usize::MAX` - #[must_use] - pub fn max_encoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_encoding_message_size(limit); - self - } - /// dependencystore/Reader - pub async fn get_dependencies( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/jaeger.storage.v1.DependenciesReaderPlugin/GetDependencies", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "jaeger.storage.v1.DependenciesReaderPlugin", - "GetDependencies", - ), - ); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated client implementations. -pub mod plugin_capabilities_client { - #![allow( - unused_variables, - dead_code, - missing_docs, - clippy::wildcard_imports, - clippy::let_unit_value, - )] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - #[derive(Debug, Clone)] - pub struct PluginCapabilitiesClient { - inner: tonic::client::Grpc, - } - impl PluginCapabilitiesClient { - /// Attempt to create a new client by connecting to a given endpoint. - pub async fn connect(dst: D) -> Result - where - D: TryInto, - D::Error: Into, - { - let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; - Ok(Self::new(conn)) - } - } - impl PluginCapabilitiesClient - where - T: tonic::client::GrpcService, - T::Error: Into, - T::ResponseBody: Body + std::marker::Send + 'static, - ::Error: Into + std::marker::Send, - { - pub fn new(inner: T) -> Self { - let inner = tonic::client::Grpc::new(inner); - Self { inner } - } - pub fn with_origin(inner: T, origin: Uri) -> Self { - let inner = tonic::client::Grpc::with_origin(inner, origin); - Self { inner } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> PluginCapabilitiesClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + std::marker::Send + std::marker::Sync, - { - PluginCapabilitiesClient::new(InterceptedService::new(inner, interceptor)) - } - /// Compress requests with the given encoding. - /// - /// This requires the server to support it otherwise it might respond with an - /// error. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.send_compressed(encoding); - self - } - /// Enable decompressing responses. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.accept_compressed(encoding); - self - } - /// Limits the maximum size of a decoded message. - /// - /// Default: `4MB` - #[must_use] - pub fn max_decoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_decoding_message_size(limit); - self - } - /// Limits the maximum size of an encoded message. - /// - /// Default: `usize::MAX` - #[must_use] - pub fn max_encoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_encoding_message_size(limit); - self - } - pub async fn capabilities( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/jaeger.storage.v1.PluginCapabilities/Capabilities", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "jaeger.storage.v1.PluginCapabilities", - "Capabilities", - ), - ); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -pub mod span_writer_plugin_server { - #![allow( - unused_variables, - dead_code, - missing_docs, - clippy::wildcard_imports, - clippy::let_unit_value, - )] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with SpanWriterPluginServer. - #[async_trait] - pub trait SpanWriterPlugin: std::marker::Send + std::marker::Sync + 'static { - /// spanstore/Writer - async fn write_span( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn close( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - #[derive(Debug)] - pub struct SpanWriterPluginServer { - inner: Arc, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - impl SpanWriterPluginServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(encoding); - self - } - /// Limits the maximum size of a decoded message. - /// - /// Default: `4MB` - #[must_use] - pub fn max_decoding_message_size(mut self, limit: usize) -> Self { - self.max_decoding_message_size = Some(limit); - self - } - /// Limits the maximum size of an encoded message. - /// - /// Default: `usize::MAX` - #[must_use] - pub fn max_encoding_message_size(mut self, limit: usize) -> Self { - self.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for SpanWriterPluginServer - where - T: SpanWriterPlugin, - B: Body + std::marker::Send + 'static, - B::Error: Into + std::marker::Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - match req.uri().path() { - "/jaeger.storage.v1.SpanWriterPlugin/WriteSpan" => { - #[allow(non_camel_case_types)] - struct WriteSpanSvc(pub Arc); - impl< - T: SpanWriterPlugin, - > tonic::server::UnaryService - for WriteSpanSvc { - type Response = super::WriteSpanResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::write_span(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = WriteSpanSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/jaeger.storage.v1.SpanWriterPlugin/Close" => { - #[allow(non_camel_case_types)] - struct CloseSvc(pub Arc); - impl< - T: SpanWriterPlugin, - > tonic::server::UnaryService - for CloseSvc { - type Response = super::CloseWriterResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::close(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = CloseSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - let mut response = http::Response::new( - tonic::body::Body::default(), - ); - let headers = response.headers_mut(); - headers - .insert( - tonic::Status::GRPC_STATUS, - (tonic::Code::Unimplemented as i32).into(), - ); - headers - .insert( - http::header::CONTENT_TYPE, - tonic::metadata::GRPC_CONTENT_TYPE, - ); - Ok(response) - }) - } - } - } - } - impl Clone for SpanWriterPluginServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - /// Generated gRPC service name - pub const SERVICE_NAME: &str = "jaeger.storage.v1.SpanWriterPlugin"; - impl tonic::server::NamedService for SpanWriterPluginServer { - const NAME: &'static str = SERVICE_NAME; - } -} -/// Generated server implementations. -pub mod streaming_span_writer_plugin_server { - #![allow( - unused_variables, - dead_code, - missing_docs, - clippy::wildcard_imports, - clippy::let_unit_value, - )] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with StreamingSpanWriterPluginServer. - #[async_trait] - pub trait StreamingSpanWriterPlugin: std::marker::Send + std::marker::Sync + 'static { - async fn write_span_stream( - &self, - request: tonic::Request>, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - #[derive(Debug)] - pub struct StreamingSpanWriterPluginServer { - inner: Arc, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - impl StreamingSpanWriterPluginServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(encoding); - self - } - /// Limits the maximum size of a decoded message. - /// - /// Default: `4MB` - #[must_use] - pub fn max_decoding_message_size(mut self, limit: usize) -> Self { - self.max_decoding_message_size = Some(limit); - self - } - /// Limits the maximum size of an encoded message. - /// - /// Default: `usize::MAX` - #[must_use] - pub fn max_encoding_message_size(mut self, limit: usize) -> Self { - self.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> - for StreamingSpanWriterPluginServer - where - T: StreamingSpanWriterPlugin, - B: Body + std::marker::Send + 'static, - B::Error: Into + std::marker::Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - match req.uri().path() { - "/jaeger.storage.v1.StreamingSpanWriterPlugin/WriteSpanStream" => { - #[allow(non_camel_case_types)] - struct WriteSpanStreamSvc(pub Arc); - impl< - T: StreamingSpanWriterPlugin, - > tonic::server::ClientStreamingService - for WriteSpanStreamSvc { - type Response = super::WriteSpanResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - tonic::Streaming, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::write_span_stream( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = WriteSpanStreamSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.client_streaming(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - let mut response = http::Response::new( - tonic::body::Body::default(), - ); - let headers = response.headers_mut(); - headers - .insert( - tonic::Status::GRPC_STATUS, - (tonic::Code::Unimplemented as i32).into(), - ); - headers - .insert( - http::header::CONTENT_TYPE, - tonic::metadata::GRPC_CONTENT_TYPE, - ); - Ok(response) - }) - } - } - } - } - impl Clone for StreamingSpanWriterPluginServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } + .insert( + GrpcMethod::new("jaeger.storage.v1.SpanReaderPlugin", "FindTraceIDs"), + ); + self.inner.unary(req, path, codec).await } } - /// Generated gRPC service name - pub const SERVICE_NAME: &str = "jaeger.storage.v1.StreamingSpanWriterPlugin"; - impl tonic::server::NamedService for StreamingSpanWriterPluginServer { - const NAME: &'static str = SERVICE_NAME; - } } /// Generated server implementations. pub mod span_reader_plugin_server { @@ -1693,7 +1196,7 @@ pub mod span_reader_plugin_server { let inner = self.inner.clone(); let fut = async move { let method = GetTraceSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -1738,7 +1241,7 @@ pub mod span_reader_plugin_server { let inner = self.inner.clone(); let fut = async move { let method = GetServicesSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -1784,7 +1287,7 @@ pub mod span_reader_plugin_server { let inner = self.inner.clone(); let fut = async move { let method = GetOperationsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -1830,7 +1333,7 @@ pub mod span_reader_plugin_server { let inner = self.inner.clone(); let fut = async move { let method = FindTracesSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -1876,7 +1379,7 @@ pub mod span_reader_plugin_server { let inner = self.inner.clone(); let fut = async move { let method = FindTraceIDsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -1931,6 +1434,131 @@ pub mod span_reader_plugin_server { const NAME: &'static str = SERVICE_NAME; } } +/// Generated client implementations. +pub mod archive_span_writer_plugin_client { + #![allow( + unused_variables, + dead_code, + missing_docs, + clippy::wildcard_imports, + clippy::let_unit_value, + )] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + #[derive(Debug, Clone)] + pub struct ArchiveSpanWriterPluginClient { + inner: tonic::client::Grpc, + } + impl ArchiveSpanWriterPluginClient { + /// Attempt to create a new client by connecting to a given endpoint. + pub async fn connect(dst: D) -> Result + where + D: TryInto, + D::Error: Into, + { + let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; + Ok(Self::new(conn)) + } + } + impl ArchiveSpanWriterPluginClient + where + T: tonic::client::GrpcService, + T::Error: Into, + T::ResponseBody: Body + std::marker::Send + 'static, + ::Error: Into + std::marker::Send, + { + pub fn new(inner: T) -> Self { + let inner = tonic::client::Grpc::new(inner); + Self { inner } + } + pub fn with_origin(inner: T, origin: Uri) -> Self { + let inner = tonic::client::Grpc::with_origin(inner, origin); + Self { inner } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> ArchiveSpanWriterPluginClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + , + >>::Error: Into + std::marker::Send + std::marker::Sync, + { + ArchiveSpanWriterPluginClient::new( + InterceptedService::new(inner, interceptor), + ) + } + /// Compress requests with the given encoding. + /// + /// This requires the server to support it otherwise it might respond with an + /// error. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.inner = self.inner.send_compressed(encoding); + self + } + /// Enable decompressing responses. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.inner = self.inner.accept_compressed(encoding); + self + } + /// Limits the maximum size of a decoded message. + /// + /// Default: `4MB` + #[must_use] + pub fn max_decoding_message_size(mut self, limit: usize) -> Self { + self.inner = self.inner.max_decoding_message_size(limit); + self + } + /// Limits the maximum size of an encoded message. + /// + /// Default: `usize::MAX` + #[must_use] + pub fn max_encoding_message_size(mut self, limit: usize) -> Self { + self.inner = self.inner.max_encoding_message_size(limit); + self + } + /// spanstore/Writer + pub async fn write_archive_span( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic_prost::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/jaeger.storage.v1.ArchiveSpanWriterPlugin/WriteArchiveSpan", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "jaeger.storage.v1.ArchiveSpanWriterPlugin", + "WriteArchiveSpan", + ), + ); + self.inner.unary(req, path, codec).await + } + } +} /// Generated server implementations. pub mod archive_span_writer_plugin_server { #![allow( @@ -2064,7 +1692,7 @@ pub mod archive_span_writer_plugin_server { let inner = self.inner.clone(); let fut = async move { let method = WriteArchiveSpanSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -2113,11 +1741,136 @@ pub mod archive_span_writer_plugin_server { } } } - /// Generated gRPC service name - pub const SERVICE_NAME: &str = "jaeger.storage.v1.ArchiveSpanWriterPlugin"; - impl tonic::server::NamedService for ArchiveSpanWriterPluginServer { - const NAME: &'static str = SERVICE_NAME; - } + /// Generated gRPC service name + pub const SERVICE_NAME: &str = "jaeger.storage.v1.ArchiveSpanWriterPlugin"; + impl tonic::server::NamedService for ArchiveSpanWriterPluginServer { + const NAME: &'static str = SERVICE_NAME; + } +} +/// Generated client implementations. +pub mod archive_span_reader_plugin_client { + #![allow( + unused_variables, + dead_code, + missing_docs, + clippy::wildcard_imports, + clippy::let_unit_value, + )] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + #[derive(Debug, Clone)] + pub struct ArchiveSpanReaderPluginClient { + inner: tonic::client::Grpc, + } + impl ArchiveSpanReaderPluginClient { + /// Attempt to create a new client by connecting to a given endpoint. + pub async fn connect(dst: D) -> Result + where + D: TryInto, + D::Error: Into, + { + let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; + Ok(Self::new(conn)) + } + } + impl ArchiveSpanReaderPluginClient + where + T: tonic::client::GrpcService, + T::Error: Into, + T::ResponseBody: Body + std::marker::Send + 'static, + ::Error: Into + std::marker::Send, + { + pub fn new(inner: T) -> Self { + let inner = tonic::client::Grpc::new(inner); + Self { inner } + } + pub fn with_origin(inner: T, origin: Uri) -> Self { + let inner = tonic::client::Grpc::with_origin(inner, origin); + Self { inner } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> ArchiveSpanReaderPluginClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + , + >>::Error: Into + std::marker::Send + std::marker::Sync, + { + ArchiveSpanReaderPluginClient::new( + InterceptedService::new(inner, interceptor), + ) + } + /// Compress requests with the given encoding. + /// + /// This requires the server to support it otherwise it might respond with an + /// error. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.inner = self.inner.send_compressed(encoding); + self + } + /// Enable decompressing responses. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.inner = self.inner.accept_compressed(encoding); + self + } + /// Limits the maximum size of a decoded message. + /// + /// Default: `4MB` + #[must_use] + pub fn max_decoding_message_size(mut self, limit: usize) -> Self { + self.inner = self.inner.max_decoding_message_size(limit); + self + } + /// Limits the maximum size of an encoded message. + /// + /// Default: `usize::MAX` + #[must_use] + pub fn max_encoding_message_size(mut self, limit: usize) -> Self { + self.inner = self.inner.max_encoding_message_size(limit); + self + } + /// spanstore/Reader + pub async fn get_archive_trace( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response>, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic_prost::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/jaeger.storage.v1.ArchiveSpanReaderPlugin/GetArchiveTrace", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "jaeger.storage.v1.ArchiveSpanReaderPlugin", + "GetArchiveTrace", + ), + ); + self.inner.server_streaming(req, path, codec).await + } + } } /// Generated server implementations. pub mod archive_span_reader_plugin_server { @@ -2259,7 +2012,7 @@ pub mod archive_span_reader_plugin_server { let inner = self.inner.clone(); let fut = async move { let method = GetArchiveTraceSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -2314,6 +2067,131 @@ pub mod archive_span_reader_plugin_server { const NAME: &'static str = SERVICE_NAME; } } +/// Generated client implementations. +pub mod dependencies_reader_plugin_client { + #![allow( + unused_variables, + dead_code, + missing_docs, + clippy::wildcard_imports, + clippy::let_unit_value, + )] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + #[derive(Debug, Clone)] + pub struct DependenciesReaderPluginClient { + inner: tonic::client::Grpc, + } + impl DependenciesReaderPluginClient { + /// Attempt to create a new client by connecting to a given endpoint. + pub async fn connect(dst: D) -> Result + where + D: TryInto, + D::Error: Into, + { + let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; + Ok(Self::new(conn)) + } + } + impl DependenciesReaderPluginClient + where + T: tonic::client::GrpcService, + T::Error: Into, + T::ResponseBody: Body + std::marker::Send + 'static, + ::Error: Into + std::marker::Send, + { + pub fn new(inner: T) -> Self { + let inner = tonic::client::Grpc::new(inner); + Self { inner } + } + pub fn with_origin(inner: T, origin: Uri) -> Self { + let inner = tonic::client::Grpc::with_origin(inner, origin); + Self { inner } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> DependenciesReaderPluginClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + , + >>::Error: Into + std::marker::Send + std::marker::Sync, + { + DependenciesReaderPluginClient::new( + InterceptedService::new(inner, interceptor), + ) + } + /// Compress requests with the given encoding. + /// + /// This requires the server to support it otherwise it might respond with an + /// error. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.inner = self.inner.send_compressed(encoding); + self + } + /// Enable decompressing responses. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.inner = self.inner.accept_compressed(encoding); + self + } + /// Limits the maximum size of a decoded message. + /// + /// Default: `4MB` + #[must_use] + pub fn max_decoding_message_size(mut self, limit: usize) -> Self { + self.inner = self.inner.max_decoding_message_size(limit); + self + } + /// Limits the maximum size of an encoded message. + /// + /// Default: `usize::MAX` + #[must_use] + pub fn max_encoding_message_size(mut self, limit: usize) -> Self { + self.inner = self.inner.max_encoding_message_size(limit); + self + } + /// dependencystore/Reader + pub async fn get_dependencies( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic_prost::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/jaeger.storage.v1.DependenciesReaderPlugin/GetDependencies", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "jaeger.storage.v1.DependenciesReaderPlugin", + "GetDependencies", + ), + ); + self.inner.unary(req, path, codec).await + } + } +} /// Generated server implementations. pub mod dependencies_reader_plugin_server { #![allow( @@ -2447,7 +2325,7 @@ pub mod dependencies_reader_plugin_server { let inner = self.inner.clone(); let fut = async move { let method = GetDependenciesSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -2502,6 +2380,128 @@ pub mod dependencies_reader_plugin_server { const NAME: &'static str = SERVICE_NAME; } } +/// Generated client implementations. +pub mod plugin_capabilities_client { + #![allow( + unused_variables, + dead_code, + missing_docs, + clippy::wildcard_imports, + clippy::let_unit_value, + )] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + #[derive(Debug, Clone)] + pub struct PluginCapabilitiesClient { + inner: tonic::client::Grpc, + } + impl PluginCapabilitiesClient { + /// Attempt to create a new client by connecting to a given endpoint. + pub async fn connect(dst: D) -> Result + where + D: TryInto, + D::Error: Into, + { + let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; + Ok(Self::new(conn)) + } + } + impl PluginCapabilitiesClient + where + T: tonic::client::GrpcService, + T::Error: Into, + T::ResponseBody: Body + std::marker::Send + 'static, + ::Error: Into + std::marker::Send, + { + pub fn new(inner: T) -> Self { + let inner = tonic::client::Grpc::new(inner); + Self { inner } + } + pub fn with_origin(inner: T, origin: Uri) -> Self { + let inner = tonic::client::Grpc::with_origin(inner, origin); + Self { inner } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> PluginCapabilitiesClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + , + >>::Error: Into + std::marker::Send + std::marker::Sync, + { + PluginCapabilitiesClient::new(InterceptedService::new(inner, interceptor)) + } + /// Compress requests with the given encoding. + /// + /// This requires the server to support it otherwise it might respond with an + /// error. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.inner = self.inner.send_compressed(encoding); + self + } + /// Enable decompressing responses. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.inner = self.inner.accept_compressed(encoding); + self + } + /// Limits the maximum size of a decoded message. + /// + /// Default: `4MB` + #[must_use] + pub fn max_decoding_message_size(mut self, limit: usize) -> Self { + self.inner = self.inner.max_decoding_message_size(limit); + self + } + /// Limits the maximum size of an encoded message. + /// + /// Default: `usize::MAX` + #[must_use] + pub fn max_encoding_message_size(mut self, limit: usize) -> Self { + self.inner = self.inner.max_encoding_message_size(limit); + self + } + pub async fn capabilities( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic_prost::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/jaeger.storage.v1.PluginCapabilities/Capabilities", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "jaeger.storage.v1.PluginCapabilities", + "Capabilities", + ), + ); + self.inner.unary(req, path, codec).await + } + } +} /// Generated server implementations. pub mod plugin_capabilities_server { #![allow( @@ -2630,7 +2630,7 @@ pub mod plugin_capabilities_server { let inner = self.inner.clone(); let fut = async move { let method = CapabilitiesSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, diff --git a/quickwit/quickwit-proto/src/codegen/opentelemetry/opentelemetry.proto.collector.logs.v1.rs b/quickwit/quickwit-proto/src/codegen/opentelemetry/opentelemetry.proto.collector.logs.v1.rs index 4716de6fbf9..6160453b8ea 100644 --- a/quickwit/quickwit-proto/src/codegen/opentelemetry/opentelemetry.proto.collector.logs.v1.rs +++ b/quickwit/quickwit-proto/src/codegen/opentelemetry/opentelemetry.proto.collector.logs.v1.rs @@ -14,7 +14,7 @@ pub struct ExportLogsServiceRequest { } #[derive(serde::Serialize, serde::Deserialize)] #[derive(utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ExportLogsServiceResponse { /// The details of a partially successful export request. /// @@ -28,14 +28,13 @@ pub struct ExportLogsServiceResponse { /// In such cases, the `rejected_` MUST have a value of `0` and /// the `error_message` MUST be non-empty. /// - /// A `partial_success` message with an empty value (`rejected_1 = 0 and - /// `error_message` = "") is equivalent to it not being set/present. Senders + /// A `partial_success` message with an empty value (`rejected_1 = 0 and `error_message\` = "") is equivalent to it not being set/present. Senders /// SHOULD interpret it the same way as in the full success case. #[prost(message, optional, tag = "1")] pub partial_success: ::core::option::Option, } #[derive(serde::Serialize, serde::Deserialize)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ExportLogsPartialSuccess { /// The number of rejected log records. /// @@ -164,7 +163,7 @@ pub mod logs_service_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/opentelemetry.proto.collector.logs.v1.LogsService/Export", ); @@ -312,7 +311,7 @@ pub mod logs_service_server { let inner = self.inner.clone(); let fut = async move { let method = ExportSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, diff --git a/quickwit/quickwit-proto/src/codegen/opentelemetry/opentelemetry.proto.collector.metrics.v1.rs b/quickwit/quickwit-proto/src/codegen/opentelemetry/opentelemetry.proto.collector.metrics.v1.rs index 6b899c43ba6..fab8cd4de8f 100644 --- a/quickwit/quickwit-proto/src/codegen/opentelemetry/opentelemetry.proto.collector.metrics.v1.rs +++ b/quickwit/quickwit-proto/src/codegen/opentelemetry/opentelemetry.proto.collector.metrics.v1.rs @@ -13,7 +13,7 @@ pub struct ExportMetricsServiceRequest { >, } #[derive(serde::Serialize, serde::Deserialize)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ExportMetricsServiceResponse { /// The details of a partially successful export request. /// @@ -27,14 +27,14 @@ pub struct ExportMetricsServiceResponse { /// In such cases, the `rejected_` MUST have a value of `0` and /// the `error_message` MUST be non-empty. /// - /// A `partial_success` message with an empty value (rejected_ = 0 and + /// A `partial_success` message with an empty value (rejected\_ = 0 and /// `error_message` = "") is equivalent to it not being set/present. Senders /// SHOULD interpret it the same way as in the full success case. #[prost(message, optional, tag = "1")] pub partial_success: ::core::option::Option, } #[derive(serde::Serialize, serde::Deserialize)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ExportMetricsPartialSuccess { /// The number of rejected data points. /// @@ -163,7 +163,7 @@ pub mod metrics_service_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/opentelemetry.proto.collector.metrics.v1.MetricsService/Export", ); @@ -311,7 +311,7 @@ pub mod metrics_service_server { let inner = self.inner.clone(); let fut = async move { let method = ExportSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, diff --git a/quickwit/quickwit-proto/src/codegen/opentelemetry/opentelemetry.proto.collector.trace.v1.rs b/quickwit/quickwit-proto/src/codegen/opentelemetry/opentelemetry.proto.collector.trace.v1.rs index dfadd5f6e79..2ba3e83cb9e 100644 --- a/quickwit/quickwit-proto/src/codegen/opentelemetry/opentelemetry.proto.collector.trace.v1.rs +++ b/quickwit/quickwit-proto/src/codegen/opentelemetry/opentelemetry.proto.collector.trace.v1.rs @@ -13,7 +13,7 @@ pub struct ExportTraceServiceRequest { >, } #[derive(serde::Serialize, serde::Deserialize)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ExportTraceServiceResponse { /// The details of a partially successful export request. /// @@ -27,14 +27,14 @@ pub struct ExportTraceServiceResponse { /// In such cases, the `rejected_` MUST have a value of `0` and /// the `error_message` MUST be non-empty. /// - /// A `partial_success` message with an empty value (rejected_ = 0 and + /// A `partial_success` message with an empty value (rejected\_ = 0 and /// `error_message` = "") is equivalent to it not being set/present. Senders /// SHOULD interpret it the same way as in the full success case. #[prost(message, optional, tag = "1")] pub partial_success: ::core::option::Option, } #[derive(serde::Serialize, serde::Deserialize)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ExportTracePartialSuccess { /// The number of rejected spans. /// @@ -163,7 +163,7 @@ pub mod trace_service_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/opentelemetry.proto.collector.trace.v1.TraceService/Export", ); @@ -311,7 +311,7 @@ pub mod trace_service_server { let inner = self.inner.clone(); let fut = async move { let method = ExportSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, diff --git a/quickwit/quickwit-proto/src/codegen/opentelemetry/opentelemetry.proto.logs.v1.rs b/quickwit/quickwit-proto/src/codegen/opentelemetry/opentelemetry.proto.logs.v1.rs index 0ffab8a5334..2a4af4d5139 100644 --- a/quickwit/quickwit-proto/src/codegen/opentelemetry/opentelemetry.proto.logs.v1.rs +++ b/quickwit/quickwit-proto/src/codegen/opentelemetry/opentelemetry.proto.logs.v1.rs @@ -73,7 +73,8 @@ pub struct LogRecord { /// For converting OpenTelemetry log data to formats that support only one timestamp or /// when receiving OpenTelemetry log data by recipients that support only one timestamp /// internally the following logic is recommended: - /// - Use time_unix_nano if it is present, otherwise use observed_time_unix_nano. + /// + /// * Use time_unix_nano if it is present, otherwise use observed_time_unix_nano. /// /// Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970. /// Value of 0 indicates unknown or missing timestamp. diff --git a/quickwit/quickwit-proto/src/codegen/opentelemetry/opentelemetry.proto.metrics.v1.rs b/quickwit/quickwit-proto/src/codegen/opentelemetry/opentelemetry.proto.metrics.v1.rs index 10dee3a6b8a..cf4cdece793 100644 --- a/quickwit/quickwit-proto/src/codegen/opentelemetry/opentelemetry.proto.metrics.v1.rs +++ b/quickwit/quickwit-proto/src/codegen/opentelemetry/opentelemetry.proto.metrics.v1.rs @@ -55,66 +55,69 @@ pub struct ScopeMetrics { /// Defines a Metric which has one or more timeseries. The following is a /// brief summary of the Metric data model. For more details, see: /// -/// -/// +/// /// /// The data model and relation between entities is shown in the /// diagram below. Here, "DataPoint" is the term used to refer to any /// one of the specific data point value types, and "points" is the term used /// to refer to any one of the lists of points contained in the Metric. /// -/// - Metric is composed of a metadata and data. -/// - Metadata part contains a name, description, unit. -/// - Data is one of the possible types (Sum, Gauge, Histogram, Summary). -/// - DataPoint contains timestamps, attributes, and one of the possible value type -/// fields. +/// * Metric is composed of a metadata and data. +/// +/// * Metadata part contains a name, description, unit. +/// +/// * Data is one of the possible types (Sum, Gauge, Histogram, Summary). +/// +/// * DataPoint contains timestamps, attributes, and one of the possible value type +/// fields. /// -/// Metric +/// Metric /// +------------+ -/// |name | -/// |description | -/// |unit | +------------------------------------+ -/// |data |---> |Gauge, Sum, Histogram, Summary, ... | +/// \|name | +/// \|description | +/// \|unit | +------------------------------------+ +/// \|data |---> |Gauge, Sum, Histogram, Summary, ... | /// +------------+ +------------------------------------+ /// -/// Data \[One of Gauge, Sum, Histogram, Summary, ...\] +/// Data \[One of Gauge, Sum, Histogram, Summary, ...\] /// +-----------+ -/// |... | // Metadata about the Data. -/// |points |--+ +/// \|... | // Metadata about the Data. +/// \|points |--+ /// +-----------+ | -/// | +---------------------------+ -/// | |DataPoint 1 | -/// v |+------+------+ +------+ | -/// +-----+ ||label |label |...|label | | -/// | 1 |-->||value1|value2|...|valueN| | -/// +-----+ |+------+------+ +------+ | -/// | . | |+-----+ | -/// | . | ||value| | -/// | . | |+-----+ | -/// | . | +---------------------------+ -/// | . | . -/// | . | . -/// | . | . -/// | . | +---------------------------+ -/// | . | |DataPoint M | -/// +-----+ |+------+------+ +------+ | -/// | M |-->||label |label |...|label | | -/// +-----+ ||value1|value2|...|valueN| | -/// |+------+------+ +------+ | -/// |+-----+ | -/// ||value| | -/// |+-----+ | -/// +---------------------------+ +/// \| +---------------------------+ +/// \| |DataPoint 1 | +/// v |+------+------+ +------+ | +/// +-----+ ||label |label |...|label | | +/// \| 1 |-->||value1|value2|...|valueN| | +/// +-----+ |+------+------+ +------+ | +/// \| . | |+-----+ | +/// \| . | ||value| | +/// \| . | |+-----+ | +/// \| . | +---------------------------+ +/// \| . | . +/// \| . | . +/// \| . | . +/// \| . | +---------------------------+ +/// \| . | |DataPoint M | +/// +-----+ |+------+------+ +------+ | +/// \| M |-->||label |label |...|label | | +/// +-----+ ||value1|value2|...|valueN| | +/// \|+------+------+ +------+ | +/// \|+-----+ | +/// \||value| | +/// \|+-----+ | +/// +---------------------------+ /// /// Each distinct type of DataPoint represents the output of a specific /// aggregation function, the result of applying the DataPoint's /// associated function of to one or more measurements. /// /// All DataPoint types have three common fields: -/// - Attributes includes key-value pairs associated with the data point -/// - TimeUnixNano is required, set to the end time of the aggregation -/// - StartTimeUnixNano is optional, but strongly encouraged for DataPoints -/// having an AggregationTemporality field, as discussed below. +/// +/// * Attributes includes key-value pairs associated with the data point +/// * TimeUnixNano is required, set to the end time of the aggregation +/// * StartTimeUnixNano is optional, but strongly encouraged for DataPoints +/// having an AggregationTemporality field, as discussed below. /// /// Both TimeUnixNano and StartTimeUnixNano values are expressed as /// UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970. @@ -352,8 +355,8 @@ pub struct HistogramDataPoint { /// /// The boundaries for bucket at index i are: /// - /// (-infinity, explicit_bounds\[i]\] for i == 0 - /// (explicit_bounds\[i-1\], explicit_bounds\[i]\] for 0 < i < size(explicit_bounds) + /// (-infinity, explicit_bounds\[i\]\] for i == 0 + /// (explicit_bounds\[i-1\], explicit_bounds\[i\]\] for 0 \< i \< size(explicit_bounds) /// (explicit_bounds\[i-1\], +infinity) for i == size(explicit_bounds) /// /// The values in the explicit_bounds array must be strictly increasing. @@ -371,10 +374,10 @@ pub struct HistogramDataPoint { /// for the available flags and their meaning. #[prost(uint32, tag = "10")] pub flags: u32, - /// min is the minimum value over (start_time, end_time]. + /// min is the minimum value over (start_time, end_time\]. #[prost(double, optional, tag = "11")] pub min: ::core::option::Option, - /// max is the maximum value over (start_time, end_time]. + /// max is the maximum value over (start_time, end_time\]. #[prost(double, optional, tag = "12")] pub max: ::core::option::Option, } @@ -382,7 +385,6 @@ pub struct HistogramDataPoint { /// time-varying values of a ExponentialHistogram of double values. A ExponentialHistogram contains /// summary statistics for a population of values, it may optionally contain the /// distribution of those values across a set of buckets. -/// #[derive(serde::Serialize, serde::Deserialize)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ExponentialHistogramDataPoint { @@ -423,7 +425,7 @@ pub struct ExponentialHistogramDataPoint { /// scale describes the resolution of the histogram. Boundaries are /// located at powers of the base, where: /// - /// base = (2^(2^-scale)) + /// base = (2^(2^-scale)) /// /// The histogram bucket identified by `index`, a signed integer, /// contains values that are greater than (base^index) and @@ -461,10 +463,10 @@ pub struct ExponentialHistogramDataPoint { /// measurements that were used to form the data point #[prost(message, repeated, tag = "11")] pub exemplars: ::prost::alloc::vec::Vec, - /// min is the minimum value over (start_time, end_time]. + /// min is the minimum value over (start_time, end_time\]. #[prost(double, optional, tag = "12")] pub min: ::core::option::Option, - /// max is the maximum value over (start_time, end_time]. + /// max is the maximum value over (start_time, end_time\]. #[prost(double, optional, tag = "13")] pub max: ::core::option::Option, } @@ -473,7 +475,7 @@ pub mod exponential_histogram_data_point { /// Buckets are a set of bucket counts, encoded in a contiguous array /// of counts. #[derive(serde::Serialize, serde::Deserialize)] - #[derive(Clone, PartialEq, ::prost::Message)] + #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct Buckets { /// Offset is the bucket index of the first entry in the bucket_counts array. /// @@ -544,8 +546,9 @@ pub mod summary_data_point { /// Represents the value at a given quantile of a distribution. /// /// To record Min and Max values following conventions are used: - /// - The 1.0 quantile is equivalent to the maximum value observed. - /// - The 0.0 quantile is equivalent to the minimum value observed. + /// + /// * The 1.0 quantile is equivalent to the maximum value observed. + /// * The 0.0 quantile is equivalent to the minimum value observed. /// /// See the following issue for more context: /// @@ -634,18 +637,18 @@ pub enum AggregationTemporality { /// it receives and reports the sum of these requests every second as a /// DELTA metric: /// - /// 1. The system starts receiving at time=t_0. - /// 2. A request is received, the system measures 1 request. - /// 3. A request is received, the system measures 1 request. - /// 4. A request is received, the system measures 1 request. - /// 5. The 1 second collection cycle ends. A metric is exported for the - /// number of requests received over the interval of time t_0 to - /// t_0+1 with a value of 3. - /// 6. A request is received, the system measures 1 request. - /// 7. A request is received, the system measures 1 request. - /// 8. The 1 second collection cycle ends. A metric is exported for the - /// number of requests received over the interval of time t_0+1 to - /// t_0+2 with a value of 2. + /// 1. The system starts receiving at time=t_0. + /// 1. A request is received, the system measures 1 request. + /// 1. A request is received, the system measures 1 request. + /// 1. A request is received, the system measures 1 request. + /// 1. The 1 second collection cycle ends. A metric is exported for the + /// number of requests received over the interval of time t_0 to + /// t_0+1 with a value of 3. + /// 1. A request is received, the system measures 1 request. + /// 1. A request is received, the system measures 1 request. + /// 1. The 1 second collection cycle ends. A metric is exported for the + /// number of requests received over the interval of time t_0+1 to + /// t_0+2 with a value of 2. Delta = 1, /// CUMULATIVE is an AggregationTemporality for a metric aggregator which /// reports changes since a fixed start time. This means that current values @@ -659,24 +662,24 @@ pub enum AggregationTemporality { /// it receives and reports the sum of these requests every second as a /// CUMULATIVE metric: /// - /// 1. The system starts receiving at time=t_0. - /// 2. A request is received, the system measures 1 request. - /// 3. A request is received, the system measures 1 request. - /// 4. A request is received, the system measures 1 request. - /// 5. The 1 second collection cycle ends. A metric is exported for the - /// number of requests received over the interval of time t_0 to - /// t_0+1 with a value of 3. - /// 6. A request is received, the system measures 1 request. - /// 7. A request is received, the system measures 1 request. - /// 8. The 1 second collection cycle ends. A metric is exported for the - /// number of requests received over the interval of time t_0 to - /// t_0+2 with a value of 5. - /// 9. The system experiences a fault and loses state. - /// 10. The system recovers and resumes receiving at time=t_1. - /// 11. A request is received, the system measures 1 request. - /// 12. The 1 second collection cycle ends. A metric is exported for the - /// number of requests received over the interval of time t_1 to - /// t_0+1 with a value of 1. + /// 1. The system starts receiving at time=t_0. + /// 1. A request is received, the system measures 1 request. + /// 1. A request is received, the system measures 1 request. + /// 1. A request is received, the system measures 1 request. + /// 1. The 1 second collection cycle ends. A metric is exported for the + /// number of requests received over the interval of time t_0 to + /// t_0+1 with a value of 3. + /// 1. A request is received, the system measures 1 request. + /// 1. A request is received, the system measures 1 request. + /// 1. The 1 second collection cycle ends. A metric is exported for the + /// number of requests received over the interval of time t_0 to + /// t_0+2 with a value of 5. + /// 1. The system experiences a fault and loses state. + /// 1. The system recovers and resumes receiving at time=t_1. + /// 1. A request is received, the system measures 1 request. + /// 1. The 1 second collection cycle ends. A metric is exported for the + /// number of requests received over the interval of time t_1 to + /// t_0+1 with a value of 1. /// /// Note: Even though, when reporting changes since last report time, using /// CUMULATIVE is valid, it is not recommended. This may cause problems for @@ -711,8 +714,7 @@ impl AggregationTemporality { /// enum is a bit-mask. To test the presence of a single flag in the flags of /// a data point, for example, use an expression like: /// -/// (point.flags & FLAG_NO_RECORDED_VALUE) == FLAG_NO_RECORDED_VALUE -/// +/// (point.flags & FLAG_NO_RECORDED_VALUE) == FLAG_NO_RECORDED_VALUE #[derive(serde::Serialize, serde::Deserialize)] #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] diff --git a/quickwit/quickwit-proto/src/codegen/opentelemetry/opentelemetry.proto.trace.v1.rs b/quickwit/quickwit-proto/src/codegen/opentelemetry/opentelemetry.proto.trace.v1.rs index e9b1c46e185..7159014a96c 100644 --- a/quickwit/quickwit-proto/src/codegen/opentelemetry/opentelemetry.proto.trace.v1.rs +++ b/quickwit/quickwit-proto/src/codegen/opentelemetry/opentelemetry.proto.trace.v1.rs @@ -124,10 +124,12 @@ pub struct Span { /// attributes is a collection of key/value pairs. Note, global attributes /// like server name can be set using the resource API. Examples of attributes: /// - /// "/http/user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36" - /// "/http/server_latency": 300 - /// "abc.com/myattribute": true - /// "abc.com/score": 10.239 + /// ```text + /// "/http/user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36" + /// "/http/server_latency": 300 + /// "abc.com/myattribute": true + /// "abc.com/score": 10.239 + /// ``` /// /// The OpenTelemetry API specification further restricts the allowed value types: /// @@ -284,7 +286,7 @@ pub mod span { /// The Status type defines a logical error model that is suitable for different /// programming environments, including REST APIs and RPC APIs. #[derive(serde::Serialize, serde::Deserialize)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct Status { /// A developer-facing human readable error message. #[prost(string, tag = "2")] diff --git a/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.cluster.rs b/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.cluster.rs index 8c8549d7730..f326b8e7c29 100644 --- a/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.cluster.rs +++ b/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.cluster.rs @@ -1,6 +1,6 @@ // This file is @generated by prost-build. #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ChitchatId { #[prost(string, tag = "1")] pub node_id: ::prost::alloc::string::String, @@ -10,7 +10,7 @@ pub struct ChitchatId { pub gossip_advertise_addr: ::prost::alloc::string::String, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct VersionedKeyValue { #[prost(string, tag = "1")] pub key: ::prost::alloc::string::String, @@ -34,7 +34,7 @@ pub struct NodeState { pub last_gc_version: u64, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct FetchClusterStateRequest { #[prost(string, tag = "1")] pub cluster_id: ::prost::alloc::string::String, @@ -678,7 +678,7 @@ pub mod cluster_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.cluster.ClusterService/FetchClusterState", ); @@ -825,7 +825,7 @@ pub mod cluster_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = FetchClusterStateSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, diff --git a/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.common.rs b/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.common.rs index b757cebb6d0..82aeb311280 100644 --- a/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.common.rs +++ b/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.common.rs @@ -4,7 +4,7 @@ /// /// Modify at your own risk. #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct DocUid { /// ULID encoded as a sequence of 16 bytes (big-endian u128). #[prost(bytes = "vec", tag = "1")] diff --git a/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.control_plane.rs b/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.control_plane.rs index 311aad39b6f..b8dabbb455b 100644 --- a/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.control_plane.rs +++ b/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.control_plane.rs @@ -15,7 +15,7 @@ pub struct GetOrCreateOpenShardsRequest { pub unavailable_leaders: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct GetOrCreateOpenShardsSubrequest { #[prost(uint32, tag = "1")] pub subrequest_id: u32, @@ -45,7 +45,7 @@ pub struct GetOrCreateOpenShardsSuccess { pub open_shards: ::prost::alloc::vec::Vec, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct GetOrCreateOpenShardsFailure { #[prost(uint32, tag = "1")] pub subrequest_id: u32, @@ -125,55 +125,55 @@ use tower::{Layer, Service, ServiceExt}; #[cfg_attr(any(test, feature = "testsuite"), mockall::automock)] #[async_trait::async_trait] pub trait ControlPlaneService: std::fmt::Debug + Send + Sync + 'static { - /// Creates a new index. + ///Creates a new index. async fn create_index( &self, request: super::metastore::CreateIndexRequest, ) -> crate::control_plane::ControlPlaneResult; - /// Updates an index. + ///Updates an index. async fn update_index( &self, request: super::metastore::UpdateIndexRequest, ) -> crate::control_plane::ControlPlaneResult< super::metastore::IndexMetadataResponse, >; - /// Deletes an index. + ///Deletes an index. async fn delete_index( &self, request: super::metastore::DeleteIndexRequest, ) -> crate::control_plane::ControlPlaneResult; - /// Adds a source to an index. + ///Adds a source to an index. async fn add_source( &self, request: super::metastore::AddSourceRequest, ) -> crate::control_plane::ControlPlaneResult; - /// Update a source. + ///Update a source. async fn update_source( &self, request: super::metastore::UpdateSourceRequest, ) -> crate::control_plane::ControlPlaneResult; - /// Enables or disables a source. + ///Enables or disables a source. async fn toggle_source( &self, request: super::metastore::ToggleSourceRequest, ) -> crate::control_plane::ControlPlaneResult; - /// Removes a source from an index. + ///Removes a source from an index. async fn delete_source( &self, request: super::metastore::DeleteSourceRequest, ) -> crate::control_plane::ControlPlaneResult; - /// Returns the list of open shards for one or several sources. If the control plane is not able to find any - /// for a source, it will pick a pair of leader-follower ingesters and will open a new shard. + ///Returns the list of open shards for one or several sources. If the control plane is not able to find any + ///for a source, it will pick a pair of leader-follower ingesters and will open a new shard. async fn get_or_create_open_shards( &self, request: GetOrCreateOpenShardsRequest, ) -> crate::control_plane::ControlPlaneResult; - /// Asks the control plane whether the shards listed in the request should be deleted or truncated. + ///Asks the control plane whether the shards listed in the request should be deleted or truncated. async fn advise_reset_shards( &self, request: AdviseResetShardsRequest, ) -> crate::control_plane::ControlPlaneResult; - /// Performs a debounced shard pruning request to the metastore. + ///Performs a debounced shard pruning request to the metastore. async fn prune_shards( &self, request: super::metastore::PruneShardsRequest, @@ -2157,7 +2157,7 @@ pub mod control_plane_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.control_plane.ControlPlaneService/CreateIndex", ); @@ -2187,7 +2187,7 @@ pub mod control_plane_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.control_plane.ControlPlaneService/UpdateIndex", ); @@ -2217,7 +2217,7 @@ pub mod control_plane_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.control_plane.ControlPlaneService/DeleteIndex", ); @@ -2247,7 +2247,7 @@ pub mod control_plane_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.control_plane.ControlPlaneService/AddSource", ); @@ -2279,7 +2279,7 @@ pub mod control_plane_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.control_plane.ControlPlaneService/UpdateSource", ); @@ -2311,7 +2311,7 @@ pub mod control_plane_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.control_plane.ControlPlaneService/ToggleSource", ); @@ -2343,7 +2343,7 @@ pub mod control_plane_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.control_plane.ControlPlaneService/DeleteSource", ); @@ -2374,7 +2374,7 @@ pub mod control_plane_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.control_plane.ControlPlaneService/GetOrCreateOpenShards", ); @@ -2404,7 +2404,7 @@ pub mod control_plane_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.control_plane.ControlPlaneService/AdviseResetShards", ); @@ -2434,7 +2434,7 @@ pub mod control_plane_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.control_plane.ControlPlaneService/PruneShards", ); @@ -2659,7 +2659,7 @@ pub mod control_plane_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = CreateIndexSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -2711,7 +2711,7 @@ pub mod control_plane_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = UpdateIndexSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -2763,7 +2763,7 @@ pub mod control_plane_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = DeleteIndexSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -2812,7 +2812,7 @@ pub mod control_plane_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = AddSourceSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -2864,7 +2864,7 @@ pub mod control_plane_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = UpdateSourceSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -2916,7 +2916,7 @@ pub mod control_plane_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = ToggleSourceSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -2968,7 +2968,7 @@ pub mod control_plane_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = DeleteSourceSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -3019,7 +3019,7 @@ pub mod control_plane_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = GetOrCreateOpenShardsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -3068,7 +3068,7 @@ pub mod control_plane_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = AdviseResetShardsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -3120,7 +3120,7 @@ pub mod control_plane_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = PruneShardsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, diff --git a/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.developer.rs b/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.developer.rs index 4956b0c2aae..38520a259ec 100644 --- a/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.developer.rs +++ b/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.developer.rs @@ -1,13 +1,13 @@ // This file is @generated by prost-build. #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct GetDebugInfoRequest { /// Restricts the debug info to the given roles. #[prost(string, repeated, tag = "1")] pub roles: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct GetDebugInfoResponse { #[prost(bytes = "bytes", tag = "1")] pub debug_info_json: ::prost::bytes::Bytes, @@ -611,7 +611,7 @@ pub mod developer_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.developer.DeveloperService/GetDebugInfo", ); @@ -756,7 +756,7 @@ pub mod developer_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = GetDebugInfoSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, diff --git a/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.indexing.rs b/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.indexing.rs index ede0c73c9bd..c22235f36ec 100644 --- a/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.indexing.rs +++ b/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.indexing.rs @@ -26,7 +26,7 @@ pub struct IndexingTask { pub params_fingerprint: u64, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct ApplyIndexingPlanResponse {} /// BEGIN quickwit-codegen #[allow(unused_imports)] @@ -35,7 +35,7 @@ use tower::{Layer, Service, ServiceExt}; #[cfg_attr(any(test, feature = "testsuite"), mockall::automock)] #[async_trait::async_trait] pub trait IndexingService: std::fmt::Debug + Send + Sync + 'static { - /// Apply an indexing plan on the node. + ///Apply an indexing plan on the node. async fn apply_indexing_plan( &self, request: ApplyIndexingPlanRequest, @@ -624,7 +624,7 @@ pub mod indexing_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.indexing.IndexingService/ApplyIndexingPlan", ); @@ -772,7 +772,7 @@ pub mod indexing_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = ApplyIndexingPlanSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, diff --git a/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.ingest.ingester.rs b/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.ingest.ingester.rs index 353abb15301..018e19a39a9 100644 --- a/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.ingest.ingester.rs +++ b/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.ingest.ingester.rs @@ -16,7 +16,7 @@ pub struct RetainShardsRequest { pub retain_shards_for_sources: ::prost::alloc::vec::Vec, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct RetainShardsResponse {} #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -71,7 +71,7 @@ pub struct PersistSuccess { pub parse_failures: ::prost::alloc::vec::Vec, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct PersistFailure { #[prost(uint32, tag = "1")] pub subrequest_id: u32, @@ -125,7 +125,7 @@ pub mod ack_replication_message { } } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct OpenReplicationStreamRequest { #[prost(string, tag = "1")] pub leader_id: ::prost::alloc::string::String, @@ -136,14 +136,14 @@ pub struct OpenReplicationStreamRequest { pub replication_seqno: u64, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct OpenReplicationStreamResponse { /// Position of the response in the replication stream. It should match the position of the request. #[prost(uint64, tag = "1")] pub replication_seqno: u64, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct InitReplicaRequest { #[prost(message, optional, tag = "1")] pub replica_shard: ::core::option::Option, @@ -151,7 +151,7 @@ pub struct InitReplicaRequest { pub replication_seqno: u64, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct InitReplicaResponse { #[prost(uint64, tag = "1")] pub replication_seqno: u64, @@ -201,7 +201,7 @@ pub struct ReplicateResponse { pub replication_seqno: u64, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ReplicateSuccess { #[prost(uint32, tag = "1")] pub subrequest_id: u32, @@ -215,7 +215,7 @@ pub struct ReplicateSuccess { pub replication_position_inclusive: ::core::option::Option, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ReplicateFailure { #[prost(uint32, tag = "1")] pub subrequest_id: u32, @@ -237,7 +237,7 @@ pub struct TruncateShardsRequest { pub subrequests: ::prost::alloc::vec::Vec, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct TruncateShardsSubrequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -253,10 +253,10 @@ pub struct TruncateShardsSubrequest { } /// TODO #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct TruncateShardsResponse {} #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct OpenFetchStreamRequest { #[prost(string, tag = "1")] pub client_id: ::prost::alloc::string::String, @@ -270,7 +270,7 @@ pub struct OpenFetchStreamRequest { pub from_position_exclusive: ::core::option::Option, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct FetchMessage { #[prost(oneof = "fetch_message::Message", tags = "1, 2")] pub message: ::core::option::Option, @@ -279,7 +279,7 @@ pub struct FetchMessage { pub mod fetch_message { #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] #[serde(rename_all = "snake_case")] - #[derive(Clone, PartialEq, ::prost::Oneof)] + #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)] pub enum Message { #[prost(message, tag = "1")] Payload(super::FetchPayload), @@ -288,7 +288,7 @@ pub mod fetch_message { } } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct FetchPayload { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -304,7 +304,7 @@ pub struct FetchPayload { pub to_position_inclusive: ::core::option::Option, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct FetchEof { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -322,7 +322,7 @@ pub struct InitShardsRequest { pub subrequests: ::prost::alloc::vec::Vec, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct InitShardSubrequest { #[prost(uint32, tag = "1")] pub subrequest_id: u32, @@ -342,7 +342,7 @@ pub struct InitShardsResponse { pub failures: ::prost::alloc::vec::Vec, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct InitShardSuccess { #[prost(uint32, tag = "1")] pub subrequest_id: u32, @@ -350,7 +350,7 @@ pub struct InitShardSuccess { pub shard: ::core::option::Option, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct InitShardFailure { #[prost(uint32, tag = "1")] pub subrequest_id: u32, @@ -375,16 +375,16 @@ pub struct CloseShardsResponse { pub successes: ::prost::alloc::vec::Vec, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct DecommissionRequest {} #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct DecommissionResponse {} #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct OpenObservationStreamRequest {} #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ObservationMessage { #[prost(string, tag = "1")] pub node_id: ::prost::alloc::string::String, @@ -569,49 +569,49 @@ pub type IngesterServiceStream = quickwit_common::ServiceStream< #[cfg_attr(any(test, feature = "testsuite"), mockall::automock)] #[async_trait::async_trait] pub trait IngesterService: std::fmt::Debug + Send + Sync + 'static { - /// Persists batches of documents to primary shards hosted on a leader. + ///Persists batches of documents to primary shards hosted on a leader. async fn persist( &self, request: PersistRequest, ) -> crate::ingest::IngestV2Result; - /// Opens a replication stream from a leader to a follower. + ///Opens a replication stream from a leader to a follower. async fn open_replication_stream( &self, request: quickwit_common::ServiceStream, ) -> crate::ingest::IngestV2Result>; - /// Streams records from a leader or a follower. The client can optionally specify a range of positions to fetch, - /// otherwise the stream will go indefinitely or until the shard is closed. + ///Streams records from a leader or a follower. The client can optionally specify a range of positions to fetch, + ///otherwise the stream will go indefinitely or until the shard is closed. async fn open_fetch_stream( &self, request: OpenFetchStreamRequest, ) -> crate::ingest::IngestV2Result>; - /// Streams status updates, called "observations", from an ingester. + ///Streams status updates, called "observations", from an ingester. async fn open_observation_stream( &self, request: OpenObservationStreamRequest, ) -> crate::ingest::IngestV2Result>; - /// Creates and initializes a set of newly opened shards. This RPC is called by the control plane on leaders. + ///Creates and initializes a set of newly opened shards. This RPC is called by the control plane on leaders. async fn init_shards( &self, request: InitShardsRequest, ) -> crate::ingest::IngestV2Result; - /// Only retain the shards that are listed in the request. - /// Other shards are deleted. + ///Only retain the shards that are listed in the request. + ///Other shards are deleted. async fn retain_shards( &self, request: RetainShardsRequest, ) -> crate::ingest::IngestV2Result; - /// Truncates a set of shards at the given positions. This RPC is called by indexers on leaders AND followers. + ///Truncates a set of shards at the given positions. This RPC is called by indexers on leaders AND followers. async fn truncate_shards( &self, request: TruncateShardsRequest, ) -> crate::ingest::IngestV2Result; - /// Closes a set of shards. This RPC is called by the control plane. + ///Closes a set of shards. This RPC is called by the control plane. async fn close_shards( &self, request: CloseShardsRequest, ) -> crate::ingest::IngestV2Result; - /// Decommissions the ingester. + ///Decommissions the ingester. async fn decommission( &self, request: DecommissionRequest, @@ -2403,7 +2403,7 @@ pub mod ingester_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.ingest.ingester.IngesterService/Persist", ); @@ -2435,7 +2435,7 @@ pub mod ingester_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.ingest.ingester.IngesterService/OpenReplicationStream", ); @@ -2466,7 +2466,7 @@ pub mod ingester_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.ingest.ingester.IngesterService/OpenFetchStream", ); @@ -2496,7 +2496,7 @@ pub mod ingester_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.ingest.ingester.IngesterService/OpenObservationStream", ); @@ -2526,7 +2526,7 @@ pub mod ingester_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.ingest.ingester.IngesterService/InitShards", ); @@ -2557,7 +2557,7 @@ pub mod ingester_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.ingest.ingester.IngesterService/RetainShards", ); @@ -2587,7 +2587,7 @@ pub mod ingester_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.ingest.ingester.IngesterService/TruncateShards", ); @@ -2617,7 +2617,7 @@ pub mod ingester_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.ingest.ingester.IngesterService/CloseShards", ); @@ -2647,7 +2647,7 @@ pub mod ingester_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.ingest.ingester.IngesterService/Decommission", ); @@ -2872,7 +2872,7 @@ pub mod ingester_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = PersistSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -2924,7 +2924,7 @@ pub mod ingester_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = OpenReplicationStreamSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -2975,7 +2975,7 @@ pub mod ingester_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = OpenFetchStreamSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -3026,7 +3026,7 @@ pub mod ingester_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = OpenObservationStreamSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -3072,7 +3072,7 @@ pub mod ingester_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = InitShardsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -3118,7 +3118,7 @@ pub mod ingester_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = RetainShardsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -3164,7 +3164,7 @@ pub mod ingester_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = TruncateShardsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -3210,7 +3210,7 @@ pub mod ingester_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = CloseShardsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -3256,7 +3256,7 @@ pub mod ingester_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = DecommissionSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, diff --git a/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.ingest.router.rs b/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.ingest.router.rs index b540175fcec..f502783e038 100644 --- a/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.ingest.router.rs +++ b/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.ingest.router.rs @@ -51,7 +51,7 @@ pub struct IngestSuccess { pub parse_failures: ::prost::alloc::vec::Vec, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct IngestFailure { #[prost(uint32, tag = "1")] pub subrequest_id: u32, @@ -132,8 +132,8 @@ impl RpcName for IngestRequestV2 { #[cfg_attr(any(test, feature = "testsuite"), mockall::automock)] #[async_trait::async_trait] pub trait IngestRouterService: std::fmt::Debug + Send + Sync + 'static { - /// Ingests batches of documents for one or multiple indexes. - /// TODO: Describe error cases and how to handle them. + ///Ingests batches of documents for one or multiple indexes. + ///TODO: Describe error cases and how to handle them. async fn ingest( &self, request: IngestRequestV2, @@ -726,7 +726,7 @@ pub mod ingest_router_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.ingest.router.IngestRouterService/Ingest", ); @@ -873,7 +873,7 @@ pub mod ingest_router_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = IngestSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, diff --git a/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.ingest.rs b/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.ingest.rs index e127f1320f9..dd4cff961ad 100644 --- a/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.ingest.rs +++ b/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.ingest.rs @@ -1,7 +1,7 @@ // This file is @generated by prost-build. /// Shard primary key. #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ShardPKey { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -21,7 +21,7 @@ pub struct DocBatchV2 { pub doc_uids: ::prost::alloc::vec::Vec, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct MRecordBatch { /// Buffer of encoded and then concatenated mrecords. #[prost(bytes = "bytes", tag = "1")] @@ -30,9 +30,8 @@ pub struct MRecordBatch { #[prost(uint32, repeated, tag = "2")] pub mrecord_lengths: ::prost::alloc::vec::Vec, } -#[derive(Eq)] #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct Shard { /// Immutable fields #[prost(message, optional, tag = "1")] @@ -91,7 +90,7 @@ pub struct ShardIdPositions { pub shard_positions: ::prost::alloc::vec::Vec, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ShardIdPosition { #[prost(message, optional, tag = "1")] pub shard_id: ::core::option::Option, @@ -99,7 +98,7 @@ pub struct ShardIdPosition { pub publish_position_inclusive: ::core::option::Option, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ParseFailure { #[prost(message, optional, tag = "1")] pub doc_uid: ::core::option::Option, diff --git a/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.metastore.rs b/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.metastore.rs index 67f3b9410e2..1ba6096d031 100644 --- a/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.metastore.rs +++ b/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.metastore.rs @@ -1,9 +1,9 @@ // This file is @generated by prost-build. #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct EmptyResponse {} #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct CreateIndexRequest { #[prost(string, tag = "2")] pub index_config_json: ::prost::alloc::string::String, @@ -11,7 +11,7 @@ pub struct CreateIndexRequest { pub source_configs_json: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct CreateIndexResponse { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -19,7 +19,7 @@ pub struct CreateIndexResponse { pub index_metadata_json: ::prost::alloc::string::String, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct UpdateIndexRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -37,7 +37,7 @@ pub struct UpdateIndexRequest { >, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ListIndexesMetadataRequest { /// List of patterns an index should match or not match to get considered /// An index must match at least one positive pattern (a pattern not starting @@ -46,7 +46,7 @@ pub struct ListIndexesMetadataRequest { pub index_id_patterns: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ListIndexesMetadataResponse { /// Deprecated (v0.9.0), use `indexes_metadata_json_zstd` instead. #[prost(string, optional, tag = "1")] @@ -59,7 +59,7 @@ pub struct ListIndexesMetadataResponse { pub indexes_metadata_json_zstd: ::prost::bytes::Bytes, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct DeleteIndexRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -69,7 +69,7 @@ pub struct DeleteIndexRequest { /// /// If both are supplied, `index_uid` is used. #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct IndexMetadataRequest { #[prost(string, optional, tag = "1")] pub index_id: ::core::option::Option<::prost::alloc::string::String>, @@ -77,7 +77,7 @@ pub struct IndexMetadataRequest { pub index_uid: ::core::option::Option, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct IndexMetadataResponse { #[prost(string, tag = "1")] pub index_metadata_serialized_json: ::prost::alloc::string::String, @@ -89,7 +89,7 @@ pub struct IndexesMetadataRequest { pub subrequests: ::prost::alloc::vec::Vec, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct IndexMetadataSubrequest { #[prost(string, optional, tag = "1")] pub index_id: ::core::option::Option<::prost::alloc::string::String>, @@ -107,7 +107,7 @@ pub struct IndexesMetadataResponse { pub failures: ::prost::alloc::vec::Vec, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct IndexMetadataFailure { #[prost(string, optional, tag = "1")] pub index_id: ::core::option::Option<::prost::alloc::string::String>, @@ -117,7 +117,7 @@ pub struct IndexMetadataFailure { pub reason: i32, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ListSplitsRequest { /// Predicate used to filter splits. /// The predicate is expressed as a JSON serialized @@ -126,14 +126,14 @@ pub struct ListSplitsRequest { pub query_json: ::prost::alloc::string::String, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ListSplitsResponse { /// TODO use repeated and encode splits json individually. #[prost(string, tag = "1")] pub splits_serialized_json: ::prost::alloc::string::String, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct StageSplitsRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -141,7 +141,7 @@ pub struct StageSplitsRequest { pub split_metadata_list_serialized_json: ::prost::alloc::string::String, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct PublishSplitsRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -157,7 +157,7 @@ pub struct PublishSplitsRequest { pub publish_token_opt: ::core::option::Option<::prost::alloc::string::String>, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct MarkSplitsForDeletionRequest { #[prost(message, optional, tag = "2")] pub index_uid: ::core::option::Option, @@ -165,7 +165,7 @@ pub struct MarkSplitsForDeletionRequest { pub split_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct DeleteSplitsRequest { #[prost(message, optional, tag = "2")] pub index_uid: ::core::option::Option, @@ -173,7 +173,7 @@ pub struct DeleteSplitsRequest { pub split_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct AddSourceRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -181,7 +181,7 @@ pub struct AddSourceRequest { pub source_config_json: ::prost::alloc::string::String, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct UpdateSourceRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -189,7 +189,7 @@ pub struct UpdateSourceRequest { pub source_config_json: ::prost::alloc::string::String, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ToggleSourceRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -199,7 +199,7 @@ pub struct ToggleSourceRequest { pub enable: bool, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct DeleteSourceRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -207,7 +207,7 @@ pub struct DeleteSourceRequest { pub source_id: ::prost::alloc::string::String, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ResetSourceCheckpointRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -215,7 +215,7 @@ pub struct ResetSourceCheckpointRequest { pub source_id: ::prost::alloc::string::String, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct DeleteTask { #[prost(int64, tag = "1")] pub create_timestamp: i64, @@ -225,7 +225,7 @@ pub struct DeleteTask { pub delete_query: ::core::option::Option, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct DeleteQuery { /// Index UID. #[prost(message, optional, tag = "1")] @@ -236,7 +236,7 @@ pub struct DeleteQuery { #[prost(int64, optional, tag = "2")] #[serde(skip_serializing_if = "Option::is_none")] pub start_timestamp: ::core::option::Option, - /// If set, restrict search to documents with a `timestamp < end_timestamp``. + /// If set, restrict search to documents with a \`timestamp \< end_timestamp\``. #[prost(int64, optional, tag = "3")] #[serde(skip_serializing_if = "Option::is_none")] pub end_timestamp: ::core::option::Option, @@ -246,7 +246,7 @@ pub struct DeleteQuery { pub query_ast: ::prost::alloc::string::String, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct UpdateSplitsDeleteOpstampRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -256,22 +256,22 @@ pub struct UpdateSplitsDeleteOpstampRequest { pub delete_opstamp: u64, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct UpdateSplitsDeleteOpstampResponse {} #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct LastDeleteOpstampRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct LastDeleteOpstampResponse { #[prost(uint64, tag = "1")] pub last_delete_opstamp: u64, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ListStaleSplitsRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -281,7 +281,7 @@ pub struct ListStaleSplitsRequest { pub num_splits: u64, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ListDeleteTasksRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -301,7 +301,7 @@ pub struct OpenShardsRequest { pub subrequests: ::prost::alloc::vec::Vec, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct OpenShardSubrequest { #[prost(uint32, tag = "1")] pub subrequest_id: u32, @@ -327,7 +327,7 @@ pub struct OpenShardsResponse { pub subresponses: ::prost::alloc::vec::Vec, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct OpenShardSubresponse { #[prost(uint32, tag = "1")] pub subrequest_id: u32, @@ -382,7 +382,7 @@ pub struct DeleteShardsResponse { pub failures: ::prost::alloc::vec::Vec, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct PruneShardsRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -405,7 +405,7 @@ pub struct ListShardsRequest { pub subrequests: ::prost::alloc::vec::Vec, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ListShardsSubrequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -431,7 +431,7 @@ pub struct ListShardsSubresponse { pub shards: ::prost::alloc::vec::Vec, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct CreateIndexTemplateRequest { #[prost(string, tag = "1")] pub index_template_json: ::prost::alloc::string::String, @@ -439,19 +439,19 @@ pub struct CreateIndexTemplateRequest { pub overwrite: bool, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct GetIndexTemplateRequest { #[prost(string, tag = "1")] pub template_id: ::prost::alloc::string::String, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct GetIndexTemplateResponse { #[prost(string, tag = "1")] pub index_template_json: ::prost::alloc::string::String, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct FindIndexTemplateMatchesRequest { #[prost(string, repeated, tag = "1")] pub index_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, @@ -463,7 +463,7 @@ pub struct FindIndexTemplateMatchesResponse { pub matches: ::prost::alloc::vec::Vec, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct IndexTemplateMatch { #[prost(string, tag = "1")] pub index_id: ::prost::alloc::string::String, @@ -473,25 +473,25 @@ pub struct IndexTemplateMatch { pub index_template_json: ::prost::alloc::string::String, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct ListIndexTemplatesRequest {} #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ListIndexTemplatesResponse { #[prost(string, repeated, tag = "1")] pub index_templates_json: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct DeleteIndexTemplatesRequest { #[prost(string, repeated, tag = "1")] pub template_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct GetClusterIdentityRequest {} #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct GetClusterIdentityResponse { #[prost(string, tag = "1")] pub uuid: ::prost::alloc::string::String, @@ -763,144 +763,144 @@ pub type MetastoreServiceStream = quickwit_common::ServiceStream< #[cfg_attr(any(test, feature = "testsuite"), mockall::automock)] #[async_trait::async_trait] pub trait MetastoreService: std::fmt::Debug + Send + Sync + 'static { - /// Creates an index. + ///Creates an index. /// - /// This API creates a new index in the metastore. - /// An error will occur if an index that already exists in the storage is specified. + ///This API creates a new index in the metastore. + ///An error will occur if an index that already exists in the storage is specified. async fn create_index( &self, request: CreateIndexRequest, ) -> crate::metastore::MetastoreResult; - /// Update an index. + ///Update an index. async fn update_index( &self, request: UpdateIndexRequest, ) -> crate::metastore::MetastoreResult; - /// Returns the `IndexMetadata` of an index identified by its IndexID or its IndexUID. + ///Returns the `IndexMetadata` of an index identified by its IndexID or its IndexUID. async fn index_metadata( &self, request: IndexMetadataRequest, ) -> crate::metastore::MetastoreResult; - /// Fetches the metadata of a list of indexes identified by their Index IDs or UIDs. + ///Fetches the metadata of a list of indexes identified by their Index IDs or UIDs. async fn indexes_metadata( &self, request: IndexesMetadataRequest, ) -> crate::metastore::MetastoreResult; - /// Gets an indexes metadatas. + ///Gets an indexes metadatas. async fn list_indexes_metadata( &self, request: ListIndexesMetadataRequest, ) -> crate::metastore::MetastoreResult; - /// Deletes an index + ///Deletes an index async fn delete_index( &self, request: DeleteIndexRequest, ) -> crate::metastore::MetastoreResult; - /// Streams splits from index. + ///Streams splits from index. async fn list_splits( &self, request: ListSplitsRequest, ) -> crate::metastore::MetastoreResult>; - /// Stages several splits. + ///Stages several splits. async fn stage_splits( &self, request: StageSplitsRequest, ) -> crate::metastore::MetastoreResult; - /// Publishes split. + ///Publishes split. async fn publish_splits( &self, request: PublishSplitsRequest, ) -> crate::metastore::MetastoreResult; - /// Marks splits for deletion. + ///Marks splits for deletion. async fn mark_splits_for_deletion( &self, request: MarkSplitsForDeletionRequest, ) -> crate::metastore::MetastoreResult; - /// Deletes splits. + ///Deletes splits. async fn delete_splits( &self, request: DeleteSplitsRequest, ) -> crate::metastore::MetastoreResult; - /// Adds a source. + ///Adds a source. async fn add_source( &self, request: AddSourceRequest, ) -> crate::metastore::MetastoreResult; - /// Updates a source. + ///Updates a source. async fn update_source( &self, request: UpdateSourceRequest, ) -> crate::metastore::MetastoreResult; - /// Toggles (turns on or off) source. + ///Toggles (turns on or off) source. async fn toggle_source( &self, request: ToggleSourceRequest, ) -> crate::metastore::MetastoreResult; - /// Removes source. + ///Removes source. async fn delete_source( &self, request: DeleteSourceRequest, ) -> crate::metastore::MetastoreResult; - /// Resets source checkpoint. + ///Resets source checkpoint. async fn reset_source_checkpoint( &self, request: ResetSourceCheckpointRequest, ) -> crate::metastore::MetastoreResult; - /// Gets last opstamp for a given `index_id`. + ///Gets last opstamp for a given `index_id`. async fn last_delete_opstamp( &self, request: LastDeleteOpstampRequest, ) -> crate::metastore::MetastoreResult; - /// Creates a delete task. + ///Creates a delete task. async fn create_delete_task( &self, request: DeleteQuery, ) -> crate::metastore::MetastoreResult; - /// Updates splits `delete_opstamp`. + ///Updates splits `delete_opstamp`. async fn update_splits_delete_opstamp( &self, request: UpdateSplitsDeleteOpstampRequest, ) -> crate::metastore::MetastoreResult; - /// Lists delete tasks with `delete_task.opstamp` > `opstamp_start` for a given `index_id`. + ///Lists delete tasks with `delete_task.opstamp` > `opstamp_start` for a given `index_id`. async fn list_delete_tasks( &self, request: ListDeleteTasksRequest, ) -> crate::metastore::MetastoreResult; - /// Lists splits with `split.delete_opstamp` < `delete_opstamp` for a given `index_id`. + ///Lists splits with `split.delete_opstamp` \< `delete_opstamp` for a given `index_id`. async fn list_stale_splits( &self, request: ListStaleSplitsRequest, ) -> crate::metastore::MetastoreResult; - /// Shard API + ///Shard API /// - /// Note that for the file-backed metastore implementation, the requests are not processed atomically. - /// Indeed, each request comprises one or more subrequests that target different indexes and sources processed - /// independently. Responses list the requests that succeeded or failed in the fields `successes` and - /// `failures`. + ///Note that for the file-backed metastore implementation, the requests are not processed atomically. + ///Indeed, each request comprises one or more subrequests that target different indexes and sources processed + ///independently. Responses list the requests that succeeded or failed in the fields `successes` and + ///`failures`. async fn open_shards( &self, request: OpenShardsRequest, ) -> crate::metastore::MetastoreResult; - /// Acquires a set of shards for indexing. This RPC locks the shards for publishing thanks to a publish token and only - /// the last indexer that has acquired the shards is allowed to publish. The response returns for each subrequest the - /// list of acquired shards along with the positions to index from. + ///Acquires a set of shards for indexing. This RPC locks the shards for publishing thanks to a publish token and only + ///the last indexer that has acquired the shards is allowed to publish. The response returns for each subrequest the + ///list of acquired shards along with the positions to index from. /// - /// If a requested shard is missing, this method does not return an error. It should simply return the list of - /// shards that were actually acquired. + ///If a requested shard is missing, this method does not return an error. It should simply return the list of + ///shards that were actually acquired. /// - /// For this reason, AcquireShards.acquire_shards may return less subresponse than there was in the request. - /// Also they may be returned in any order. + ///For this reason, AcquireShards.acquire_shards may return less subresponse than there was in the request. + ///Also they may be returned in any order. async fn acquire_shards( &self, request: AcquireShardsRequest, ) -> crate::metastore::MetastoreResult; - /// Deletes a set of shards. This RPC deletes the shards from the metastore. - /// If the shard did not exist to begin with, the operation is successful and does not return any error. + ///Deletes a set of shards. This RPC deletes the shards from the metastore. + ///If the shard did not exist to begin with, the operation is successful and does not return any error. async fn delete_shards( &self, request: DeleteShardsRequest, ) -> crate::metastore::MetastoreResult; - /// Deletes outdated shards. This RPC deletes the shards from the metastore. + ///Deletes outdated shards. This RPC deletes the shards from the metastore. async fn prune_shards( &self, request: PruneShardsRequest, @@ -909,32 +909,32 @@ pub trait MetastoreService: std::fmt::Debug + Send + Sync + 'static { &self, request: ListShardsRequest, ) -> crate::metastore::MetastoreResult; - /// Creates an index template. + ///Creates an index template. async fn create_index_template( &self, request: CreateIndexTemplateRequest, ) -> crate::metastore::MetastoreResult; - /// Fetches an index template. + ///Fetches an index template. async fn get_index_template( &self, request: GetIndexTemplateRequest, ) -> crate::metastore::MetastoreResult; - /// Finds matching index templates. + ///Finds matching index templates. async fn find_index_template_matches( &self, request: FindIndexTemplateMatchesRequest, ) -> crate::metastore::MetastoreResult; - /// Returns all the index templates. + ///Returns all the index templates. async fn list_index_templates( &self, request: ListIndexTemplatesRequest, ) -> crate::metastore::MetastoreResult; - /// Deletes index templates. + ///Deletes index templates. async fn delete_index_templates( &self, request: DeleteIndexTemplatesRequest, ) -> crate::metastore::MetastoreResult; - /// Get cluster identity + ///Get cluster identity async fn get_cluster_identity( &self, request: GetClusterIdentityRequest, @@ -5973,18 +5973,25 @@ pub mod metastore_service_grpc_client { /// We rely on atomically transitioning the status of splits. /// /// The split state goes through the following life cycle: + /// /// 1. `Staged` - /// - Start uploading the split files. + /// + /// * Start uploading the split files. + /// /// 2. `Published` - /// - Uploading the split files is complete and the split is searchable. + /// + /// * Uploading the split files is complete and the split is searchable. + /// /// 3. `MarkedForDeletion` - /// - Mark the split for deletion. + /// + /// * Mark the split for deletion. /// /// If a split has a file in the storage, it MUST be registered in the metastore, /// and its state can be as follows: - /// - `Staged`: The split is almost ready. Some of its files may have been uploaded in the storage. - /// - `Published`: The split is ready and published. - /// - `MarkedForDeletion`: The split is marked for deletion. + /// + /// * `Staged`: The split is almost ready. Some of its files may have been uploaded in the storage. + /// * `Published`: The split is ready and published. + /// * `MarkedForDeletion`: The split is marked for deletion. /// /// Before creating any file, we need to stage the split. If there is a failure, upon recovery, we /// schedule for deletion all the staged splits. A client may not necessarily remove files from @@ -5999,13 +6006,14 @@ pub mod metastore_service_grpc_client { /// /// Quickwit needs a way to track that a delete task has been applied to a split. This is ensured /// by two mechanisms: - /// - On creation of a delete task, we give to the task a monotically increasing opstamp (uniqueness - /// and monotonically increasing must be true at the index level). - /// - When a delete task is executed on a split, that is when the documents matched by the search - /// query are removed from the splits, we update the split's `delete_opstamp` to the value of the - /// task's opstamp. This marks the split as "up-to-date" regarding this delete task. If new delete - /// tasks are added, we will know that we need to run these delete tasks on the splits as its - /// `delete_optstamp` will be inferior to the `opstamp` of the new tasks. + /// + /// * On creation of a delete task, we give to the task a monotically increasing opstamp (uniqueness + /// and monotonically increasing must be true at the index level). + /// * When a delete task is executed on a split, that is when the documents matched by the search + /// query are removed from the splits, we update the split's `delete_opstamp` to the value of the + /// task's opstamp. This marks the split as "up-to-date" regarding this delete task. If new delete + /// tasks are added, we will know that we need to run these delete tasks on the splits as its + /// `delete_optstamp` will be inferior to the `opstamp` of the new tasks. /// /// For splits created after a given delete task, Quickwit's indexing ensures that these splits /// are created with a `delete_opstamp` equal the latest opstamp of the tasks of the @@ -6109,7 +6117,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/CreateIndex", ); @@ -6136,7 +6144,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/UpdateIndex", ); @@ -6163,7 +6171,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/IndexMetadata", ); @@ -6193,7 +6201,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/IndexesMetadata", ); @@ -6223,7 +6231,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/ListIndexesMetadata", ); @@ -6250,7 +6258,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/DeleteIndex", ); @@ -6277,7 +6285,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/ListSplits", ); @@ -6301,7 +6309,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/StageSplits", ); @@ -6325,7 +6333,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/PublishSplits", ); @@ -6352,7 +6360,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/MarkSplitsForDeletion", ); @@ -6379,7 +6387,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/DeleteSplits", ); @@ -6406,7 +6414,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/AddSource", ); @@ -6430,7 +6438,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/UpdateSource", ); @@ -6457,7 +6465,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/ToggleSource", ); @@ -6484,7 +6492,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/DeleteSource", ); @@ -6511,7 +6519,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/ResetSourceCheckpoint", ); @@ -6541,7 +6549,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/LastDeleteOpstamp", ); @@ -6568,7 +6576,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/CreateDeleteTask", ); @@ -6598,7 +6606,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/UpdateSplitsDeleteOpstamp", ); @@ -6628,7 +6636,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/ListDeleteTasks", ); @@ -6642,7 +6650,7 @@ pub mod metastore_service_grpc_client { ); self.inner.unary(req, path, codec).await } - /// Lists splits with `split.delete_opstamp` < `delete_opstamp` for a given `index_id`. + /// Lists splits with `split.delete_opstamp` \< `delete_opstamp` for a given `index_id`. pub async fn list_stale_splits( &mut self, request: impl tonic::IntoRequest, @@ -6658,7 +6666,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/ListStaleSplits", ); @@ -6693,7 +6701,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/OpenShards", ); @@ -6728,7 +6736,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/AcquireShards", ); @@ -6759,7 +6767,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/DeleteShards", ); @@ -6786,7 +6794,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/PruneShards", ); @@ -6812,7 +6820,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/ListShards", ); @@ -6836,7 +6844,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/CreateIndexTemplate", ); @@ -6866,7 +6874,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/GetIndexTemplate", ); @@ -6896,7 +6904,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/FindIndexTemplateMatches", ); @@ -6926,7 +6934,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/ListIndexTemplates", ); @@ -6953,7 +6961,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/DeleteIndexTemplates", ); @@ -6983,7 +6991,7 @@ pub mod metastore_service_grpc_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/GetClusterIdentity", ); @@ -7145,7 +7153,7 @@ pub mod metastore_service_grpc_server { tonic::Response, tonic::Status, >; - /// Lists splits with `split.delete_opstamp` < `delete_opstamp` for a given `index_id`. + /// Lists splits with `split.delete_opstamp` \< `delete_opstamp` for a given `index_id`. async fn list_stale_splits( &self, request: tonic::Request, @@ -7255,18 +7263,25 @@ pub mod metastore_service_grpc_server { /// We rely on atomically transitioning the status of splits. /// /// The split state goes through the following life cycle: + /// /// 1. `Staged` - /// - Start uploading the split files. + /// + /// * Start uploading the split files. + /// /// 2. `Published` - /// - Uploading the split files is complete and the split is searchable. + /// + /// * Uploading the split files is complete and the split is searchable. + /// /// 3. `MarkedForDeletion` - /// - Mark the split for deletion. + /// + /// * Mark the split for deletion. /// /// If a split has a file in the storage, it MUST be registered in the metastore, /// and its state can be as follows: - /// - `Staged`: The split is almost ready. Some of its files may have been uploaded in the storage. - /// - `Published`: The split is ready and published. - /// - `MarkedForDeletion`: The split is marked for deletion. + /// + /// * `Staged`: The split is almost ready. Some of its files may have been uploaded in the storage. + /// * `Published`: The split is ready and published. + /// * `MarkedForDeletion`: The split is marked for deletion. /// /// Before creating any file, we need to stage the split. If there is a failure, upon recovery, we /// schedule for deletion all the staged splits. A client may not necessarily remove files from @@ -7281,13 +7296,14 @@ pub mod metastore_service_grpc_server { /// /// Quickwit needs a way to track that a delete task has been applied to a split. This is ensured /// by two mechanisms: - /// - On creation of a delete task, we give to the task a monotically increasing opstamp (uniqueness - /// and monotonically increasing must be true at the index level). - /// - When a delete task is executed on a split, that is when the documents matched by the search - /// query are removed from the splits, we update the split's `delete_opstamp` to the value of the - /// task's opstamp. This marks the split as "up-to-date" regarding this delete task. If new delete - /// tasks are added, we will know that we need to run these delete tasks on the splits as its - /// `delete_optstamp` will be inferior to the `opstamp` of the new tasks. + /// + /// * On creation of a delete task, we give to the task a monotically increasing opstamp (uniqueness + /// and monotonically increasing must be true at the index level). + /// * When a delete task is executed on a split, that is when the documents matched by the search + /// query are removed from the splits, we update the split's `delete_opstamp` to the value of the + /// task's opstamp. This marks the split as "up-to-date" regarding this delete task. If new delete + /// tasks are added, we will know that we need to run these delete tasks on the splits as its + /// `delete_optstamp` will be inferior to the `opstamp` of the new tasks. /// /// For splits created after a given delete task, Quickwit's indexing ensures that these splits /// are created with a `delete_opstamp` equal the latest opstamp of the tasks of the @@ -7400,7 +7416,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = CreateIndexSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -7446,7 +7462,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = UpdateIndexSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -7492,7 +7508,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = IndexMetadataSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -7541,7 +7557,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = IndexesMetadataSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -7590,7 +7606,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = ListIndexesMetadataSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -7636,7 +7652,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = DeleteIndexSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -7683,7 +7699,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = ListSplitsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -7729,7 +7745,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = StageSplitsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -7775,7 +7791,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = PublishSplitsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -7824,7 +7840,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = MarkSplitsForDeletionSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -7870,7 +7886,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = DeleteSplitsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -7916,7 +7932,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = AddSourceSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -7962,7 +7978,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = UpdateSourceSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -8008,7 +8024,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = ToggleSourceSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -8054,7 +8070,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = DeleteSourceSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -8103,7 +8119,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = ResetSourceCheckpointSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -8152,7 +8168,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = LastDeleteOpstampSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -8201,7 +8217,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = CreateDeleteTaskSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -8255,7 +8271,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = UpdateSplitsDeleteOpstampSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -8304,7 +8320,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = ListDeleteTasksSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -8353,7 +8369,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = ListStaleSplitsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -8399,7 +8415,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = OpenShardsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -8445,7 +8461,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = AcquireShardsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -8491,7 +8507,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = DeleteShardsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -8537,7 +8553,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = PruneShardsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -8583,7 +8599,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = ListShardsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -8632,7 +8648,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = CreateIndexTemplateSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -8681,7 +8697,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = GetIndexTemplateSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -8734,7 +8750,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = FindIndexTemplateMatchesSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -8783,7 +8799,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = ListIndexTemplatesSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -8832,7 +8848,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = DeleteIndexTemplatesSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -8881,7 +8897,7 @@ pub mod metastore_service_grpc_server { let inner = self.inner.clone(); let fut = async move { let method = GetClusterIdentitySvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, diff --git a/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.search.rs b/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.search.rs index 07bbdb5ce21..e1201ce7a0e 100644 --- a/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.search.rs +++ b/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.search.rs @@ -1,7 +1,7 @@ // This file is @generated by prost-build. /// / Scroll Request #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ScrollRequest { /// / The `scroll_id` is the given in the response of a search request including a scroll. #[prost(string, tag = "1")] @@ -10,7 +10,7 @@ pub struct ScrollRequest { pub scroll_ttl_secs: ::core::option::Option, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct PutKvRequest { #[prost(bytes = "vec", tag = "1")] pub key: ::prost::alloc::vec::Vec, @@ -20,22 +20,22 @@ pub struct PutKvRequest { pub ttl_secs: u32, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct PutKvResponse {} #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct GetKvRequest { #[prost(bytes = "vec", tag = "1")] pub key: ::prost::alloc::vec::Vec, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct GetKvResponse { #[prost(bytes = "vec", optional, tag = "1")] pub payload: ::core::option::Option<::prost::alloc::vec::Vec>, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ReportSplit { /// Split id (ULID format `01HAV29D4XY3D462FS3D8K5Q2H`) #[prost(string, tag = "2")] @@ -51,10 +51,10 @@ pub struct ReportSplitsRequest { pub report_splits: ::prost::alloc::vec::Vec, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct ReportSplitsResponse {} #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ListFieldsRequest { /// Index ID patterns #[prost(string, repeated, tag = "1")] @@ -65,7 +65,7 @@ pub struct ListFieldsRequest { pub fields: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, /// Time filter, expressed in seconds since epoch. /// That filter is to be interpreted as the semi-open interval: - /// [start_timestamp, end_timestamp). + /// \[start_timestamp, end_timestamp). #[prost(int64, optional, tag = "3")] pub start_timestamp: ::core::option::Option, #[prost(int64, optional, tag = "4")] @@ -96,7 +96,7 @@ pub struct ListFieldsResponse { pub fields: ::prost::alloc::vec::Vec, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ListFieldsEntryResponse { #[prost(string, tag = "1")] pub field_name: ::prost::alloc::string::String, @@ -131,7 +131,7 @@ pub struct ListFields { pub fields: ::prost::alloc::vec::Vec, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Eq, Hash)] +#[derive(Hash, Eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SearchRequest { /// Index ID patterns @@ -142,7 +142,7 @@ pub struct SearchRequest { pub query_ast: ::prost::alloc::string::String, /// Time filter, expressed in seconds since epoch. /// That filter is to be interpreted as the semi-open interval: - /// [start_timestamp, end_timestamp). + /// \[start_timestamp, end_timestamp). /// If the query AST contains a range query over the timestamp field, /// then the the bounds of the range query are used directly and /// these two fields are ignored. @@ -157,7 +157,7 @@ pub struct SearchRequest { /// can be used for pagination. /// /// E.g. - /// The results with rank [start_offset..start_offset + max_hits) are returned. + /// The results with rank \[start_offset..start_offset + max_hits) are returned. #[prost(uint64, tag = "7")] pub start_offset: u64, /// json serialized aggregation_request @@ -176,7 +176,7 @@ pub struct SearchRequest { pub scroll_ttl_secs: ::core::option::Option, /// Document with sort tuple smaller or equal to this are discarded to /// enable pagination. - /// If split_id is empty, no comparison with _shard_doc should be done + /// If split_id is empty, no comparison with \_shard_doc should be done #[prost(message, optional, tag = "16")] pub search_after: ::core::option::Option, #[prost(enumeration = "CountHits", tag = "17")] @@ -187,8 +187,7 @@ pub struct SearchRequest { pub ignore_missing_indexes: bool, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Eq, Hash)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct SortField { #[prost(string, tag = "1")] pub field_name: ::prost::alloc::string::String, @@ -235,13 +234,13 @@ pub struct SearchResponse { pub num_successful_splits: u64, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct SearchPlanResponse { #[prost(string, tag = "1")] pub result: ::prost::alloc::string::String, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct SplitSearchError { /// The searcherror that occurred formatted as string. #[prost(string, tag = "1")] @@ -276,7 +275,7 @@ pub struct LeafSearchRequest { pub index_uris: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct ResourceStats { #[prost(uint64, tag = "1")] pub short_lived_cache_num_bytes: u64, @@ -305,7 +304,7 @@ pub struct LeafRequestRef { pub split_offsets: ::prost::alloc::vec::Vec, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct SplitIdAndFooterOffsets { /// Index split id to apply the query on. /// This id is resolved from the index_uri defined in the search_request. @@ -333,10 +332,11 @@ pub struct SplitIdAndFooterOffsets { /// It is very different from a quickwit json doc. /// /// For instance: -/// - it may contain a _source and a _dynamic field. -/// - since tantivy has no notion of cardinality, +/// +/// * it may contain a \_source and a \_dynamic field. +/// * since tantivy has no notion of cardinality, /// all fields are arrays. -/// - since tantivy has no notion of object, the object is +/// * since tantivy has no notion of object, the object is /// flattened by concatenating the path to the root. /// /// See `quickwit_search::convert_leaf_hit` @@ -381,11 +381,12 @@ pub struct Hit { /// emits an decreasing mapping of this fast field. /// /// In case of a tie, quickwit uses the increasing order of -/// - the split_id, -/// - the segment_ord, -/// - the doc id. +/// +/// * the split_id, +/// * the segment_ord, +/// * the doc id. #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Eq, Hash)] +#[derive(Hash, Eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PartialHit { #[prost(message, optional, tag = "10")] @@ -456,7 +457,7 @@ pub struct LeafSearchResponse { pub resource_stats: ::core::option::Option, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct SnippetRequest { #[prost(string, repeated, tag = "1")] pub snippet_fields: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, @@ -492,7 +493,7 @@ pub struct FetchDocsResponse { pub hits: ::prost::alloc::vec::Vec, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ListTermsRequest { /// Index ID patterns #[prost(string, repeated, tag = "1")] @@ -515,7 +516,7 @@ pub struct ListTermsRequest { pub end_key: ::core::option::Option<::prost::alloc::vec::Vec>, } #[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ListTermsResponse { /// Number of hits matching the query. #[prost(uint64, tag = "1")] @@ -654,7 +655,7 @@ pub enum SortOrder { Asc = 0, /// Descending order. /// - /// < This will be the default value; + /// \< This will be the default value; Desc = 1, } impl SortOrder { @@ -816,7 +817,7 @@ pub mod search_service_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.search.SearchService/RootSearch", ); @@ -828,10 +829,11 @@ pub mod search_service_client { /// Perform a leaf search on a given set of splits. /// /// It is like a regular search except that: - /// - the node should perform the search locally instead of dispatching - /// it to other nodes. - /// - it should be applied on the given subset of splits - /// - Hit content is not fetched, and we instead return so called `PartialHit`. + /// + /// * the node should perform the search locally instead of dispatching + /// it to other nodes. + /// * it should be applied on the given subset of splits + /// * Hit content is not fetched, and we instead return so called `PartialHit`. pub async fn leaf_search( &mut self, request: impl tonic::IntoRequest, @@ -847,7 +849,7 @@ pub mod search_service_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.search.SearchService/LeafSearch", ); @@ -873,7 +875,7 @@ pub mod search_service_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.search.SearchService/FetchDocs", ); @@ -902,7 +904,7 @@ pub mod search_service_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.search.SearchService/RootListTerms", ); @@ -916,9 +918,10 @@ pub mod search_service_client { /// Performs a leaf list terms on a given set of splits. /// /// It is like a regular list term except that: - /// - the node should perform the listing locally instead of dispatching - /// it to other nodes. - /// - it should be applied on the given subset of splits + /// + /// * the node should perform the listing locally instead of dispatching + /// it to other nodes. + /// * it should be applied on the given subset of splits pub async fn leaf_list_terms( &mut self, request: impl tonic::IntoRequest, @@ -934,7 +937,7 @@ pub mod search_service_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.search.SearchService/LeafListTerms", ); @@ -958,7 +961,7 @@ pub mod search_service_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.search.SearchService/Scroll", ); @@ -981,7 +984,7 @@ pub mod search_service_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.search.SearchService/PutKV", ); @@ -1004,7 +1007,7 @@ pub mod search_service_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.search.SearchService/GetKV", ); @@ -1028,7 +1031,7 @@ pub mod search_service_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.search.SearchService/ReportSplits", ); @@ -1054,7 +1057,7 @@ pub mod search_service_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.search.SearchService/ListFields", ); @@ -1078,7 +1081,7 @@ pub mod search_service_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.search.SearchService/LeafListFields", ); @@ -1105,7 +1108,7 @@ pub mod search_service_client { format!("Service was not ready: {}", e.into()), ) })?; - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.search.SearchService/SearchPlan", ); @@ -1141,10 +1144,11 @@ pub mod search_service_server { /// Perform a leaf search on a given set of splits. /// /// It is like a regular search except that: - /// - the node should perform the search locally instead of dispatching - /// it to other nodes. - /// - it should be applied on the given subset of splits - /// - Hit content is not fetched, and we instead return so called `PartialHit`. + /// + /// * the node should perform the search locally instead of dispatching + /// it to other nodes. + /// * it should be applied on the given subset of splits + /// * Hit content is not fetched, and we instead return so called `PartialHit`. async fn leaf_search( &self, request: tonic::Request, @@ -1176,9 +1180,10 @@ pub mod search_service_server { /// Performs a leaf list terms on a given set of splits. /// /// It is like a regular list term except that: - /// - the node should perform the listing locally instead of dispatching - /// it to other nodes. - /// - it should be applied on the given subset of splits + /// + /// * the node should perform the listing locally instead of dispatching + /// it to other nodes. + /// * it should be applied on the given subset of splits async fn leaf_list_terms( &self, request: tonic::Request, @@ -1339,7 +1344,7 @@ pub mod search_service_server { let inner = self.inner.clone(); let fut = async move { let method = RootSearchSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -1384,7 +1389,7 @@ pub mod search_service_server { let inner = self.inner.clone(); let fut = async move { let method = LeafSearchSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -1429,7 +1434,7 @@ pub mod search_service_server { let inner = self.inner.clone(); let fut = async move { let method = FetchDocsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -1474,7 +1479,7 @@ pub mod search_service_server { let inner = self.inner.clone(); let fut = async move { let method = RootListTermsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -1519,7 +1524,7 @@ pub mod search_service_server { let inner = self.inner.clone(); let fut = async move { let method = LeafListTermsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -1564,7 +1569,7 @@ pub mod search_service_server { let inner = self.inner.clone(); let fut = async move { let method = ScrollSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -1608,7 +1613,7 @@ pub mod search_service_server { let inner = self.inner.clone(); let fut = async move { let method = PutKVSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -1652,7 +1657,7 @@ pub mod search_service_server { let inner = self.inner.clone(); let fut = async move { let method = GetKVSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -1697,7 +1702,7 @@ pub mod search_service_server { let inner = self.inner.clone(); let fut = async move { let method = ReportSplitsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -1742,7 +1747,7 @@ pub mod search_service_server { let inner = self.inner.clone(); let fut = async move { let method = ListFieldsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -1788,7 +1793,7 @@ pub mod search_service_server { let inner = self.inner.clone(); let fut = async move { let method = LeafListFieldsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, @@ -1833,7 +1838,7 @@ pub mod search_service_server { let inner = self.inner.clone(); let fut = async move { let method = SearchPlanSvc(inner); - let codec = tonic::codec::ProstCodec::default(); + let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( accept_compression_encodings, From 0d407b5a400b49fb7f4572c890144085268985e3 Mon Sep 17 00:00:00 2001 From: "cong.xie" Date: Thu, 18 Dec 2025 21:35:16 -0500 Subject: [PATCH 13/20] fix lint --- .../quickwit-storage/src/opendal_storage/base.rs | 4 +--- .../src/opendal_storage/google_cloud_storage.rs | 4 +--- .../quickwit-storage/tests/google_cloud_storage.rs | 12 ++++++------ 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/quickwit/quickwit-storage/src/opendal_storage/base.rs b/quickwit/quickwit-storage/src/opendal_storage/base.rs index 558fa988d65..f4a203eb9a9 100644 --- a/quickwit/quickwit-storage/src/opendal_storage/base.rs +++ b/quickwit/quickwit-storage/src/opendal_storage/base.rs @@ -168,9 +168,7 @@ impl Storage for OpendalStorage { #[cfg(feature = "integration-testsuite")] { let storage_info = self.op.info(); - if storage_info.name().starts_with("sample-bucket") - && storage_info.scheme() == "gcs" - { + if storage_info.name().starts_with("sample-bucket") && storage_info.scheme() == "gcs" { let mut bulk_error = BulkDeleteError::default(); for (index, path) in paths.iter().enumerate() { crate::STORAGE_METRICS diff --git a/quickwit/quickwit-storage/src/opendal_storage/google_cloud_storage.rs b/quickwit/quickwit-storage/src/opendal_storage/google_cloud_storage.rs index cb8216531ef..fc022fd1e08 100644 --- a/quickwit/quickwit-storage/src/opendal_storage/google_cloud_storage.rs +++ b/quickwit/quickwit-storage/src/opendal_storage/google_cloud_storage.rs @@ -58,7 +58,6 @@ pub mod test_config_helpers { /// URL of the local GCP emulator. pub const LOCAL_GCP_EMULATOR_ENDPOINT: &str = "http://127.0.0.1:4443"; - /// Creates a storage connecting to a local emulated google cloud storage. pub fn new_emulated_google_cloud_storage( uri: &Uri, @@ -68,8 +67,7 @@ pub mod test_config_helpers { let cfg = opendal::services::Gcs::default() .bucket(&bucket) .root(&root.to_string_lossy()) - .endpoint(LOCAL_GCP_EMULATOR_ENDPOINT) -; + .endpoint(LOCAL_GCP_EMULATOR_ENDPOINT); let store = OpendalStorage::new_google_cloud_storage(uri.clone(), cfg)?; Ok(store) } diff --git a/quickwit/quickwit-storage/tests/google_cloud_storage.rs b/quickwit/quickwit-storage/tests/google_cloud_storage.rs index 63fe56376f2..c87dfc6b2d3 100644 --- a/quickwit/quickwit-storage/tests/google_cloud_storage.rs +++ b/quickwit/quickwit-storage/tests/google_cloud_storage.rs @@ -30,29 +30,29 @@ mod gcp_storage_test_suite { pub async fn sign_gcs_request(req: &mut reqwest::Request) -> anyhow::Result<()> { let signer = reqsign::google::default_signer("storage"); - + // Create http::Request and extract parts for signing let http_req = http::Request::builder() .method(req.method()) .uri(req.url().as_str()) .version(http::Version::HTTP_11) .body(())?; - + let (mut parts, _body) = http_req.into_parts(); - + // Copy headers from reqwest request parts.headers = req.headers().clone(); - + // Sign the request parts signer.sign(&mut parts, None).await?; - + // Update the original request with signed headers let headers = req.headers_mut(); headers.clear(); for (key, value) in &parts.headers { headers.insert(key.clone(), value.clone()); } - + Ok(()) } From 919d1bb75361cb2c6cfed44d19e56103315c8198 Mon Sep 17 00:00:00 2001 From: "cong.xie" Date: Thu, 18 Dec 2025 21:37:38 -0500 Subject: [PATCH 14/20] update 3rd license --- LICENSE-3rdparty.csv | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/LICENSE-3rdparty.csv b/LICENSE-3rdparty.csv index 2e0c4c6f882..9bcc16325e7 100644 --- a/LICENSE-3rdparty.csv +++ b/LICENSE-3rdparty.csv @@ -363,6 +363,8 @@ prost-derive,https://github.com/tokio-rs/prost,Apache-2.0,"Dan Burkert , Lucio Franco , Casper Meijn , Tokio Contributors " protobuf,https://github.com/stepancheg/rust-protobuf,MIT,Stepan Koltsov protobuf-support,https://github.com/stepancheg/rust-protobuf,MIT,Stepan Koltsov +pulldown-cmark,https://github.com/raphlinus/pulldown-cmark,MIT,"Raph Levien , Marcus Klaas de Vries " +pulldown-cmark-to-cmark,https://github.com/Byron/pulldown-cmark-to-cmark,Apache-2.0,"Sebastian Thiel , Dylan Owen , Alessandro Ogier , Zixian Cai <2891235+caizixian@users.noreply.github.com>, Andrew Lyjak " quanta,https://github.com/metrics-rs/quanta,MIT,Toby Lawrence quick-error,http://github.com/tailhook/quick-error,MIT OR Apache-2.0,"Paul Colomiets , Colin Kiegel " quinn,https://github.com/quinn-rs/quinn,MIT OR Apache-2.0,The quinn Authors @@ -496,6 +498,8 @@ toml_writer,https://github.com/toml-rs/toml,MIT OR Apache-2.0,The toml_writer Au tonic,https://github.com/hyperium/tonic,MIT,Lucio Franco tonic-build,https://github.com/hyperium/tonic,MIT,Lucio Franco tonic-health,https://github.com/hyperium/tonic,MIT,James Nugent +tonic-prost,https://github.com/hyperium/tonic,MIT,Lucio Franco +tonic-prost-build,https://github.com/hyperium/tonic,MIT,Lucio Franco tonic-reflection,https://github.com/hyperium/tonic,MIT,"James Nugent , Samani G. Gikandi " tower,https://github.com/tower-rs/tower,MIT,Tower Maintainers tower-http,https://github.com/tower-rs/tower-http,MIT,Tower Maintainers From 2b74fd8007a30a2741211e99335e5d7189e2e262 Mon Sep 17 00:00:00 2001 From: "cong.xie" Date: Fri, 19 Dec 2025 10:15:18 -0500 Subject: [PATCH 15/20] just add disk feature from sysinfo --- quickwit/Cargo.lock | 11 ----------- quickwit/Cargo.toml | 2 +- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/quickwit/Cargo.lock b/quickwit/Cargo.lock index 990a63bb40a..71d9d4d04d8 100644 --- a/quickwit/Cargo.lock +++ b/quickwit/Cargo.lock @@ -5175,15 +5175,6 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" -[[package]] -name = "ntapi" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" -dependencies = [ - "winapi 0.3.9", -] - [[package]] name = "nu-ansi-term" version = "0.50.3" @@ -9579,8 +9570,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16607d5caffd1c07ce073528f9ed972d88db15dd44023fa57142963be3feb11f" dependencies = [ "libc", - "memchr", - "ntapi", "objc2-core-foundation", "objc2-io-kit", "windows", diff --git a/quickwit/Cargo.toml b/quickwit/Cargo.toml index 13cc494d93c..35742f40baa 100644 --- a/quickwit/Cargo.toml +++ b/quickwit/Cargo.toml @@ -230,7 +230,7 @@ sqlx = { version = "0.8", features = [ ] } syn = { version = "2.0", features = ["extra-traits", "full", "parsing"] } sync_wrapper = "1" -sysinfo = "0.37" +sysinfo = { version = "0.37", default-features = false, features = ["disk"] } tabled = { version = "0.14", features = ["color"] } tempfile = "3" thiserror = "2" From c5062baed6e94a87635d938b57e1720877bb1937 Mon Sep 17 00:00:00 2001 From: "cong.xie" Date: Fri, 19 Dec 2025 10:38:16 -0500 Subject: [PATCH 16/20] update 3rd license --- LICENSE-3rdparty.csv | 1 - 1 file changed, 1 deletion(-) diff --git a/LICENSE-3rdparty.csv b/LICENSE-3rdparty.csv index 49474e3d477..e2443eca9b2 100644 --- a/LICENSE-3rdparty.csv +++ b/LICENSE-3rdparty.csv @@ -287,7 +287,6 @@ new_string_template,https://github.com/hasezoey/new_string_template,MIT,hasezoey no-std-net,https://github.com/dunmatt/no-std-net,MIT,M@ Dunlap nom,https://github.com/Geal/nom,MIT,contact@geoffroycouprie.com normalize-line-endings,https://github.com/derekdreery/normalize-line-endings,Apache-2.0,Richard Dodd -ntapi,https://github.com/MSxDOS/ntapi,Apache-2.0 OR MIT,MSxDOS nu-ansi-term,https://github.com/nushell/nu-ansi-term,MIT,"ogham@bsago.me, Ryan Scheel (Havvy) , Josh Triplett , The Nushell Project Developers" num-bigint,https://github.com/rust-num/num-bigint,MIT OR Apache-2.0,The Rust Project Developers num-conv,https://github.com/jhpratt/num-conv,MIT OR Apache-2.0,Jacob Pratt From f0ee07a7171b6857d8d60d1a2e6e059b542f2b39 Mon Sep 17 00:00:00 2001 From: "cong.xie" Date: Fri, 19 Dec 2025 12:50:24 -0500 Subject: [PATCH 17/20] fix fmt --- quickwit/quickwit-proto/build.rs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/quickwit/quickwit-proto/build.rs b/quickwit/quickwit-proto/build.rs index 376d7a18a76..569d9b5315b 100644 --- a/quickwit/quickwit-proto/build.rs +++ b/quickwit/quickwit-proto/build.rs @@ -200,7 +200,11 @@ fn main() -> Result<(), Box> { .type_attribute("SearchRequest", "#[derive(Hash, Eq)]") .type_attribute("PartialHit", "#[derive(Hash, Eq)]") .out_dir("src/codegen/quickwit") - .compile_with_config(prost_config, &[std::path::PathBuf::from("protos/quickwit/search.proto")], &[std::path::PathBuf::from("protos")])?; + .compile_with_config( + prost_config, + &[std::path::PathBuf::from("protos/quickwit/search.proto")], + &[std::path::PathBuf::from("protos")], + )?; // Jaeger proto let protos = find_protos("protos/third-party/jaeger"); @@ -213,7 +217,10 @@ fn main() -> Result<(), Box> { .compile_with_config( prost_config, &protos, - &[std::path::PathBuf::from("protos/third-party/jaeger"), std::path::PathBuf::from("protos/third-party")], + &[ + std::path::PathBuf::from("protos/third-party/jaeger"), + std::path::PathBuf::from("protos/third-party"), + ], )?; // OTEL proto @@ -229,7 +236,11 @@ fn main() -> Result<(), Box> { r#"#[derive(utoipa::ToSchema)]"#, ) .out_dir("src/codegen/opentelemetry") - .compile_with_config(prost_config, &protos, &[std::path::PathBuf::from("protos/third-party")])?; + .compile_with_config( + prost_config, + &protos, + &[std::path::PathBuf::from("protos/third-party")], + )?; Ok(()) } From 5bd4f5ef2af53b63503c6b3afa2b6b24bfa89fe3 Mon Sep 17 00:00:00 2001 From: "cong.xie" Date: Fri, 19 Dec 2025 13:37:31 -0500 Subject: [PATCH 18/20] fix lint --- .../codegen/quickwit/quickwit.metastore.rs | 3965 +++++++++-------- .../src/codegen/quickwit/quickwit.search.rs | 852 ++-- 2 files changed, 2517 insertions(+), 2300 deletions(-) diff --git a/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.metastore.rs b/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.metastore.rs index 1ba6096d031..531f545d208 100644 --- a/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.metastore.rs +++ b/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.metastore.rs @@ -1,25 +1,58 @@ // This file is @generated by prost-build. -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + Copy, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct EmptyResponse {} -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct CreateIndexRequest { #[prost(string, tag = "2")] pub index_config_json: ::prost::alloc::string::String, #[prost(string, repeated, tag = "3")] pub source_configs_json: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct CreateIndexResponse { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, #[prost(string, tag = "2")] pub index_metadata_json: ::prost::alloc::string::String, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct UpdateIndexRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -32,12 +65,18 @@ pub struct UpdateIndexRequest { #[prost(string, tag = "2")] pub search_settings_json: ::prost::alloc::string::String, #[prost(string, optional, tag = "3")] - pub retention_policy_json_opt: ::core::option::Option< - ::prost::alloc::string::String, - >, -} -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] + pub retention_policy_json_opt: ::core::option::Option<::prost::alloc::string::String>, +} +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct ListIndexesMetadataRequest { /// List of patterns an index should match or not match to get considered /// An index must match at least one positive pattern (a pattern not starting @@ -45,21 +84,35 @@ pub struct ListIndexesMetadataRequest { #[prost(string, repeated, tag = "2")] pub index_id_patterns: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct ListIndexesMetadataResponse { /// Deprecated (v0.9.0), use `indexes_metadata_json_zstd` instead. #[prost(string, optional, tag = "1")] - pub indexes_metadata_json_opt: ::core::option::Option< - ::prost::alloc::string::String, - >, + pub indexes_metadata_json_opt: ::core::option::Option<::prost::alloc::string::String>, /// A JSON serialized then ZSTD compressed list of `IndexMetadata`: `Vec | JSON | ZSTD`. /// We don't use `repeated` here to increase the compression rate and ratio. #[prost(bytes = "bytes", tag = "2")] pub indexes_metadata_json_zstd: ::prost::bytes::Bytes, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct DeleteIndexRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -68,36 +121,62 @@ pub struct DeleteIndexRequest { /// Either `index_uid` or `index_id` must be specified. /// /// If both are supplied, `index_uid` is used. -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct IndexMetadataRequest { #[prost(string, optional, tag = "1")] pub index_id: ::core::option::Option<::prost::alloc::string::String>, #[prost(message, optional, tag = "2")] pub index_uid: ::core::option::Option, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct IndexMetadataResponse { #[prost(string, tag = "1")] pub index_metadata_serialized_json: ::prost::alloc::string::String, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, +)] pub struct IndexesMetadataRequest { #[prost(message, repeated, tag = "1")] pub subrequests: ::prost::alloc::vec::Vec, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct IndexMetadataSubrequest { #[prost(string, optional, tag = "1")] pub index_id: ::core::option::Option<::prost::alloc::string::String>, #[prost(message, optional, tag = "2")] pub index_uid: ::core::option::Option, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, +)] pub struct IndexesMetadataResponse { /// A JSON serialized then ZSTD compressed list of `IndexMetadata`: `Vec | JSON | ZSTD`. /// We don't use `repeated` here to increase the compression rate and ratio. @@ -106,8 +185,16 @@ pub struct IndexesMetadataResponse { #[prost(message, repeated, tag = "2")] pub failures: ::prost::alloc::vec::Vec, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct IndexMetadataFailure { #[prost(string, optional, tag = "1")] pub index_id: ::core::option::Option<::prost::alloc::string::String>, @@ -116,8 +203,16 @@ pub struct IndexMetadataFailure { #[prost(enumeration = "IndexMetadataFailureReason", tag = "3")] pub reason: i32, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct ListSplitsRequest { /// Predicate used to filter splits. /// The predicate is expressed as a JSON serialized @@ -125,23 +220,47 @@ pub struct ListSplitsRequest { #[prost(string, tag = "1")] pub query_json: ::prost::alloc::string::String, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct ListSplitsResponse { /// TODO use repeated and encode splits json individually. #[prost(string, tag = "1")] pub splits_serialized_json: ::prost::alloc::string::String, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct StageSplitsRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, #[prost(string, tag = "2")] pub split_metadata_list_serialized_json: ::prost::alloc::string::String, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct PublishSplitsRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -150,46 +269,84 @@ pub struct PublishSplitsRequest { #[prost(string, repeated, tag = "3")] pub replaced_split_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, #[prost(string, optional, tag = "4")] - pub index_checkpoint_delta_json_opt: ::core::option::Option< - ::prost::alloc::string::String, - >, + pub index_checkpoint_delta_json_opt: ::core::option::Option<::prost::alloc::string::String>, #[prost(string, optional, tag = "5")] pub publish_token_opt: ::core::option::Option<::prost::alloc::string::String>, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct MarkSplitsForDeletionRequest { #[prost(message, optional, tag = "2")] pub index_uid: ::core::option::Option, #[prost(string, repeated, tag = "3")] pub split_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct DeleteSplitsRequest { #[prost(message, optional, tag = "2")] pub index_uid: ::core::option::Option, #[prost(string, repeated, tag = "3")] pub split_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct AddSourceRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, #[prost(string, tag = "2")] pub source_config_json: ::prost::alloc::string::String, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct UpdateSourceRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, #[prost(string, tag = "2")] pub source_config_json: ::prost::alloc::string::String, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct ToggleSourceRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -198,24 +355,48 @@ pub struct ToggleSourceRequest { #[prost(bool, tag = "3")] pub enable: bool, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct DeleteSourceRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, #[prost(string, tag = "2")] pub source_id: ::prost::alloc::string::String, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct ResetSourceCheckpointRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, #[prost(string, tag = "2")] pub source_id: ::prost::alloc::string::String, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct DeleteTask { #[prost(int64, tag = "1")] pub create_timestamp: i64, @@ -224,8 +405,16 @@ pub struct DeleteTask { #[prost(message, optional, tag = "3")] pub delete_query: ::core::option::Option, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct DeleteQuery { /// Index UID. #[prost(message, optional, tag = "1")] @@ -245,8 +434,16 @@ pub struct DeleteQuery { #[serde(alias = "query")] pub query_ast: ::prost::alloc::string::String, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct UpdateSplitsDeleteOpstampRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -255,23 +452,57 @@ pub struct UpdateSplitsDeleteOpstampRequest { #[prost(uint64, tag = "3")] pub delete_opstamp: u64, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + Copy, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct UpdateSplitsDeleteOpstampResponse {} -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct LastDeleteOpstampRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + Copy, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct LastDeleteOpstampResponse { #[prost(uint64, tag = "1")] pub last_delete_opstamp: u64, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct ListStaleSplitsRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -280,28 +511,46 @@ pub struct ListStaleSplitsRequest { #[prost(uint64, tag = "3")] pub num_splits: u64, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct ListDeleteTasksRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, #[prost(uint64, tag = "2")] pub opstamp_start: u64, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, +)] pub struct ListDeleteTasksResponse { #[prost(message, repeated, tag = "1")] pub delete_tasks: ::prost::alloc::vec::Vec, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, +)] pub struct OpenShardsRequest { #[prost(message, repeated, tag = "1")] pub subrequests: ::prost::alloc::vec::Vec, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct OpenShardSubrequest { #[prost(uint32, tag = "1")] pub subrequest_id: u32, @@ -320,22 +569,32 @@ pub struct OpenShardSubrequest { #[prost(string, optional, tag = "8")] pub publish_token: ::core::option::Option<::prost::alloc::string::String>, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, +)] pub struct OpenShardsResponse { #[prost(message, repeated, tag = "1")] pub subresponses: ::prost::alloc::vec::Vec, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct OpenShardSubresponse { #[prost(uint32, tag = "1")] pub subrequest_id: u32, #[prost(message, optional, tag = "4")] pub open_shard: ::core::option::Option, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, +)] pub struct AcquireShardsRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -346,15 +605,17 @@ pub struct AcquireShardsRequest { #[prost(string, tag = "4")] pub publish_token: ::prost::alloc::string::String, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, +)] pub struct AcquireShardsResponse { /// List of acquired shards, in no specific order. #[prost(message, repeated, tag = "3")] pub acquired_shards: ::prost::alloc::vec::Vec, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, +)] pub struct DeleteShardsRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -366,8 +627,9 @@ pub struct DeleteShardsRequest { #[prost(bool, tag = "4")] pub force: bool, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, +)] pub struct DeleteShardsResponse { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -381,8 +643,16 @@ pub struct DeleteShardsResponse { #[prost(message, repeated, tag = "4")] pub failures: ::prost::alloc::vec::Vec, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct PruneShardsRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -398,14 +668,23 @@ pub struct PruneShardsRequest { #[prost(uint32, optional, tag = "7")] pub interval_secs: ::core::option::Option, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, +)] pub struct ListShardsRequest { #[prost(message, repeated, tag = "1")] pub subrequests: ::prost::alloc::vec::Vec, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct ListShardsSubrequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -414,14 +693,16 @@ pub struct ListShardsSubrequest { #[prost(enumeration = "super::ingest::ShardState", optional, tag = "3")] pub shard_state: ::core::option::Option, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, +)] pub struct ListShardsResponse { #[prost(message, repeated, tag = "1")] pub subresponses: ::prost::alloc::vec::Vec, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, +)] pub struct ListShardsSubresponse { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -430,40 +711,81 @@ pub struct ListShardsSubresponse { #[prost(message, repeated, tag = "3")] pub shards: ::prost::alloc::vec::Vec, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct CreateIndexTemplateRequest { #[prost(string, tag = "1")] pub index_template_json: ::prost::alloc::string::String, #[prost(bool, tag = "2")] pub overwrite: bool, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct GetIndexTemplateRequest { #[prost(string, tag = "1")] pub template_id: ::prost::alloc::string::String, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct GetIndexTemplateResponse { #[prost(string, tag = "1")] pub index_template_json: ::prost::alloc::string::String, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct FindIndexTemplateMatchesRequest { #[prost(string, repeated, tag = "1")] pub index_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, +)] pub struct FindIndexTemplateMatchesResponse { #[prost(message, repeated, tag = "1")] pub matches: ::prost::alloc::vec::Vec, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct IndexTemplateMatch { #[prost(string, tag = "1")] pub index_id: ::prost::alloc::string::String, @@ -472,26 +794,68 @@ pub struct IndexTemplateMatch { #[prost(string, tag = "3")] pub index_template_json: ::prost::alloc::string::String, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + Copy, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct ListIndexTemplatesRequest {} -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct ListIndexTemplatesResponse { #[prost(string, repeated, tag = "1")] pub index_templates_json: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct DeleteIndexTemplatesRequest { #[prost(string, repeated, tag = "1")] pub template_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + Copy, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct GetClusterIdentityRequest {} -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct GetClusterIdentityResponse { #[prost(string, tag = "1")] pub uuid: ::prost::alloc::string::String, @@ -592,11 +956,11 @@ impl IndexMetadataFailureReason { } } } +use quickwit_common::tower::RpcName; /// BEGIN quickwit-codegen #[allow(unused_imports)] use std::str::FromStr; use tower::{Layer, Service, ServiceExt}; -use quickwit_common::tower::RpcName; impl RpcName for CreateIndexRequest { fn rpc_name() -> &'static str { "create_index" @@ -757,9 +1121,8 @@ impl RpcName for GetClusterIdentityRequest { "get_cluster_identity" } } -pub type MetastoreServiceStream = quickwit_common::ServiceStream< - crate::metastore::MetastoreResult, ->; +pub type MetastoreServiceStream = + quickwit_common::ServiceStream>; #[cfg_attr(any(test, feature = "testsuite"), mockall::automock)] #[async_trait::async_trait] pub trait MetastoreService: std::fmt::Debug + Send + Sync + 'static { @@ -955,8 +1318,7 @@ impl MetastoreServiceClient { { #[cfg(any(test, feature = "testsuite"))] assert!( - std::any::TypeId::of:: < T > () != std::any::TypeId::of:: < - MockMetastoreService > (), + std::any::TypeId::of::() != std::any::TypeId::of::(), "`MockMetastoreService` must be wrapped in a `MockMetastoreServiceWrapper`: use `MetastoreServiceClient::from_mock(mock)` to instantiate the client" ); Self { @@ -966,9 +1328,8 @@ impl MetastoreServiceClient { pub fn as_grpc_service( &self, max_message_size: bytesize::ByteSize, - ) -> metastore_service_grpc_server::MetastoreServiceGrpcServer< - MetastoreServiceGrpcServerAdapter, - > { + ) -> metastore_service_grpc_server::MetastoreServiceGrpcServer + { let adapter = MetastoreServiceGrpcServerAdapter::new(self.clone()); metastore_service_grpc_server::MetastoreServiceGrpcServer::new(adapter) .accept_compressed(tonic::codec::CompressionEncoding::Gzip) @@ -984,12 +1345,9 @@ impl MetastoreServiceClient { max_message_size: bytesize::ByteSize, compression_encoding_opt: Option, ) -> Self { - let (_, connection_keys_watcher) = tokio::sync::watch::channel( - std::collections::HashSet::from_iter([addr]), - ); - let mut client = metastore_service_grpc_client::MetastoreServiceGrpcClient::new( - channel, - ) + let (_, connection_keys_watcher) = + tokio::sync::watch::channel(std::collections::HashSet::from_iter([addr])); + let mut client = metastore_service_grpc_client::MetastoreServiceGrpcClient::new(channel) .max_decoding_message_size(max_message_size.0 as usize) .max_encoding_message_size(max_message_size.0 as usize); if let Some(compression_encoding) = compression_encoding_opt { @@ -997,10 +1355,7 @@ impl MetastoreServiceClient { .accept_compressed(compression_encoding) .send_compressed(compression_encoding); } - let adapter = MetastoreServiceGrpcClientAdapter::new( - client, - connection_keys_watcher, - ); + let adapter = MetastoreServiceGrpcClientAdapter::new(client, connection_keys_watcher); Self::new(adapter) } pub fn from_balance_channel( @@ -1009,20 +1364,16 @@ impl MetastoreServiceClient { compression_encoding_opt: Option, ) -> MetastoreServiceClient { let connection_keys_watcher = balance_channel.connection_keys_watcher(); - let mut client = metastore_service_grpc_client::MetastoreServiceGrpcClient::new( - balance_channel, - ) - .max_decoding_message_size(max_message_size.0 as usize) - .max_encoding_message_size(max_message_size.0 as usize); + let mut client = + metastore_service_grpc_client::MetastoreServiceGrpcClient::new(balance_channel) + .max_decoding_message_size(max_message_size.0 as usize) + .max_encoding_message_size(max_message_size.0 as usize); if let Some(compression_encoding) = compression_encoding_opt { client = client .accept_compressed(compression_encoding) .send_compressed(compression_encoding); } - let adapter = MetastoreServiceGrpcClientAdapter::new( - client, - connection_keys_watcher, - ); + let adapter = MetastoreServiceGrpcClientAdapter::new(client, connection_keys_watcher); Self::new(adapter) } pub fn from_mailbox(mailbox: quickwit_actors::Mailbox) -> Self @@ -1296,9 +1647,8 @@ pub mod mock_metastore_service { async fn list_splits( &self, request: super::ListSplitsRequest, - ) -> crate::metastore::MetastoreResult< - MetastoreServiceStream, - > { + ) -> crate::metastore::MetastoreResult> + { self.inner.lock().await.list_splits(request).await } async fn stage_splits( @@ -1317,7 +1667,11 @@ pub mod mock_metastore_service { &self, request: super::MarkSplitsForDeletionRequest, ) -> crate::metastore::MetastoreResult { - self.inner.lock().await.mark_splits_for_deletion(request).await + self.inner + .lock() + .await + .mark_splits_for_deletion(request) + .await } async fn delete_splits( &self, @@ -1353,7 +1707,11 @@ pub mod mock_metastore_service { &self, request: super::ResetSourceCheckpointRequest, ) -> crate::metastore::MetastoreResult { - self.inner.lock().await.reset_source_checkpoint(request).await + self.inner + .lock() + .await + .reset_source_checkpoint(request) + .await } async fn last_delete_opstamp( &self, @@ -1370,10 +1728,12 @@ pub mod mock_metastore_service { async fn update_splits_delete_opstamp( &self, request: super::UpdateSplitsDeleteOpstampRequest, - ) -> crate::metastore::MetastoreResult< - super::UpdateSplitsDeleteOpstampResponse, - > { - self.inner.lock().await.update_splits_delete_opstamp(request).await + ) -> crate::metastore::MetastoreResult { + self.inner + .lock() + .await + .update_splits_delete_opstamp(request) + .await } async fn list_delete_tasks( &self, @@ -1433,7 +1793,11 @@ pub mod mock_metastore_service { &self, request: super::FindIndexTemplateMatchesRequest, ) -> crate::metastore::MetastoreResult { - self.inner.lock().await.find_index_template_matches(request).await + self.inner + .lock() + .await + .find_index_template_matches(request) + .await } async fn list_index_templates( &self, @@ -1445,7 +1809,11 @@ pub mod mock_metastore_service { &self, request: super::DeleteIndexTemplatesRequest, ) -> crate::metastore::MetastoreResult { - self.inner.lock().await.delete_index_templates(request).await + self.inner + .lock() + .await + .delete_index_templates(request) + .await } async fn get_cluster_identity( &self, @@ -1461,9 +1829,8 @@ pub mod mock_metastore_service { } } } -pub type BoxFuture = std::pin::Pin< - Box> + Send + 'static>, ->; +pub type BoxFuture = + std::pin::Pin> + Send + 'static>>; impl tower::Service for InnerMetastoreServiceClient { type Response = CreateIndexResponse; type Error = crate::metastore::MetastoreError; @@ -2148,193 +2515,353 @@ impl MetastoreService for MetastoreServiceTowerServiceStack { &self, request: CreateIndexRequest, ) -> crate::metastore::MetastoreResult { - self.create_index_svc.clone().ready().await?.call(request).await + self.create_index_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn update_index( &self, request: UpdateIndexRequest, ) -> crate::metastore::MetastoreResult { - self.update_index_svc.clone().ready().await?.call(request).await + self.update_index_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn index_metadata( &self, request: IndexMetadataRequest, ) -> crate::metastore::MetastoreResult { - self.index_metadata_svc.clone().ready().await?.call(request).await + self.index_metadata_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn indexes_metadata( &self, request: IndexesMetadataRequest, ) -> crate::metastore::MetastoreResult { - self.indexes_metadata_svc.clone().ready().await?.call(request).await + self.indexes_metadata_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn list_indexes_metadata( &self, request: ListIndexesMetadataRequest, ) -> crate::metastore::MetastoreResult { - self.list_indexes_metadata_svc.clone().ready().await?.call(request).await + self.list_indexes_metadata_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn delete_index( &self, request: DeleteIndexRequest, ) -> crate::metastore::MetastoreResult { - self.delete_index_svc.clone().ready().await?.call(request).await + self.delete_index_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn list_splits( &self, request: ListSplitsRequest, ) -> crate::metastore::MetastoreResult> { - self.list_splits_svc.clone().ready().await?.call(request).await + self.list_splits_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn stage_splits( &self, request: StageSplitsRequest, ) -> crate::metastore::MetastoreResult { - self.stage_splits_svc.clone().ready().await?.call(request).await + self.stage_splits_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn publish_splits( &self, request: PublishSplitsRequest, ) -> crate::metastore::MetastoreResult { - self.publish_splits_svc.clone().ready().await?.call(request).await + self.publish_splits_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn mark_splits_for_deletion( &self, request: MarkSplitsForDeletionRequest, ) -> crate::metastore::MetastoreResult { - self.mark_splits_for_deletion_svc.clone().ready().await?.call(request).await + self.mark_splits_for_deletion_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn delete_splits( &self, request: DeleteSplitsRequest, ) -> crate::metastore::MetastoreResult { - self.delete_splits_svc.clone().ready().await?.call(request).await + self.delete_splits_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn add_source( &self, request: AddSourceRequest, ) -> crate::metastore::MetastoreResult { - self.add_source_svc.clone().ready().await?.call(request).await + self.add_source_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn update_source( &self, request: UpdateSourceRequest, ) -> crate::metastore::MetastoreResult { - self.update_source_svc.clone().ready().await?.call(request).await + self.update_source_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn toggle_source( &self, request: ToggleSourceRequest, ) -> crate::metastore::MetastoreResult { - self.toggle_source_svc.clone().ready().await?.call(request).await + self.toggle_source_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn delete_source( &self, request: DeleteSourceRequest, ) -> crate::metastore::MetastoreResult { - self.delete_source_svc.clone().ready().await?.call(request).await + self.delete_source_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn reset_source_checkpoint( &self, request: ResetSourceCheckpointRequest, ) -> crate::metastore::MetastoreResult { - self.reset_source_checkpoint_svc.clone().ready().await?.call(request).await + self.reset_source_checkpoint_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn last_delete_opstamp( &self, request: LastDeleteOpstampRequest, ) -> crate::metastore::MetastoreResult { - self.last_delete_opstamp_svc.clone().ready().await?.call(request).await + self.last_delete_opstamp_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn create_delete_task( &self, request: DeleteQuery, ) -> crate::metastore::MetastoreResult { - self.create_delete_task_svc.clone().ready().await?.call(request).await + self.create_delete_task_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn update_splits_delete_opstamp( &self, request: UpdateSplitsDeleteOpstampRequest, ) -> crate::metastore::MetastoreResult { - self.update_splits_delete_opstamp_svc.clone().ready().await?.call(request).await + self.update_splits_delete_opstamp_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn list_delete_tasks( &self, request: ListDeleteTasksRequest, ) -> crate::metastore::MetastoreResult { - self.list_delete_tasks_svc.clone().ready().await?.call(request).await + self.list_delete_tasks_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn list_stale_splits( &self, request: ListStaleSplitsRequest, ) -> crate::metastore::MetastoreResult { - self.list_stale_splits_svc.clone().ready().await?.call(request).await + self.list_stale_splits_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn open_shards( &self, request: OpenShardsRequest, ) -> crate::metastore::MetastoreResult { - self.open_shards_svc.clone().ready().await?.call(request).await + self.open_shards_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn acquire_shards( &self, request: AcquireShardsRequest, ) -> crate::metastore::MetastoreResult { - self.acquire_shards_svc.clone().ready().await?.call(request).await + self.acquire_shards_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn delete_shards( &self, request: DeleteShardsRequest, ) -> crate::metastore::MetastoreResult { - self.delete_shards_svc.clone().ready().await?.call(request).await + self.delete_shards_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn prune_shards( &self, request: PruneShardsRequest, ) -> crate::metastore::MetastoreResult { - self.prune_shards_svc.clone().ready().await?.call(request).await + self.prune_shards_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn list_shards( &self, request: ListShardsRequest, ) -> crate::metastore::MetastoreResult { - self.list_shards_svc.clone().ready().await?.call(request).await + self.list_shards_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn create_index_template( &self, request: CreateIndexTemplateRequest, ) -> crate::metastore::MetastoreResult { - self.create_index_template_svc.clone().ready().await?.call(request).await + self.create_index_template_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn get_index_template( &self, request: GetIndexTemplateRequest, ) -> crate::metastore::MetastoreResult { - self.get_index_template_svc.clone().ready().await?.call(request).await + self.get_index_template_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn find_index_template_matches( &self, request: FindIndexTemplateMatchesRequest, ) -> crate::metastore::MetastoreResult { - self.find_index_template_matches_svc.clone().ready().await?.call(request).await + self.find_index_template_matches_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn list_index_templates( &self, request: ListIndexTemplatesRequest, ) -> crate::metastore::MetastoreResult { - self.list_index_templates_svc.clone().ready().await?.call(request).await + self.list_index_templates_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn delete_index_templates( &self, request: DeleteIndexTemplatesRequest, ) -> crate::metastore::MetastoreResult { - self.delete_index_templates_svc.clone().ready().await?.call(request).await + self.delete_index_templates_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn get_cluster_identity( &self, request: GetClusterIdentityRequest, ) -> crate::metastore::MetastoreResult { - self.get_cluster_identity_svc.clone().ready().await?.call(request).await + self.get_cluster_identity_svc + .clone() + .ready() + .await? + .call(request) + .await } async fn check_connectivity(&self) -> anyhow::Result<()> { self.inner.0.check_connectivity().await @@ -2514,11 +3041,7 @@ type LastDeleteOpstampLayer = quickwit_common::tower::BoxLayer< crate::metastore::MetastoreError, >; type CreateDeleteTaskLayer = quickwit_common::tower::BoxLayer< - quickwit_common::tower::BoxService< - DeleteQuery, - DeleteTask, - crate::metastore::MetastoreError, - >, + quickwit_common::tower::BoxService, DeleteQuery, DeleteTask, crate::metastore::MetastoreError, @@ -2707,7 +3230,10 @@ impl MetastoreServiceTowerLayerStack { CreateIndexResponse, crate::metastore::MetastoreError, >, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - >>::Service as tower::Service< - ListIndexesMetadataRequest, - >>::Future: Send + 'static, + >>::Service as tower::Service>::Future: Send + 'static, L: tower::Layer< quickwit_common::tower::BoxService< DeleteIndexRequest, EmptyResponse, crate::metastore::MetastoreError, >, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, crate::metastore::MetastoreError, >, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, , Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - >>::Service as tower::Service< - MarkSplitsForDeletionRequest, - >>::Future: Send + 'static, + >>::Service as tower::Service>::Future: Send + 'static, L: tower::Layer< quickwit_common::tower::BoxService< DeleteSplitsRequest, EmptyResponse, crate::metastore::MetastoreError, >, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - >>::Service as tower::Service< - ResetSourceCheckpointRequest, - >>::Future: Send + 'static, + >>::Service as tower::Service>::Future: Send + 'static, L: tower::Layer< quickwit_common::tower::BoxService< LastDeleteOpstampRequest, LastDeleteOpstampResponse, crate::metastore::MetastoreError, >, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - >>::Service as tower::Service< - UpdateSplitsDeleteOpstampRequest, - >>::Future: Send + 'static, + >>::Service as tower::Service>::Future: Send + 'static, L: tower::Layer< quickwit_common::tower::BoxService< ListDeleteTasksRequest, ListDeleteTasksResponse, crate::metastore::MetastoreError, >, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - >>::Service as tower::Service< - CreateIndexTemplateRequest, - >>::Future: Send + 'static, + >>::Service as tower::Service>::Future: Send + 'static, L: tower::Layer< quickwit_common::tower::BoxService< GetIndexTemplateRequest, GetIndexTemplateResponse, crate::metastore::MetastoreError, >, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - >>::Service as tower::Service< - FindIndexTemplateMatchesRequest, - >>::Future: Send + 'static, + >>::Service as tower::Service>::Future: Send + 'static, L: tower::Layer< quickwit_common::tower::BoxService< ListIndexTemplatesRequest, ListIndexTemplatesResponse, crate::metastore::MetastoreError, >, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - >>::Service as tower::Service< - ListIndexTemplatesRequest, - >>::Future: Send + 'static, + >>::Service as tower::Service>::Future: Send + 'static, L: tower::Layer< quickwit_common::tower::BoxService< DeleteIndexTemplatesRequest, EmptyResponse, crate::metastore::MetastoreError, >, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - >>::Service as tower::Service< - DeleteIndexTemplatesRequest, - >>::Future: Send + 'static, + >>::Service as tower::Service>::Future: Send + 'static, L: tower::Layer< quickwit_common::tower::BoxService< GetClusterIdentityRequest, GetClusterIdentityResponse, crate::metastore::MetastoreError, >, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, <, - >>::Service as tower::Service< - GetClusterIdentityRequest, - >>::Future: Send + 'static, + >>::Service as tower::Service>::Future: Send + 'static, { self.create_index_layers .push(quickwit_common::tower::BoxLayer::new(layer.clone())); @@ -3594,15 +4291,21 @@ impl MetastoreServiceTowerLayerStack { CreateIndexResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< CreateIndexRequest, Response = CreateIndexResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, >::Future: Send + 'static, { - self.create_index_layers.push(quickwit_common::tower::BoxLayer::new(layer)); + self.create_index_layers + .push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_update_index_layer(mut self, layer: L) -> Self @@ -3613,15 +4316,21 @@ impl MetastoreServiceTowerLayerStack { IndexMetadataResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< UpdateIndexRequest, Response = IndexMetadataResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, >::Future: Send + 'static, { - self.update_index_layers.push(quickwit_common::tower::BoxLayer::new(layer)); + self.update_index_layers + .push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_index_metadata_layer(mut self, layer: L) -> Self @@ -3632,15 +4341,21 @@ impl MetastoreServiceTowerLayerStack { IndexMetadataResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< IndexMetadataRequest, Response = IndexMetadataResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, >::Future: Send + 'static, { - self.index_metadata_layers.push(quickwit_common::tower::BoxLayer::new(layer)); + self.index_metadata_layers + .push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_indexes_metadata_layer(mut self, layer: L) -> Self @@ -3651,15 +4366,21 @@ impl MetastoreServiceTowerLayerStack { IndexesMetadataResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< IndexesMetadataRequest, Response = IndexesMetadataResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, >::Future: Send + 'static, { - self.indexes_metadata_layers.push(quickwit_common::tower::BoxLayer::new(layer)); + self.indexes_metadata_layers + .push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_list_indexes_metadata_layer(mut self, layer: L) -> Self @@ -3670,15 +4391,18 @@ impl MetastoreServiceTowerLayerStack { ListIndexesMetadataResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< ListIndexesMetadataRequest, Response = ListIndexesMetadataResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, - >::Future: Send + 'static, + > + Clone + + Send + + Sync + + 'static, + >::Future: Send + 'static, { self.list_indexes_metadata_layers .push(quickwit_common::tower::BoxLayer::new(layer)); @@ -3692,15 +4416,21 @@ impl MetastoreServiceTowerLayerStack { EmptyResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< DeleteIndexRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, >::Future: Send + 'static, { - self.delete_index_layers.push(quickwit_common::tower::BoxLayer::new(layer)); + self.delete_index_layers + .push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_list_splits_layer(mut self, layer: L) -> Self @@ -3711,15 +4441,21 @@ impl MetastoreServiceTowerLayerStack { MetastoreServiceStream, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< ListSplitsRequest, Response = MetastoreServiceStream, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, >::Future: Send + 'static, { - self.list_splits_layers.push(quickwit_common::tower::BoxLayer::new(layer)); + self.list_splits_layers + .push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_stage_splits_layer(mut self, layer: L) -> Self @@ -3730,15 +4466,21 @@ impl MetastoreServiceTowerLayerStack { EmptyResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< StageSplitsRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, >::Future: Send + 'static, { - self.stage_splits_layers.push(quickwit_common::tower::BoxLayer::new(layer)); + self.stage_splits_layers + .push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_publish_splits_layer(mut self, layer: L) -> Self @@ -3749,15 +4491,21 @@ impl MetastoreServiceTowerLayerStack { EmptyResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< PublishSplitsRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, >::Future: Send + 'static, { - self.publish_splits_layers.push(quickwit_common::tower::BoxLayer::new(layer)); + self.publish_splits_layers + .push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_mark_splits_for_deletion_layer(mut self, layer: L) -> Self @@ -3768,15 +4516,18 @@ impl MetastoreServiceTowerLayerStack { EmptyResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< MarkSplitsForDeletionRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, - >::Future: Send + 'static, + > + Clone + + Send + + Sync + + 'static, + >::Future: Send + 'static, { self.mark_splits_for_deletion_layers .push(quickwit_common::tower::BoxLayer::new(layer)); @@ -3790,15 +4541,21 @@ impl MetastoreServiceTowerLayerStack { EmptyResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< DeleteSplitsRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, >::Future: Send + 'static, { - self.delete_splits_layers.push(quickwit_common::tower::BoxLayer::new(layer)); + self.delete_splits_layers + .push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_add_source_layer(mut self, layer: L) -> Self @@ -3809,15 +4566,21 @@ impl MetastoreServiceTowerLayerStack { EmptyResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< AddSourceRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, >::Future: Send + 'static, { - self.add_source_layers.push(quickwit_common::tower::BoxLayer::new(layer)); + self.add_source_layers + .push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_update_source_layer(mut self, layer: L) -> Self @@ -3828,15 +4591,21 @@ impl MetastoreServiceTowerLayerStack { EmptyResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< UpdateSourceRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, >::Future: Send + 'static, { - self.update_source_layers.push(quickwit_common::tower::BoxLayer::new(layer)); + self.update_source_layers + .push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_toggle_source_layer(mut self, layer: L) -> Self @@ -3847,15 +4616,21 @@ impl MetastoreServiceTowerLayerStack { EmptyResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< ToggleSourceRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, >::Future: Send + 'static, { - self.toggle_source_layers.push(quickwit_common::tower::BoxLayer::new(layer)); + self.toggle_source_layers + .push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_delete_source_layer(mut self, layer: L) -> Self @@ -3866,15 +4641,21 @@ impl MetastoreServiceTowerLayerStack { EmptyResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< DeleteSourceRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, >::Future: Send + 'static, { - self.delete_source_layers.push(quickwit_common::tower::BoxLayer::new(layer)); + self.delete_source_layers + .push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_reset_source_checkpoint_layer(mut self, layer: L) -> Self @@ -3885,15 +4666,18 @@ impl MetastoreServiceTowerLayerStack { EmptyResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< ResetSourceCheckpointRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, - >::Future: Send + 'static, + > + Clone + + Send + + Sync + + 'static, + >::Future: Send + 'static, { self.reset_source_checkpoint_layers .push(quickwit_common::tower::BoxLayer::new(layer)); @@ -3907,12 +4691,17 @@ impl MetastoreServiceTowerLayerStack { LastDeleteOpstampResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< LastDeleteOpstampRequest, Response = LastDeleteOpstampResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, >::Future: Send + 'static, { self.last_delete_opstamp_layers @@ -3927,12 +4716,17 @@ impl MetastoreServiceTowerLayerStack { DeleteTask, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< DeleteQuery, Response = DeleteTask, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, >::Future: Send + 'static, { self.create_delete_task_layers @@ -3947,15 +4741,18 @@ impl MetastoreServiceTowerLayerStack { UpdateSplitsDeleteOpstampResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< UpdateSplitsDeleteOpstampRequest, Response = UpdateSplitsDeleteOpstampResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, - >::Future: Send + 'static, + > + Clone + + Send + + Sync + + 'static, + >::Future: Send + 'static, { self.update_splits_delete_opstamp_layers .push(quickwit_common::tower::BoxLayer::new(layer)); @@ -3969,15 +4766,21 @@ impl MetastoreServiceTowerLayerStack { ListDeleteTasksResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< ListDeleteTasksRequest, Response = ListDeleteTasksResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, >::Future: Send + 'static, { - self.list_delete_tasks_layers.push(quickwit_common::tower::BoxLayer::new(layer)); + self.list_delete_tasks_layers + .push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_list_stale_splits_layer(mut self, layer: L) -> Self @@ -3988,15 +4791,21 @@ impl MetastoreServiceTowerLayerStack { ListSplitsResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< ListStaleSplitsRequest, Response = ListSplitsResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, >::Future: Send + 'static, { - self.list_stale_splits_layers.push(quickwit_common::tower::BoxLayer::new(layer)); + self.list_stale_splits_layers + .push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_open_shards_layer(mut self, layer: L) -> Self @@ -4007,15 +4816,21 @@ impl MetastoreServiceTowerLayerStack { OpenShardsResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< OpenShardsRequest, Response = OpenShardsResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, >::Future: Send + 'static, { - self.open_shards_layers.push(quickwit_common::tower::BoxLayer::new(layer)); + self.open_shards_layers + .push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_acquire_shards_layer(mut self, layer: L) -> Self @@ -4026,15 +4841,21 @@ impl MetastoreServiceTowerLayerStack { AcquireShardsResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< AcquireShardsRequest, Response = AcquireShardsResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, >::Future: Send + 'static, { - self.acquire_shards_layers.push(quickwit_common::tower::BoxLayer::new(layer)); + self.acquire_shards_layers + .push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_delete_shards_layer(mut self, layer: L) -> Self @@ -4045,15 +4866,21 @@ impl MetastoreServiceTowerLayerStack { DeleteShardsResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< DeleteShardsRequest, Response = DeleteShardsResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, >::Future: Send + 'static, { - self.delete_shards_layers.push(quickwit_common::tower::BoxLayer::new(layer)); + self.delete_shards_layers + .push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_prune_shards_layer(mut self, layer: L) -> Self @@ -4064,15 +4891,21 @@ impl MetastoreServiceTowerLayerStack { EmptyResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< PruneShardsRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, >::Future: Send + 'static, { - self.prune_shards_layers.push(quickwit_common::tower::BoxLayer::new(layer)); + self.prune_shards_layers + .push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_list_shards_layer(mut self, layer: L) -> Self @@ -4083,15 +4916,21 @@ impl MetastoreServiceTowerLayerStack { ListShardsResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< ListShardsRequest, Response = ListShardsResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, >::Future: Send + 'static, { - self.list_shards_layers.push(quickwit_common::tower::BoxLayer::new(layer)); + self.list_shards_layers + .push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_create_index_template_layer(mut self, layer: L) -> Self @@ -4102,15 +4941,18 @@ impl MetastoreServiceTowerLayerStack { EmptyResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< CreateIndexTemplateRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, - >::Future: Send + 'static, + > + Clone + + Send + + Sync + + 'static, + >::Future: Send + 'static, { self.create_index_template_layers .push(quickwit_common::tower::BoxLayer::new(layer)); @@ -4124,12 +4966,17 @@ impl MetastoreServiceTowerLayerStack { GetIndexTemplateResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< GetIndexTemplateRequest, Response = GetIndexTemplateResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, + > + Clone + + Send + + Sync + + 'static, >::Future: Send + 'static, { self.get_index_template_layers @@ -4144,15 +4991,18 @@ impl MetastoreServiceTowerLayerStack { FindIndexTemplateMatchesResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< FindIndexTemplateMatchesRequest, Response = FindIndexTemplateMatchesResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, - >::Future: Send + 'static, + > + Clone + + Send + + Sync + + 'static, + >::Future: Send + 'static, { self.find_index_template_matches_layers .push(quickwit_common::tower::BoxLayer::new(layer)); @@ -4166,15 +5016,18 @@ impl MetastoreServiceTowerLayerStack { ListIndexTemplatesResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< ListIndexTemplatesRequest, Response = ListIndexTemplatesResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, - >::Future: Send + 'static, + > + Clone + + Send + + Sync + + 'static, + >::Future: Send + 'static, { self.list_index_templates_layers .push(quickwit_common::tower::BoxLayer::new(layer)); @@ -4188,15 +5041,18 @@ impl MetastoreServiceTowerLayerStack { EmptyResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< DeleteIndexTemplatesRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, - >::Future: Send + 'static, + > + Clone + + Send + + Sync + + 'static, + >::Future: Send + 'static, { self.delete_index_templates_layers .push(quickwit_common::tower::BoxLayer::new(layer)); @@ -4210,15 +5066,18 @@ impl MetastoreServiceTowerLayerStack { GetClusterIdentityResponse, crate::metastore::MetastoreError, >, - > + Send + Sync + 'static, + > + Send + + Sync + + 'static, L::Service: tower::Service< GetClusterIdentityRequest, Response = GetClusterIdentityResponse, Error = crate::metastore::MetastoreError, - > + Clone + Send + Sync + 'static, - >::Future: Send + 'static, + > + Clone + + Send + + Sync + + 'static, + >::Future: Send + 'static, { self.get_cluster_identity_layers .push(quickwit_common::tower::BoxLayer::new(layer)); @@ -4269,9 +5128,8 @@ impl MetastoreServiceTowerLayerStack { A: quickwit_actors::Actor + std::fmt::Debug + Send + 'static, MetastoreServiceMailbox: MetastoreService, { - let inner_client = InnerMetastoreServiceClient( - std::sync::Arc::new(MetastoreServiceMailbox::new(mailbox)), - ); + let inner_client = + InnerMetastoreServiceClient(std::sync::Arc::new(MetastoreServiceMailbox::new(mailbox))); self.build_from_inner_client(inner_client) } #[cfg(any(test, feature = "testsuite"))] @@ -4284,262 +5142,144 @@ impl MetastoreServiceTowerLayerStack { self, inner_client: InnerMetastoreServiceClient, ) -> MetastoreServiceClient { - let create_index_svc = self - .create_index_layers - .into_iter() - .rev() - .fold( + let create_index_svc = self.create_index_layers.into_iter().rev().fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let update_index_svc = self.update_index_layers.into_iter().rev().fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let index_metadata_svc = self.index_metadata_layers.into_iter().rev().fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let indexes_metadata_svc = self.indexes_metadata_layers.into_iter().rev().fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let list_indexes_metadata_svc = self.list_indexes_metadata_layers.into_iter().rev().fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let delete_index_svc = self.delete_index_layers.into_iter().rev().fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let list_splits_svc = self.list_splits_layers.into_iter().rev().fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let stage_splits_svc = self.stage_splits_layers.into_iter().rev().fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let publish_splits_svc = self.publish_splits_layers.into_iter().rev().fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let mark_splits_for_deletion_svc = + self.mark_splits_for_deletion_layers.into_iter().rev().fold( quickwit_common::tower::BoxService::new(inner_client.clone()), |svc, layer| layer.layer(svc), ); - let update_index_svc = self - .update_index_layers - .into_iter() - .rev() - .fold( + let delete_splits_svc = self.delete_splits_layers.into_iter().rev().fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let add_source_svc = self.add_source_layers.into_iter().rev().fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let update_source_svc = self.update_source_layers.into_iter().rev().fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let toggle_source_svc = self.toggle_source_layers.into_iter().rev().fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let delete_source_svc = self.delete_source_layers.into_iter().rev().fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let reset_source_checkpoint_svc = + self.reset_source_checkpoint_layers.into_iter().rev().fold( quickwit_common::tower::BoxService::new(inner_client.clone()), |svc, layer| layer.layer(svc), ); - let index_metadata_svc = self - .index_metadata_layers + let last_delete_opstamp_svc = self.last_delete_opstamp_layers.into_iter().rev().fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let create_delete_task_svc = self.create_delete_task_layers.into_iter().rev().fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let update_splits_delete_opstamp_svc = self + .update_splits_delete_opstamp_layers .into_iter() .rev() .fold( quickwit_common::tower::BoxService::new(inner_client.clone()), |svc, layer| layer.layer(svc), ); - let indexes_metadata_svc = self - .indexes_metadata_layers - .into_iter() - .rev() - .fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let list_indexes_metadata_svc = self - .list_indexes_metadata_layers - .into_iter() - .rev() - .fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let delete_index_svc = self - .delete_index_layers - .into_iter() - .rev() - .fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let list_splits_svc = self - .list_splits_layers - .into_iter() - .rev() - .fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let stage_splits_svc = self - .stage_splits_layers - .into_iter() - .rev() - .fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let publish_splits_svc = self - .publish_splits_layers - .into_iter() - .rev() - .fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let mark_splits_for_deletion_svc = self - .mark_splits_for_deletion_layers - .into_iter() - .rev() - .fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let delete_splits_svc = self - .delete_splits_layers - .into_iter() - .rev() - .fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let add_source_svc = self - .add_source_layers - .into_iter() - .rev() - .fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let update_source_svc = self - .update_source_layers - .into_iter() - .rev() - .fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let toggle_source_svc = self - .toggle_source_layers - .into_iter() - .rev() - .fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let delete_source_svc = self - .delete_source_layers - .into_iter() - .rev() - .fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let reset_source_checkpoint_svc = self - .reset_source_checkpoint_layers - .into_iter() - .rev() - .fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let last_delete_opstamp_svc = self - .last_delete_opstamp_layers - .into_iter() - .rev() - .fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let create_delete_task_svc = self - .create_delete_task_layers - .into_iter() - .rev() - .fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let update_splits_delete_opstamp_svc = self - .update_splits_delete_opstamp_layers - .into_iter() - .rev() - .fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let list_delete_tasks_svc = self - .list_delete_tasks_layers - .into_iter() - .rev() - .fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let list_stale_splits_svc = self - .list_stale_splits_layers - .into_iter() - .rev() - .fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let open_shards_svc = self - .open_shards_layers - .into_iter() - .rev() - .fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let acquire_shards_svc = self - .acquire_shards_layers - .into_iter() - .rev() - .fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let delete_shards_svc = self - .delete_shards_layers - .into_iter() - .rev() - .fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let prune_shards_svc = self - .prune_shards_layers - .into_iter() - .rev() - .fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let list_shards_svc = self - .list_shards_layers - .into_iter() - .rev() - .fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let create_index_template_svc = self - .create_index_template_layers - .into_iter() - .rev() - .fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let get_index_template_svc = self - .get_index_template_layers - .into_iter() - .rev() - .fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let find_index_template_matches_svc = self - .find_index_template_matches_layers - .into_iter() - .rev() - .fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let list_index_templates_svc = self - .list_index_templates_layers - .into_iter() - .rev() - .fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let delete_index_templates_svc = self - .delete_index_templates_layers - .into_iter() - .rev() - .fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let get_cluster_identity_svc = self - .get_cluster_identity_layers + let list_delete_tasks_svc = self.list_delete_tasks_layers.into_iter().rev().fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let list_stale_splits_svc = self.list_stale_splits_layers.into_iter().rev().fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let open_shards_svc = self.open_shards_layers.into_iter().rev().fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let acquire_shards_svc = self.acquire_shards_layers.into_iter().rev().fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let delete_shards_svc = self.delete_shards_layers.into_iter().rev().fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let prune_shards_svc = self.prune_shards_layers.into_iter().rev().fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let list_shards_svc = self.list_shards_layers.into_iter().rev().fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let create_index_template_svc = self.create_index_template_layers.into_iter().rev().fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let get_index_template_svc = self.get_index_template_layers.into_iter().rev().fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let find_index_template_matches_svc = self + .find_index_template_matches_layers .into_iter() .rev() .fold( quickwit_common::tower::BoxService::new(inner_client.clone()), |svc, layer| layer.layer(svc), ); + let list_index_templates_svc = self.list_index_templates_layers.into_iter().rev().fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let delete_index_templates_svc = self.delete_index_templates_layers.into_iter().rev().fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let get_cluster_identity_svc = self.get_cluster_identity_layers.into_iter().rev().fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); let tower_svc_stack = MetastoreServiceTowerServiceStack { inner: inner_client, create_index_svc, @@ -4617,7 +5357,8 @@ impl Clone for MetastoreServiceMailbox { impl tower::Service for MetastoreServiceMailbox where A: quickwit_actors::Actor - + quickwit_actors::DeferableReplyHandler> + Send + + quickwit_actors::DeferableReplyHandler> + + Send + 'static, M: std::fmt::Debug + Send + 'static, T: Send + 'static, @@ -4639,7 +5380,10 @@ where fn call(&mut self, message: M) -> Self::Future { let mailbox = self.inner.clone(); let fut = async move { - mailbox.ask_for_res(message).await.map_err(|error| error.into()) + mailbox + .ask_for_res(message) + .await + .map_err(|error| error.into()) }; Box::pin(fut) } @@ -4648,48 +5392,37 @@ where impl MetastoreService for MetastoreServiceMailbox where A: quickwit_actors::Actor + std::fmt::Debug, - MetastoreServiceMailbox< - A, - >: tower::Service< + MetastoreServiceMailbox: tower::Service< CreateIndexRequest, Response = CreateIndexResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > - + tower::Service< + > + tower::Service< UpdateIndexRequest, Response = IndexMetadataResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > - + tower::Service< + > + tower::Service< IndexMetadataRequest, Response = IndexMetadataResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > - + tower::Service< + > + tower::Service< IndexesMetadataRequest, Response = IndexesMetadataResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > - + tower::Service< + > + tower::Service< ListIndexesMetadataRequest, Response = ListIndexesMetadataResponse, Error = crate::metastore::MetastoreError, - Future = BoxFuture< - ListIndexesMetadataResponse, - crate::metastore::MetastoreError, - >, - > - + tower::Service< + Future = BoxFuture, + > + tower::Service< DeleteIndexRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > - + tower::Service< + > + tower::Service< ListSplitsRequest, Response = MetastoreServiceStream, Error = crate::metastore::MetastoreError, @@ -4697,174 +5430,131 @@ where MetastoreServiceStream, crate::metastore::MetastoreError, >, - > - + tower::Service< + > + tower::Service< StageSplitsRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > - + tower::Service< + > + tower::Service< PublishSplitsRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > - + tower::Service< + > + tower::Service< MarkSplitsForDeletionRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > - + tower::Service< + > + tower::Service< DeleteSplitsRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > - + tower::Service< + > + tower::Service< AddSourceRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > - + tower::Service< + > + tower::Service< UpdateSourceRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > - + tower::Service< + > + tower::Service< ToggleSourceRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > - + tower::Service< + > + tower::Service< DeleteSourceRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > - + tower::Service< + > + tower::Service< ResetSourceCheckpointRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > - + tower::Service< + > + tower::Service< LastDeleteOpstampRequest, Response = LastDeleteOpstampResponse, Error = crate::metastore::MetastoreError, - Future = BoxFuture< - LastDeleteOpstampResponse, - crate::metastore::MetastoreError, - >, - > - + tower::Service< + Future = BoxFuture, + > + tower::Service< DeleteQuery, Response = DeleteTask, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > - + tower::Service< + > + tower::Service< UpdateSplitsDeleteOpstampRequest, Response = UpdateSplitsDeleteOpstampResponse, Error = crate::metastore::MetastoreError, - Future = BoxFuture< - UpdateSplitsDeleteOpstampResponse, - crate::metastore::MetastoreError, - >, - > - + tower::Service< + Future = BoxFuture, + > + tower::Service< ListDeleteTasksRequest, Response = ListDeleteTasksResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > - + tower::Service< + > + tower::Service< ListStaleSplitsRequest, Response = ListSplitsResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > - + tower::Service< + > + tower::Service< OpenShardsRequest, Response = OpenShardsResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > - + tower::Service< + > + tower::Service< AcquireShardsRequest, Response = AcquireShardsResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > - + tower::Service< + > + tower::Service< DeleteShardsRequest, Response = DeleteShardsResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > - + tower::Service< + > + tower::Service< PruneShardsRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > - + tower::Service< + > + tower::Service< ListShardsRequest, Response = ListShardsResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > - + tower::Service< + > + tower::Service< CreateIndexTemplateRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > - + tower::Service< + > + tower::Service< GetIndexTemplateRequest, Response = GetIndexTemplateResponse, Error = crate::metastore::MetastoreError, - Future = BoxFuture< - GetIndexTemplateResponse, - crate::metastore::MetastoreError, - >, - > - + tower::Service< + Future = BoxFuture, + > + tower::Service< FindIndexTemplateMatchesRequest, Response = FindIndexTemplateMatchesResponse, Error = crate::metastore::MetastoreError, - Future = BoxFuture< - FindIndexTemplateMatchesResponse, - crate::metastore::MetastoreError, - >, - > - + tower::Service< + Future = BoxFuture, + > + tower::Service< ListIndexTemplatesRequest, Response = ListIndexTemplatesResponse, Error = crate::metastore::MetastoreError, - Future = BoxFuture< - ListIndexTemplatesResponse, - crate::metastore::MetastoreError, - >, - > - + tower::Service< + Future = BoxFuture, + > + tower::Service< DeleteIndexTemplatesRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > - + tower::Service< + > + tower::Service< GetClusterIdentityRequest, Response = GetClusterIdentityResponse, Error = crate::metastore::MetastoreError, - Future = BoxFuture< - GetClusterIdentityResponse, - crate::metastore::MetastoreError, - >, + Future = BoxFuture, >, { async fn create_index( @@ -5067,8 +5757,11 @@ where } fn endpoints(&self) -> Vec { vec![ - quickwit_common::uri::Uri::from_str(& format!("actor://localhost/{}", self - .inner.actor_instance_id())).expect("URI should be valid") + quickwit_common::uri::Uri::from_str(&format!( + "actor://localhost/{}", + self.inner.actor_instance_id() + )) + .expect("URI should be valid"), ] } } @@ -5076,9 +5769,8 @@ where pub struct MetastoreServiceGrpcClientAdapter { inner: T, #[allow(dead_code)] - connection_addrs_rx: tokio::sync::watch::Receiver< - std::collections::HashSet, - >, + connection_addrs_rx: + tokio::sync::watch::Receiver>, } impl MetastoreServiceGrpcClientAdapter { pub fn new( @@ -5095,15 +5787,18 @@ impl MetastoreServiceGrpcClientAdapter { } #[async_trait::async_trait] impl MetastoreService -for MetastoreServiceGrpcClientAdapter< - metastore_service_grpc_client::MetastoreServiceGrpcClient, -> + for MetastoreServiceGrpcClientAdapter< + metastore_service_grpc_client::MetastoreServiceGrpcClient, + > where - T: tonic::client::GrpcService + std::fmt::Debug + Clone + Send - + Sync + 'static, + T: tonic::client::GrpcService + + std::fmt::Debug + + Clone + + Send + + Sync + + 'static, T::ResponseBody: tonic::codegen::Body + Send + 'static, - ::Error: Into - + Send, + ::Error: Into + Send, T::Future: Send, { async fn create_index( @@ -5115,10 +5810,9 @@ where .create_index(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - CreateIndexRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error(status, CreateIndexRequest::rpc_name()) + }) } async fn update_index( &self, @@ -5129,10 +5823,9 @@ where .update_index(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - UpdateIndexRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error(status, UpdateIndexRequest::rpc_name()) + }) } async fn index_metadata( &self, @@ -5143,10 +5836,9 @@ where .index_metadata(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - IndexMetadataRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error(status, IndexMetadataRequest::rpc_name()) + }) } async fn indexes_metadata( &self, @@ -5157,10 +5849,12 @@ where .indexes_metadata(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - IndexesMetadataRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error( + status, + IndexesMetadataRequest::rpc_name(), + ) + }) } async fn list_indexes_metadata( &self, @@ -5171,10 +5865,12 @@ where .list_indexes_metadata(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - ListIndexesMetadataRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error( + status, + ListIndexesMetadataRequest::rpc_name(), + ) + }) } async fn delete_index( &self, @@ -5185,10 +5881,9 @@ where .delete_index(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - DeleteIndexRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error(status, DeleteIndexRequest::rpc_name()) + }) } async fn list_splits( &self, @@ -5201,16 +5896,16 @@ where .map(|response| { let streaming: tonic::Streaming<_> = response.into_inner(); let stream = quickwit_common::ServiceStream::from(streaming); - stream - .map_err(|status| crate::error::grpc_status_to_service_error( + stream.map_err(|status| { + crate::error::grpc_status_to_service_error( status, ListSplitsRequest::rpc_name(), - )) + ) + }) + }) + .map_err(|status| { + crate::error::grpc_status_to_service_error(status, ListSplitsRequest::rpc_name()) }) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - ListSplitsRequest::rpc_name(), - )) } async fn stage_splits( &self, @@ -5221,10 +5916,9 @@ where .stage_splits(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - StageSplitsRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error(status, StageSplitsRequest::rpc_name()) + }) } async fn publish_splits( &self, @@ -5235,10 +5929,9 @@ where .publish_splits(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - PublishSplitsRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error(status, PublishSplitsRequest::rpc_name()) + }) } async fn mark_splits_for_deletion( &self, @@ -5249,10 +5942,12 @@ where .mark_splits_for_deletion(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - MarkSplitsForDeletionRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error( + status, + MarkSplitsForDeletionRequest::rpc_name(), + ) + }) } async fn delete_splits( &self, @@ -5263,10 +5958,9 @@ where .delete_splits(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - DeleteSplitsRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error(status, DeleteSplitsRequest::rpc_name()) + }) } async fn add_source( &self, @@ -5277,10 +5971,9 @@ where .add_source(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - AddSourceRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error(status, AddSourceRequest::rpc_name()) + }) } async fn update_source( &self, @@ -5291,10 +5984,9 @@ where .update_source(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - UpdateSourceRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error(status, UpdateSourceRequest::rpc_name()) + }) } async fn toggle_source( &self, @@ -5305,10 +5997,9 @@ where .toggle_source(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - ToggleSourceRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error(status, ToggleSourceRequest::rpc_name()) + }) } async fn delete_source( &self, @@ -5319,10 +6010,9 @@ where .delete_source(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - DeleteSourceRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error(status, DeleteSourceRequest::rpc_name()) + }) } async fn reset_source_checkpoint( &self, @@ -5333,10 +6023,12 @@ where .reset_source_checkpoint(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - ResetSourceCheckpointRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error( + status, + ResetSourceCheckpointRequest::rpc_name(), + ) + }) } async fn last_delete_opstamp( &self, @@ -5347,10 +6039,12 @@ where .last_delete_opstamp(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - LastDeleteOpstampRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error( + status, + LastDeleteOpstampRequest::rpc_name(), + ) + }) } async fn create_delete_task( &self, @@ -5361,10 +6055,9 @@ where .create_delete_task(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - DeleteQuery::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error(status, DeleteQuery::rpc_name()) + }) } async fn update_splits_delete_opstamp( &self, @@ -5375,10 +6068,12 @@ where .update_splits_delete_opstamp(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - UpdateSplitsDeleteOpstampRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error( + status, + UpdateSplitsDeleteOpstampRequest::rpc_name(), + ) + }) } async fn list_delete_tasks( &self, @@ -5389,10 +6084,12 @@ where .list_delete_tasks(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - ListDeleteTasksRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error( + status, + ListDeleteTasksRequest::rpc_name(), + ) + }) } async fn list_stale_splits( &self, @@ -5403,10 +6100,12 @@ where .list_stale_splits(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - ListStaleSplitsRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error( + status, + ListStaleSplitsRequest::rpc_name(), + ) + }) } async fn open_shards( &self, @@ -5417,10 +6116,9 @@ where .open_shards(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - OpenShardsRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error(status, OpenShardsRequest::rpc_name()) + }) } async fn acquire_shards( &self, @@ -5431,10 +6129,9 @@ where .acquire_shards(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - AcquireShardsRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error(status, AcquireShardsRequest::rpc_name()) + }) } async fn delete_shards( &self, @@ -5445,10 +6142,9 @@ where .delete_shards(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - DeleteShardsRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error(status, DeleteShardsRequest::rpc_name()) + }) } async fn prune_shards( &self, @@ -5459,10 +6155,9 @@ where .prune_shards(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - PruneShardsRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error(status, PruneShardsRequest::rpc_name()) + }) } async fn list_shards( &self, @@ -5473,10 +6168,9 @@ where .list_shards(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - ListShardsRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error(status, ListShardsRequest::rpc_name()) + }) } async fn create_index_template( &self, @@ -5487,10 +6181,12 @@ where .create_index_template(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - CreateIndexTemplateRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error( + status, + CreateIndexTemplateRequest::rpc_name(), + ) + }) } async fn get_index_template( &self, @@ -5501,10 +6197,12 @@ where .get_index_template(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - GetIndexTemplateRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error( + status, + GetIndexTemplateRequest::rpc_name(), + ) + }) } async fn find_index_template_matches( &self, @@ -5515,10 +6213,12 @@ where .find_index_template_matches(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - FindIndexTemplateMatchesRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error( + status, + FindIndexTemplateMatchesRequest::rpc_name(), + ) + }) } async fn list_index_templates( &self, @@ -5529,10 +6229,12 @@ where .list_index_templates(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - ListIndexTemplatesRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error( + status, + ListIndexTemplatesRequest::rpc_name(), + ) + }) } async fn delete_index_templates( &self, @@ -5543,10 +6245,12 @@ where .delete_index_templates(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - DeleteIndexTemplatesRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error( + status, + DeleteIndexTemplatesRequest::rpc_name(), + ) + }) } async fn get_cluster_identity( &self, @@ -5557,10 +6261,12 @@ where .get_cluster_identity(request) .await .map(|response| response.into_inner()) - .map_err(|status| crate::error::grpc_status_to_service_error( - status, - GetClusterIdentityRequest::rpc_name(), - )) + .map_err(|status| { + crate::error::grpc_status_to_service_error( + status, + GetClusterIdentityRequest::rpc_name(), + ) + }) } async fn check_connectivity(&self) -> anyhow::Result<()> { if self.connection_addrs_rx.borrow().is_empty() { @@ -5572,9 +6278,12 @@ where self.connection_addrs_rx .borrow() .iter() - .flat_map(|addr| quickwit_common::uri::Uri::from_str( - &format!("grpc://{addr}/{}.{}", "quickwit.metastore", "MetastoreService"), - )) + .flat_map(|addr| { + quickwit_common::uri::Uri::from_str(&format!( + "grpc://{addr}/{}.{}", + "quickwit.metastore", "MetastoreService" + )) + }) .collect() } } @@ -5593,8 +6302,7 @@ impl MetastoreServiceGrpcServerAdapter { } } #[async_trait::async_trait] -impl metastore_service_grpc_server::MetastoreServiceGrpc -for MetastoreServiceGrpcServerAdapter { +impl metastore_service_grpc_server::MetastoreServiceGrpc for MetastoreServiceGrpcServerAdapter { async fn create_index( &self, request: tonic::Request, @@ -5661,9 +6369,7 @@ for MetastoreServiceGrpcServerAdapter { .map(tonic::Response::new) .map_err(crate::error::grpc_error_to_grpc_status) } - type ListSplitsStream = quickwit_common::ServiceStream< - tonic::Result, - >; + type ListSplitsStream = quickwit_common::ServiceStream>; async fn list_splits( &self, request: tonic::Request, @@ -5672,9 +6378,9 @@ for MetastoreServiceGrpcServerAdapter { .0 .list_splits(request.into_inner()) .await - .map(|stream| tonic::Response::new( - stream.map_err(crate::error::grpc_error_to_grpc_status), - )) + .map(|stream| { + tonic::Response::new(stream.map_err(crate::error::grpc_error_to_grpc_status)) + }) .map_err(crate::error::grpc_error_to_grpc_status) } async fn stage_splits( @@ -5960,10 +6666,10 @@ pub mod metastore_service_grpc_client { dead_code, missing_docs, clippy::wildcard_imports, - clippy::let_unit_value, + clippy::let_unit_value )] - use tonic::codegen::*; use tonic::codegen::http::Uri; + use tonic::codegen::*; /// Metastore meant to manage Quickwit's indexes, their splits and delete tasks. /// /// I. Index and splits management. @@ -6056,14 +6762,13 @@ pub mod metastore_service_grpc_client { F: tonic::service::Interceptor, T::ResponseBody: Default, T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, + http::Request, + Response = http::Response< + >::ResponseBody, + >, >, - >, - , - >>::Error: Into + std::marker::Send + std::marker::Sync, + >>::Error: + Into + std::marker::Send + std::marker::Sync, { MetastoreServiceGrpcClient::new(InterceptedService::new(inner, interceptor)) } @@ -6105,144 +6810,100 @@ pub mod metastore_service_grpc_client { pub async fn create_index( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/CreateIndex", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("quickwit.metastore.MetastoreService", "CreateIndex"), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "CreateIndex", + )); self.inner.unary(req, path, codec).await } /// Update an index. pub async fn update_index( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/UpdateIndex", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("quickwit.metastore.MetastoreService", "UpdateIndex"), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "UpdateIndex", + )); self.inner.unary(req, path, codec).await } /// Returns the `IndexMetadata` of an index identified by its IndexID or its IndexUID. pub async fn index_metadata( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/IndexMetadata", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "IndexMetadata", - ), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "IndexMetadata", + )); self.inner.unary(req, path, codec).await } /// Fetches the metadata of a list of indexes identified by their Index IDs or UIDs. pub async fn indexes_metadata( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/IndexesMetadata", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "IndexesMetadata", - ), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "IndexesMetadata", + )); self.inner.unary(req, path, codec).await } /// Gets an indexes metadatas. pub async fn list_indexes_metadata( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/ListIndexesMetadata", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "ListIndexesMetadata", - ), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "ListIndexesMetadata", + )); self.inner.unary(req, path, codec).await } /// Deletes an index @@ -6250,23 +6911,18 @@ pub mod metastore_service_grpc_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/DeleteIndex", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("quickwit.metastore.MetastoreService", "DeleteIndex"), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "DeleteIndex", + )); self.inner.unary(req, path, codec).await } /// Streams splits from index. @@ -6277,23 +6933,18 @@ pub mod metastore_service_grpc_client { tonic::Response>, tonic::Status, > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/ListSplits", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("quickwit.metastore.MetastoreService", "ListSplits"), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "ListSplits", + )); self.inner.server_streaming(req, path, codec).await } /// Stages several splits. @@ -6301,23 +6952,18 @@ pub mod metastore_service_grpc_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/StageSplits", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("quickwit.metastore.MetastoreService", "StageSplits"), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "StageSplits", + )); self.inner.unary(req, path, codec).await } /// Publishes split. @@ -6325,26 +6971,18 @@ pub mod metastore_service_grpc_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/PublishSplits", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "PublishSplits", - ), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "PublishSplits", + )); self.inner.unary(req, path, codec).await } /// Marks splits for deletion. @@ -6352,26 +6990,18 @@ pub mod metastore_service_grpc_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/MarkSplitsForDeletion", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "MarkSplitsForDeletion", - ), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "MarkSplitsForDeletion", + )); self.inner.unary(req, path, codec).await } /// Deletes splits. @@ -6379,26 +7009,18 @@ pub mod metastore_service_grpc_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/DeleteSplits", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "DeleteSplits", - ), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "DeleteSplits", + )); self.inner.unary(req, path, codec).await } /// Adds a source. @@ -6406,23 +7028,18 @@ pub mod metastore_service_grpc_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/AddSource", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("quickwit.metastore.MetastoreService", "AddSource"), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "AddSource", + )); self.inner.unary(req, path, codec).await } /// Updates a source. @@ -6430,26 +7047,18 @@ pub mod metastore_service_grpc_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/UpdateSource", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "UpdateSource", - ), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "UpdateSource", + )); self.inner.unary(req, path, codec).await } /// Toggles (turns on or off) source. @@ -6457,26 +7066,18 @@ pub mod metastore_service_grpc_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/ToggleSource", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "ToggleSource", - ), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "ToggleSource", + )); self.inner.unary(req, path, codec).await } /// Removes source. @@ -6484,26 +7085,18 @@ pub mod metastore_service_grpc_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/DeleteSource", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "DeleteSource", - ), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "DeleteSource", + )); self.inner.unary(req, path, codec).await } /// Resets source checkpoint. @@ -6511,56 +7104,38 @@ pub mod metastore_service_grpc_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/ResetSourceCheckpoint", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "ResetSourceCheckpoint", - ), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "ResetSourceCheckpoint", + )); self.inner.unary(req, path, codec).await } /// Gets last opstamp for a given `index_id`. pub async fn last_delete_opstamp( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/LastDeleteOpstamp", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "LastDeleteOpstamp", - ), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "LastDeleteOpstamp", + )); self.inner.unary(req, path, codec).await } /// Creates a delete task. @@ -6568,26 +7143,18 @@ pub mod metastore_service_grpc_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/CreateDeleteTask", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "CreateDeleteTask", - ), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "CreateDeleteTask", + )); self.inner.unary(req, path, codec).await } /// Updates splits `delete_opstamp`. @@ -6598,86 +7165,58 @@ pub mod metastore_service_grpc_client { tonic::Response, tonic::Status, > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/UpdateSplitsDeleteOpstamp", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "UpdateSplitsDeleteOpstamp", - ), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "UpdateSplitsDeleteOpstamp", + )); self.inner.unary(req, path, codec).await } /// Lists delete tasks with `delete_task.opstamp` > `opstamp_start` for a given `index_id`. pub async fn list_delete_tasks( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/ListDeleteTasks", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "ListDeleteTasks", - ), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "ListDeleteTasks", + )); self.inner.unary(req, path, codec).await } /// Lists splits with `split.delete_opstamp` \< `delete_opstamp` for a given `index_id`. pub async fn list_stale_splits( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/ListStaleSplits", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "ListStaleSplits", - ), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "ListStaleSplits", + )); self.inner.unary(req, path, codec).await } /// Shard API @@ -6689,27 +7228,20 @@ pub mod metastore_service_grpc_client { pub async fn open_shards( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/OpenShards", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("quickwit.metastore.MetastoreService", "OpenShards"), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "OpenShards", + )); self.inner.unary(req, path, codec).await } /// Acquires a set of shards for indexing. This RPC locks the shards for publishing thanks to a publish token and only @@ -6724,30 +7256,20 @@ pub mod metastore_service_grpc_client { pub async fn acquire_shards( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/AcquireShards", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "AcquireShards", - ), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "AcquireShards", + )); self.inner.unary(req, path, codec).await } /// Deletes a set of shards. This RPC deletes the shards from the metastore. @@ -6755,30 +7277,20 @@ pub mod metastore_service_grpc_client { pub async fn delete_shards( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/DeleteShards", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "DeleteShards", - ), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "DeleteShards", + )); self.inner.unary(req, path, codec).await } /// Deletes outdated shards. This RPC deletes the shards from the metastore. @@ -6786,49 +7298,37 @@ pub mod metastore_service_grpc_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/PruneShards", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("quickwit.metastore.MetastoreService", "PruneShards"), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "PruneShards", + )); self.inner.unary(req, path, codec).await } pub async fn list_shards( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/ListShards", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("quickwit.metastore.MetastoreService", "ListShards"), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "ListShards", + )); self.inner.unary(req, path, codec).await } /// Creates an index template. @@ -6836,56 +7336,38 @@ pub mod metastore_service_grpc_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/CreateIndexTemplate", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "CreateIndexTemplate", - ), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "CreateIndexTemplate", + )); self.inner.unary(req, path, codec).await } /// Fetches an index template. pub async fn get_index_template( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/GetIndexTemplate", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "GetIndexTemplate", - ), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "GetIndexTemplate", + )); self.inner.unary(req, path, codec).await } /// Finds matching index templates. @@ -6896,56 +7378,38 @@ pub mod metastore_service_grpc_client { tonic::Response, tonic::Status, > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/FindIndexTemplateMatches", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "FindIndexTemplateMatches", - ), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "FindIndexTemplateMatches", + )); self.inner.unary(req, path, codec).await } /// Returns all the index templates. pub async fn list_index_templates( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/ListIndexTemplates", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "ListIndexTemplates", - ), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "ListIndexTemplates", + )); self.inner.unary(req, path, codec).await } /// Deletes index templates. @@ -6953,56 +7417,38 @@ pub mod metastore_service_grpc_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/DeleteIndexTemplates", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "DeleteIndexTemplates", - ), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "DeleteIndexTemplates", + )); self.inner.unary(req, path, codec).await } /// Get cluster identity pub async fn get_cluster_identity( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/GetClusterIdentity", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "GetClusterIdentity", - ), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "GetClusterIdentity", + )); self.inner.unary(req, path, codec).await } } @@ -7014,7 +7460,7 @@ pub mod metastore_service_grpc_server { dead_code, missing_docs, clippy::wildcard_imports, - clippy::let_unit_value, + clippy::let_unit_value )] use tonic::codegen::*; /// Generated trait containing gRPC methods that should be implemented for use with MetastoreServiceGrpcServer. @@ -7027,42 +7473,27 @@ pub mod metastore_service_grpc_server { async fn create_index( &self, request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; + ) -> std::result::Result, tonic::Status>; /// Update an index. async fn update_index( &self, request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; + ) -> std::result::Result, tonic::Status>; /// Returns the `IndexMetadata` of an index identified by its IndexID or its IndexUID. async fn index_metadata( &self, request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; + ) -> std::result::Result, tonic::Status>; /// Fetches the metadata of a list of indexes identified by their Index IDs or UIDs. async fn indexes_metadata( &self, request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; + ) -> std::result::Result, tonic::Status>; /// Gets an indexes metadatas. async fn list_indexes_metadata( &self, request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; + ) -> std::result::Result, tonic::Status>; /// Deletes an index async fn delete_index( &self, @@ -7071,8 +7502,7 @@ pub mod metastore_service_grpc_server { /// Server streaming response type for the ListSplits method. type ListSplitsStream: tonic::codegen::tokio_stream::Stream< Item = std::result::Result, - > - + std::marker::Send + > + std::marker::Send + 'static; /// Streams splits from index. async fn list_splits( @@ -7128,10 +7558,7 @@ pub mod metastore_service_grpc_server { async fn last_delete_opstamp( &self, request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; + ) -> std::result::Result, tonic::Status>; /// Creates a delete task. async fn create_delete_task( &self, @@ -7149,18 +7576,12 @@ pub mod metastore_service_grpc_server { async fn list_delete_tasks( &self, request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; + ) -> std::result::Result, tonic::Status>; /// Lists splits with `split.delete_opstamp` \< `delete_opstamp` for a given `index_id`. async fn list_stale_splits( &self, request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; + ) -> std::result::Result, tonic::Status>; /// Shard API /// /// Note that for the file-backed metastore implementation, the requests are not processed atomically. @@ -7170,10 +7591,7 @@ pub mod metastore_service_grpc_server { async fn open_shards( &self, request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; + ) -> std::result::Result, tonic::Status>; /// Acquires a set of shards for indexing. This RPC locks the shards for publishing thanks to a publish token and only /// the last indexer that has acquired the shards is allowed to publish. The response returns for each subrequest the /// list of acquired shards along with the positions to index from. @@ -7186,19 +7604,13 @@ pub mod metastore_service_grpc_server { async fn acquire_shards( &self, request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; + ) -> std::result::Result, tonic::Status>; /// Deletes a set of shards. This RPC deletes the shards from the metastore. /// If the shard did not exist to begin with, the operation is successful and does not return any error. async fn delete_shards( &self, request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; + ) -> std::result::Result, tonic::Status>; /// Deletes outdated shards. This RPC deletes the shards from the metastore. async fn prune_shards( &self, @@ -7207,10 +7619,7 @@ pub mod metastore_service_grpc_server { async fn list_shards( &self, request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; + ) -> std::result::Result, tonic::Status>; /// Creates an index template. async fn create_index_template( &self, @@ -7220,10 +7629,7 @@ pub mod metastore_service_grpc_server { async fn get_index_template( &self, request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; + ) -> std::result::Result, tonic::Status>; /// Finds matching index templates. async fn find_index_template_matches( &self, @@ -7236,10 +7642,7 @@ pub mod metastore_service_grpc_server { async fn list_index_templates( &self, request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; + ) -> std::result::Result, tonic::Status>; /// Deletes index templates. async fn delete_index_templates( &self, @@ -7249,10 +7652,7 @@ pub mod metastore_service_grpc_server { async fn get_cluster_identity( &self, request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; + ) -> std::result::Result, tonic::Status>; } /// Metastore meant to manage Quickwit's indexes, their splits and delete tasks. /// @@ -7329,10 +7729,7 @@ pub mod metastore_service_grpc_server { max_encoding_message_size: None, } } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService + pub fn with_interceptor(inner: T, interceptor: F) -> InterceptedService where F: tonic::service::Interceptor, { @@ -7367,8 +7764,7 @@ pub mod metastore_service_grpc_server { self } } - impl tonic::codegen::Service> - for MetastoreServiceGrpcServer + impl tonic::codegen::Service> for MetastoreServiceGrpcServer where T: MetastoreServiceGrpc, B: Body + std::marker::Send + 'static, @@ -7388,23 +7784,19 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/CreateIndex" => { #[allow(non_camel_case_types)] struct CreateIndexSvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for CreateIndexSvc { + impl + tonic::server::UnaryService + for CreateIndexSvc + { type Response = super::CreateIndexResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::create_index(&inner, request) - .await + ::create_index(&inner, request).await }; Box::pin(fut) } @@ -7434,23 +7826,19 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/UpdateIndex" => { #[allow(non_camel_case_types)] struct UpdateIndexSvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for UpdateIndexSvc { + impl + tonic::server::UnaryService + for UpdateIndexSvc + { type Response = super::IndexMetadataResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::update_index(&inner, request) - .await + ::update_index(&inner, request).await }; Box::pin(fut) } @@ -7480,23 +7868,19 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/IndexMetadata" => { #[allow(non_camel_case_types)] struct IndexMetadataSvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for IndexMetadataSvc { + impl + tonic::server::UnaryService + for IndexMetadataSvc + { type Response = super::IndexMetadataResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::index_metadata(&inner, request) - .await + ::index_metadata(&inner, request).await }; Box::pin(fut) } @@ -7526,26 +7910,19 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/IndexesMetadata" => { #[allow(non_camel_case_types)] struct IndexesMetadataSvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for IndexesMetadataSvc { + impl + tonic::server::UnaryService + for IndexesMetadataSvc + { type Response = super::IndexesMetadataResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::indexes_metadata( - &inner, - request, - ) - .await + ::indexes_metadata(&inner, request).await }; Box::pin(fut) } @@ -7575,25 +7952,19 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/ListIndexesMetadata" => { #[allow(non_camel_case_types)] struct ListIndexesMetadataSvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for ListIndexesMetadataSvc { + impl + tonic::server::UnaryService + for ListIndexesMetadataSvc + { type Response = super::ListIndexesMetadataResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::list_indexes_metadata( - &inner, - request, - ) + ::list_indexes_metadata(&inner, request) .await }; Box::pin(fut) @@ -7624,23 +7995,19 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/DeleteIndex" => { #[allow(non_camel_case_types)] struct DeleteIndexSvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for DeleteIndexSvc { + impl + tonic::server::UnaryService + for DeleteIndexSvc + { type Response = super::EmptyResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::delete_index(&inner, request) - .await + ::delete_index(&inner, request).await }; Box::pin(fut) } @@ -7670,24 +8037,21 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/ListSplits" => { #[allow(non_camel_case_types)] struct ListSplitsSvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::ServerStreamingService - for ListSplitsSvc { + impl + tonic::server::ServerStreamingService + for ListSplitsSvc + { type Response = super::ListSplitsResponse; type ResponseStream = T::ListSplitsStream; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = + BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::list_splits(&inner, request) - .await + ::list_splits(&inner, request).await }; Box::pin(fut) } @@ -7717,23 +8081,19 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/StageSplits" => { #[allow(non_camel_case_types)] struct StageSplitsSvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for StageSplitsSvc { + impl + tonic::server::UnaryService + for StageSplitsSvc + { type Response = super::EmptyResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::stage_splits(&inner, request) - .await + ::stage_splits(&inner, request).await }; Box::pin(fut) } @@ -7763,23 +8123,19 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/PublishSplits" => { #[allow(non_camel_case_types)] struct PublishSplitsSvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for PublishSplitsSvc { + impl + tonic::server::UnaryService + for PublishSplitsSvc + { type Response = super::EmptyResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::publish_splits(&inner, request) - .await + ::publish_splits(&inner, request).await }; Box::pin(fut) } @@ -7809,15 +8165,12 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/MarkSplitsForDeletion" => { #[allow(non_camel_case_types)] struct MarkSplitsForDeletionSvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for MarkSplitsForDeletionSvc { + impl + tonic::server::UnaryService + for MarkSplitsForDeletionSvc + { type Response = super::EmptyResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, @@ -7825,10 +8178,9 @@ pub mod metastore_service_grpc_server { let inner = Arc::clone(&self.0); let fut = async move { ::mark_splits_for_deletion( - &inner, - request, - ) - .await + &inner, request, + ) + .await }; Box::pin(fut) } @@ -7858,23 +8210,19 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/DeleteSplits" => { #[allow(non_camel_case_types)] struct DeleteSplitsSvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for DeleteSplitsSvc { + impl + tonic::server::UnaryService + for DeleteSplitsSvc + { type Response = super::EmptyResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::delete_splits(&inner, request) - .await + ::delete_splits(&inner, request).await }; Box::pin(fut) } @@ -7904,23 +8252,18 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/AddSource" => { #[allow(non_camel_case_types)] struct AddSourceSvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for AddSourceSvc { + impl + tonic::server::UnaryService for AddSourceSvc + { type Response = super::EmptyResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::add_source(&inner, request) - .await + ::add_source(&inner, request).await }; Box::pin(fut) } @@ -7950,23 +8293,19 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/UpdateSource" => { #[allow(non_camel_case_types)] struct UpdateSourceSvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for UpdateSourceSvc { + impl + tonic::server::UnaryService + for UpdateSourceSvc + { type Response = super::EmptyResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::update_source(&inner, request) - .await + ::update_source(&inner, request).await }; Box::pin(fut) } @@ -7996,23 +8335,19 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/ToggleSource" => { #[allow(non_camel_case_types)] struct ToggleSourceSvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for ToggleSourceSvc { + impl + tonic::server::UnaryService + for ToggleSourceSvc + { type Response = super::EmptyResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::toggle_source(&inner, request) - .await + ::toggle_source(&inner, request).await }; Box::pin(fut) } @@ -8042,23 +8377,19 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/DeleteSource" => { #[allow(non_camel_case_types)] struct DeleteSourceSvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for DeleteSourceSvc { + impl + tonic::server::UnaryService + for DeleteSourceSvc + { type Response = super::EmptyResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::delete_source(&inner, request) - .await + ::delete_source(&inner, request).await }; Box::pin(fut) } @@ -8088,15 +8419,12 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/ResetSourceCheckpoint" => { #[allow(non_camel_case_types)] struct ResetSourceCheckpointSvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for ResetSourceCheckpointSvc { + impl + tonic::server::UnaryService + for ResetSourceCheckpointSvc + { type Response = super::EmptyResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, @@ -8104,10 +8432,9 @@ pub mod metastore_service_grpc_server { let inner = Arc::clone(&self.0); let fut = async move { ::reset_source_checkpoint( - &inner, - request, - ) - .await + &inner, request, + ) + .await }; Box::pin(fut) } @@ -8137,25 +8464,19 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/LastDeleteOpstamp" => { #[allow(non_camel_case_types)] struct LastDeleteOpstampSvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for LastDeleteOpstampSvc { + impl + tonic::server::UnaryService + for LastDeleteOpstampSvc + { type Response = super::LastDeleteOpstampResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::last_delete_opstamp( - &inner, - request, - ) + ::last_delete_opstamp(&inner, request) .await }; Box::pin(fut) @@ -8186,25 +8507,18 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/CreateDeleteTask" => { #[allow(non_camel_case_types)] struct CreateDeleteTaskSvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for CreateDeleteTaskSvc { + impl tonic::server::UnaryService + for CreateDeleteTaskSvc + { type Response = super::DeleteTask; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::create_delete_task( - &inner, - request, - ) + ::create_delete_task(&inner, request) .await }; Box::pin(fut) @@ -8234,32 +8548,23 @@ pub mod metastore_service_grpc_server { } "/quickwit.metastore.MetastoreService/UpdateSplitsDeleteOpstamp" => { #[allow(non_camel_case_types)] - struct UpdateSplitsDeleteOpstampSvc( - pub Arc, - ); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService< - super::UpdateSplitsDeleteOpstampRequest, - > for UpdateSplitsDeleteOpstampSvc { + struct UpdateSplitsDeleteOpstampSvc(pub Arc); + impl + tonic::server::UnaryService + for UpdateSplitsDeleteOpstampSvc + { type Response = super::UpdateSplitsDeleteOpstampResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, - request: tonic::Request< - super::UpdateSplitsDeleteOpstampRequest, - >, + request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { ::update_splits_delete_opstamp( - &inner, - request, - ) - .await + &inner, request, + ) + .await }; Box::pin(fut) } @@ -8289,25 +8594,19 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/ListDeleteTasks" => { #[allow(non_camel_case_types)] struct ListDeleteTasksSvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for ListDeleteTasksSvc { + impl + tonic::server::UnaryService + for ListDeleteTasksSvc + { type Response = super::ListDeleteTasksResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::list_delete_tasks( - &inner, - request, - ) + ::list_delete_tasks(&inner, request) .await }; Box::pin(fut) @@ -8338,25 +8637,19 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/ListStaleSplits" => { #[allow(non_camel_case_types)] struct ListStaleSplitsSvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for ListStaleSplitsSvc { + impl + tonic::server::UnaryService + for ListStaleSplitsSvc + { type Response = super::ListSplitsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::list_stale_splits( - &inner, - request, - ) + ::list_stale_splits(&inner, request) .await }; Box::pin(fut) @@ -8387,23 +8680,18 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/OpenShards" => { #[allow(non_camel_case_types)] struct OpenShardsSvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for OpenShardsSvc { + impl + tonic::server::UnaryService for OpenShardsSvc + { type Response = super::OpenShardsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::open_shards(&inner, request) - .await + ::open_shards(&inner, request).await }; Box::pin(fut) } @@ -8433,23 +8721,19 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/AcquireShards" => { #[allow(non_camel_case_types)] struct AcquireShardsSvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for AcquireShardsSvc { + impl + tonic::server::UnaryService + for AcquireShardsSvc + { type Response = super::AcquireShardsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::acquire_shards(&inner, request) - .await + ::acquire_shards(&inner, request).await }; Box::pin(fut) } @@ -8479,23 +8763,19 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/DeleteShards" => { #[allow(non_camel_case_types)] struct DeleteShardsSvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for DeleteShardsSvc { + impl + tonic::server::UnaryService + for DeleteShardsSvc + { type Response = super::DeleteShardsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::delete_shards(&inner, request) - .await + ::delete_shards(&inner, request).await }; Box::pin(fut) } @@ -8525,23 +8805,19 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/PruneShards" => { #[allow(non_camel_case_types)] struct PruneShardsSvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for PruneShardsSvc { + impl + tonic::server::UnaryService + for PruneShardsSvc + { type Response = super::EmptyResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::prune_shards(&inner, request) - .await + ::prune_shards(&inner, request).await }; Box::pin(fut) } @@ -8571,23 +8847,18 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/ListShards" => { #[allow(non_camel_case_types)] struct ListShardsSvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for ListShardsSvc { + impl + tonic::server::UnaryService for ListShardsSvc + { type Response = super::ListShardsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::list_shards(&inner, request) - .await + ::list_shards(&inner, request).await }; Box::pin(fut) } @@ -8617,25 +8888,19 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/CreateIndexTemplate" => { #[allow(non_camel_case_types)] struct CreateIndexTemplateSvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for CreateIndexTemplateSvc { + impl + tonic::server::UnaryService + for CreateIndexTemplateSvc + { type Response = super::EmptyResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::create_index_template( - &inner, - request, - ) + ::create_index_template(&inner, request) .await }; Box::pin(fut) @@ -8666,25 +8931,19 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/GetIndexTemplate" => { #[allow(non_camel_case_types)] struct GetIndexTemplateSvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for GetIndexTemplateSvc { + impl + tonic::server::UnaryService + for GetIndexTemplateSvc + { type Response = super::GetIndexTemplateResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::get_index_template( - &inner, - request, - ) + ::get_index_template(&inner, request) .await }; Box::pin(fut) @@ -8714,31 +8973,23 @@ pub mod metastore_service_grpc_server { } "/quickwit.metastore.MetastoreService/FindIndexTemplateMatches" => { #[allow(non_camel_case_types)] - struct FindIndexTemplateMatchesSvc( - pub Arc, - ); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for FindIndexTemplateMatchesSvc { + struct FindIndexTemplateMatchesSvc(pub Arc); + impl + tonic::server::UnaryService + for FindIndexTemplateMatchesSvc + { type Response = super::FindIndexTemplateMatchesResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, - request: tonic::Request< - super::FindIndexTemplateMatchesRequest, - >, + request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { ::find_index_template_matches( - &inner, - request, - ) - .await + &inner, request, + ) + .await }; Box::pin(fut) } @@ -8768,25 +9019,19 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/ListIndexTemplates" => { #[allow(non_camel_case_types)] struct ListIndexTemplatesSvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for ListIndexTemplatesSvc { + impl + tonic::server::UnaryService + for ListIndexTemplatesSvc + { type Response = super::ListIndexTemplatesResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::list_index_templates( - &inner, - request, - ) + ::list_index_templates(&inner, request) .await }; Box::pin(fut) @@ -8817,25 +9062,19 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/DeleteIndexTemplates" => { #[allow(non_camel_case_types)] struct DeleteIndexTemplatesSvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for DeleteIndexTemplatesSvc { + impl + tonic::server::UnaryService + for DeleteIndexTemplatesSvc + { type Response = super::EmptyResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::delete_index_templates( - &inner, - request, - ) + ::delete_index_templates(&inner, request) .await }; Box::pin(fut) @@ -8866,25 +9105,19 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/GetClusterIdentity" => { #[allow(non_camel_case_types)] struct GetClusterIdentitySvc(pub Arc); - impl< - T: MetastoreServiceGrpc, - > tonic::server::UnaryService - for GetClusterIdentitySvc { + impl + tonic::server::UnaryService + for GetClusterIdentitySvc + { type Response = super::GetClusterIdentityResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::get_cluster_identity( - &inner, - request, - ) + ::get_cluster_identity(&inner, request) .await }; Box::pin(fut) @@ -8912,25 +9145,19 @@ pub mod metastore_service_grpc_server { }; Box::pin(fut) } - _ => { - Box::pin(async move { - let mut response = http::Response::new( - tonic::body::Body::default(), - ); - let headers = response.headers_mut(); - headers - .insert( - tonic::Status::GRPC_STATUS, - (tonic::Code::Unimplemented as i32).into(), - ); - headers - .insert( - http::header::CONTENT_TYPE, - tonic::metadata::GRPC_CONTENT_TYPE, - ); - Ok(response) - }) - } + _ => Box::pin(async move { + let mut response = http::Response::new(tonic::body::Body::default()); + let headers = response.headers_mut(); + headers.insert( + tonic::Status::GRPC_STATUS, + (tonic::Code::Unimplemented as i32).into(), + ); + headers.insert( + http::header::CONTENT_TYPE, + tonic::metadata::GRPC_CONTENT_TYPE, + ); + Ok(response) + }), } } } diff --git a/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.search.rs b/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.search.rs index e1201ce7a0e..181592a0eb4 100644 --- a/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.search.rs +++ b/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.search.rs @@ -1,7 +1,15 @@ // This file is @generated by prost-build. /// / Scroll Request -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct ScrollRequest { /// / The `scroll_id` is the given in the response of a search request including a scroll. #[prost(string, tag = "1")] @@ -9,8 +17,16 @@ pub struct ScrollRequest { #[prost(uint32, optional, tag = "2")] pub scroll_ttl_secs: ::core::option::Option, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct PutKvRequest { #[prost(bytes = "vec", tag = "1")] pub key: ::prost::alloc::vec::Vec, @@ -19,23 +35,56 @@ pub struct PutKvRequest { #[prost(uint32, tag = "3")] pub ttl_secs: u32, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + Copy, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct PutKvResponse {} -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct GetKvRequest { #[prost(bytes = "vec", tag = "1")] pub key: ::prost::alloc::vec::Vec, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct GetKvResponse { #[prost(bytes = "vec", optional, tag = "1")] pub payload: ::core::option::Option<::prost::alloc::vec::Vec>, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct ReportSplit { /// Split id (ULID format `01HAV29D4XY3D462FS3D8K5Q2H`) #[prost(string, tag = "2")] @@ -44,17 +93,35 @@ pub struct ReportSplit { #[prost(string, tag = "1")] pub storage_uri: ::prost::alloc::string::String, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, +)] pub struct ReportSplitsRequest { #[prost(message, repeated, tag = "1")] pub report_splits: ::prost::alloc::vec::Vec, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + Copy, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct ReportSplitsResponse {} -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct ListFieldsRequest { /// Index ID patterns #[prost(string, repeated, tag = "1")] @@ -71,8 +138,9 @@ pub struct ListFieldsRequest { #[prost(int64, optional, tag = "4")] pub end_timestamp: ::core::option::Option, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, +)] pub struct LeafListFieldsRequest { /// The index id #[prost(string, tag = "1")] @@ -89,14 +157,23 @@ pub struct LeafListFieldsRequest { #[prost(string, repeated, tag = "4")] pub fields: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, +)] pub struct ListFieldsResponse { #[prost(message, repeated, tag = "1")] pub fields: ::prost::alloc::vec::Vec, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct ListFieldsEntryResponse { #[prost(string, tag = "1")] pub field_name: ::prost::alloc::string::String, @@ -115,24 +192,28 @@ pub struct ListFieldsEntryResponse { pub aggregatable: bool, /// The index ids the field exists, but is not searchable. #[prost(string, repeated, tag = "6")] - pub non_searchable_index_ids: ::prost::alloc::vec::Vec< - ::prost::alloc::string::String, - >, + pub non_searchable_index_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, /// The index ids the field exists, but is not aggregatable #[prost(string, repeated, tag = "7")] - pub non_aggregatable_index_ids: ::prost::alloc::vec::Vec< - ::prost::alloc::string::String, - >, + pub non_aggregatable_index_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, +)] pub struct ListFields { #[prost(message, repeated, tag = "1")] pub fields: ::prost::alloc::vec::Vec, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Hash, Eq)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Hash, + Eq, + Clone, + PartialEq, + ::prost::Message, +)] pub struct SearchRequest { /// Index ID patterns #[prost(string, repeated, tag = "1")] @@ -186,8 +267,16 @@ pub struct SearchRequest { #[prost(bool, tag = "18")] pub ignore_missing_indexes: bool, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct SortField { #[prost(string, tag = "1")] pub field_name: ::prost::alloc::string::String, @@ -199,8 +288,9 @@ pub struct SortField { #[prost(enumeration = "SortDatetimeFormat", optional, tag = "3")] pub sort_datetime_format: ::core::option::Option, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, +)] pub struct SearchResponse { /// Number of hits matching the query. #[prost(uint64, tag = "1")] @@ -233,14 +323,30 @@ pub struct SearchResponse { #[prost(uint64, tag = "8")] pub num_successful_splits: u64, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct SearchPlanResponse { #[prost(string, tag = "1")] pub result: ::prost::alloc::string::String, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct SplitSearchError { /// The searcherror that occurred formatted as string. #[prost(string, tag = "1")] @@ -254,8 +360,9 @@ pub struct SplitSearchError { } /// / A LeafSearchRequest can span multiple indices. /// / -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, +)] pub struct LeafSearchRequest { /// Search request. This is a perfect copy of the original search request /// that was sent to root apart from the start_offset, max_hits params and index_id_patterns. @@ -274,8 +381,17 @@ pub struct LeafSearchRequest { #[prost(string, repeated, tag = "9")] pub index_uris: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + Copy, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct ResourceStats { #[prost(uint64, tag = "1")] pub short_lived_cache_num_bytes: u64, @@ -289,8 +405,9 @@ pub struct ResourceStats { pub cpu_microsecs: u64, } /// / LeafRequestRef references data in LeafSearchRequest to deduplicate data. -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, +)] pub struct LeafRequestRef { /// The ordinal of the doc_mapper in `LeafSearchRequest.doc_mappers` #[prost(uint32, tag = "1")] @@ -303,8 +420,16 @@ pub struct LeafRequestRef { #[prost(message, repeated, tag = "3")] pub split_offsets: ::prost::alloc::vec::Vec, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct SplitIdAndFooterOffsets { /// Index split id to apply the query on. /// This id is resolved from the index_uri defined in the search_request. @@ -340,8 +465,9 @@ pub struct SplitIdAndFooterOffsets { /// flattened by concatenating the path to the root. /// /// See `quickwit_search::convert_leaf_hit` -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, +)] pub struct LeafHit { /// The actual content of the hit/ #[prost(string, tag = "1")] @@ -353,8 +479,9 @@ pub struct LeafHit { #[prost(string, optional, tag = "3")] pub leaf_snippet_json: ::core::option::Option<::prost::alloc::string::String>, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, +)] pub struct Hit { /// The actual content of the hit #[prost(string, tag = "1")] @@ -385,9 +512,16 @@ pub struct Hit { /// * the split_id, /// * the segment_ord, /// * the doc id. -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Hash, Eq)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Hash, + Eq, + Clone, + PartialEq, + ::prost::Message, +)] pub struct PartialHit { #[prost(message, optional, tag = "10")] pub sort_value: ::core::option::Option, @@ -403,9 +537,17 @@ pub struct PartialHit { #[prost(uint32, tag = "4")] pub doc_id: u32, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Ord, PartialOrd)] -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Ord, + PartialOrd, + Clone, + Copy, + PartialEq, + ::prost::Message, +)] pub struct SortByValue { #[prost(oneof = "sort_by_value::SortValue", tags = "1, 2, 3, 4")] pub sort_value: ::core::option::Option, @@ -426,8 +568,9 @@ pub mod sort_by_value { Boolean(bool), } } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, +)] pub struct LeafSearchResponse { /// Total number of documents matched by the query. #[prost(uint64, tag = "1")] @@ -450,22 +593,29 @@ pub struct LeafSearchResponse { pub num_successful_splits: u64, /// postcard serialized intermediate aggregation_result. #[prost(bytes = "vec", optional, tag = "6")] - pub intermediate_aggregation_result: ::core::option::Option< - ::prost::alloc::vec::Vec, - >, + pub intermediate_aggregation_result: ::core::option::Option<::prost::alloc::vec::Vec>, #[prost(message, optional, tag = "8")] pub resource_stats: ::core::option::Option, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct SnippetRequest { #[prost(string, repeated, tag = "1")] pub snippet_fields: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, #[prost(string, tag = "2")] pub query_ast_resolved: ::prost::alloc::string::String, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, +)] pub struct FetchDocsRequest { /// Request fetching the content of a given list of partial_hits. #[prost(message, repeated, tag = "1")] @@ -485,15 +635,24 @@ pub struct FetchDocsRequest { #[prost(string, tag = "6")] pub doc_mapper: ::prost::alloc::string::String, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, +)] pub struct FetchDocsResponse { /// List of complete hits. #[prost(message, repeated, tag = "1")] pub hits: ::prost::alloc::vec::Vec, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct ListTermsRequest { /// Index ID patterns #[prost(string, repeated, tag = "1")] @@ -515,8 +674,16 @@ pub struct ListTermsRequest { #[prost(bytes = "vec", optional, tag = "8")] pub end_key: ::core::option::Option<::prost::alloc::vec::Vec>, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive( + serde::Serialize, + serde::Deserialize, + utoipa::ToSchema, + Clone, + PartialEq, + Eq, + Hash, + ::prost::Message, +)] pub struct ListTermsResponse { /// Number of hits matching the query. #[prost(uint64, tag = "1")] @@ -532,8 +699,9 @@ pub struct ListTermsResponse { #[prost(string, repeated, tag = "4")] pub errors: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, +)] pub struct LeafListTermsRequest { /// Search request. This is a perfect copy of the original list request, #[prost(message, optional, tag = "1")] @@ -547,8 +715,9 @@ pub struct LeafListTermsRequest { #[prost(string, tag = "3")] pub index_uri: ::prost::alloc::string::String, } -#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive( + serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, +)] pub struct LeafListTermsResponse { /// Total number of documents matched by the query. #[prost(uint64, tag = "1")] @@ -716,10 +885,10 @@ pub mod search_service_client { dead_code, missing_docs, clippy::wildcard_imports, - clippy::let_unit_value, + clippy::let_unit_value )] - use tonic::codegen::*; use tonic::codegen::http::Uri; + use tonic::codegen::*; #[derive(Debug, Clone)] pub struct SearchServiceClient { inner: tonic::client::Grpc, @@ -758,14 +927,13 @@ pub mod search_service_client { F: tonic::service::Interceptor, T::ResponseBody: Default, T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, + http::Request, + Response = http::Response< + >::ResponseBody, + >, >, - >, - , - >>::Error: Into + std::marker::Send + std::marker::Sync, + >>::Error: + Into + std::marker::Send + std::marker::Sync, { SearchServiceClient::new(InterceptedService::new(inner, interceptor)) } @@ -809,21 +977,17 @@ pub mod search_service_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/quickwit.search.SearchService/RootSearch", - ); + let path = + http::uri::PathAndQuery::from_static("/quickwit.search.SearchService/RootSearch"); let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("quickwit.search.SearchService", "RootSearch")); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.search.SearchService", + "RootSearch", + )); self.inner.unary(req, path, codec).await } /// Perform a leaf search on a given set of splits. @@ -837,25 +1001,19 @@ pub mod search_service_client { pub async fn leaf_search( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/quickwit.search.SearchService/LeafSearch", - ); + let path = + http::uri::PathAndQuery::from_static("/quickwit.search.SearchService/LeafSearch"); let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("quickwit.search.SearchService", "LeafSearch")); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.search.SearchService", + "LeafSearch", + )); self.inner.unary(req, path, codec).await } /// / Fetches the documents contents from the document store. @@ -863,25 +1021,18 @@ pub mod search_service_client { pub async fn fetch_docs( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + ) -> std::result::Result, tonic::Status> { + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/quickwit.search.SearchService/FetchDocs", - ); + let path = + http::uri::PathAndQuery::from_static("/quickwit.search.SearchService/FetchDocs"); let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("quickwit.search.SearchService", "FetchDocs")); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.search.SearchService", + "FetchDocs", + )); self.inner.unary(req, path, codec).await } /// Root list terms API. @@ -892,27 +1043,19 @@ pub mod search_service_client { pub async fn root_list_terms( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + ) -> std::result::Result, tonic::Status> { + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.search.SearchService/RootListTerms", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("quickwit.search.SearchService", "RootListTerms"), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.search.SearchService", + "RootListTerms", + )); self.inner.unary(req, path, codec).await } /// Performs a leaf list terms on a given set of splits. @@ -925,27 +1068,20 @@ pub mod search_service_client { pub async fn leaf_list_terms( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.search.SearchService/LeafListTerms", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("quickwit.search.SearchService", "LeafListTerms"), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.search.SearchService", + "LeafListTerms", + )); self.inner.unary(req, path, codec).await } /// Performs a scroll request. @@ -953,18 +1089,12 @@ pub mod search_service_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/quickwit.search.SearchService/Scroll", - ); + let path = + http::uri::PathAndQuery::from_static("/quickwit.search.SearchService/Scroll"); let mut req = request.into_request(); req.extensions_mut() .insert(GrpcMethod::new("quickwit.search.SearchService", "Scroll")); @@ -976,18 +1106,11 @@ pub mod search_service_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/quickwit.search.SearchService/PutKV", - ); + let path = http::uri::PathAndQuery::from_static("/quickwit.search.SearchService/PutKV"); let mut req = request.into_request(); req.extensions_mut() .insert(GrpcMethod::new("quickwit.search.SearchService", "PutKV")); @@ -999,18 +1122,11 @@ pub mod search_service_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/quickwit.search.SearchService/GetKV", - ); + let path = http::uri::PathAndQuery::from_static("/quickwit.search.SearchService/GetKV"); let mut req = request.into_request(); req.extensions_mut() .insert(GrpcMethod::new("quickwit.search.SearchService", "GetKV")); @@ -1019,102 +1135,75 @@ pub mod search_service_client { pub async fn report_splits( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/quickwit.search.SearchService/ReportSplits", - ); + let path = + http::uri::PathAndQuery::from_static("/quickwit.search.SearchService/ReportSplits"); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("quickwit.search.SearchService", "ReportSplits"), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.search.SearchService", + "ReportSplits", + )); self.inner.unary(req, path, codec).await } pub async fn list_fields( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/quickwit.search.SearchService/ListFields", - ); + let path = + http::uri::PathAndQuery::from_static("/quickwit.search.SearchService/ListFields"); let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("quickwit.search.SearchService", "ListFields")); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.search.SearchService", + "ListFields", + )); self.inner.unary(req, path, codec).await } pub async fn leaf_list_fields( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.search.SearchService/LeafListFields", ); let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("quickwit.search.SearchService", "LeafListFields"), - ); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.search.SearchService", + "LeafListFields", + )); self.inner.unary(req, path, codec).await } /// Describe how a search would be processed. pub async fn search_plan( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::unknown(format!("Service was not ready: {}", e.into())) + })?; let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/quickwit.search.SearchService/SearchPlan", - ); + let path = + http::uri::PathAndQuery::from_static("/quickwit.search.SearchService/SearchPlan"); let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("quickwit.search.SearchService", "SearchPlan")); + req.extensions_mut().insert(GrpcMethod::new( + "quickwit.search.SearchService", + "SearchPlan", + )); self.inner.unary(req, path, codec).await } } @@ -1126,7 +1215,7 @@ pub mod search_service_server { dead_code, missing_docs, clippy::wildcard_imports, - clippy::let_unit_value, + clippy::let_unit_value )] use tonic::codegen::*; /// Generated trait containing gRPC methods that should be implemented for use with SearchServiceServer. @@ -1152,19 +1241,13 @@ pub mod search_service_server { async fn leaf_search( &self, request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; + ) -> std::result::Result, tonic::Status>; /// / Fetches the documents contents from the document store. /// / This methods takes `PartialHit`s and returns `Hit`s. async fn fetch_docs( &self, request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; + ) -> std::result::Result, tonic::Status>; /// Root list terms API. /// This RPC identifies the set of splits on which the query should run on, /// and dispatches the several calls to `LeafListTerms`. @@ -1173,10 +1256,7 @@ pub mod search_service_server { async fn root_list_terms( &self, request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; + ) -> std::result::Result, tonic::Status>; /// Performs a leaf list terms on a given set of splits. /// /// It is like a regular list term except that: @@ -1187,10 +1267,7 @@ pub mod search_service_server { async fn leaf_list_terms( &self, request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; + ) -> std::result::Result, tonic::Status>; /// Performs a scroll request. async fn scroll( &self, @@ -1211,32 +1288,20 @@ pub mod search_service_server { async fn report_splits( &self, request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; + ) -> std::result::Result, tonic::Status>; async fn list_fields( &self, request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; + ) -> std::result::Result, tonic::Status>; async fn leaf_list_fields( &self, request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; + ) -> std::result::Result, tonic::Status>; /// Describe how a search would be processed. async fn search_plan( &self, request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; + ) -> std::result::Result, tonic::Status>; } #[derive(Debug)] pub struct SearchServiceServer { @@ -1259,10 +1324,7 @@ pub mod search_service_server { max_encoding_message_size: None, } } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService + pub fn with_interceptor(inner: T, interceptor: F) -> InterceptedService where F: tonic::service::Interceptor, { @@ -1317,15 +1379,9 @@ pub mod search_service_server { "/quickwit.search.SearchService/RootSearch" => { #[allow(non_camel_case_types)] struct RootSearchSvc(pub Arc); - impl< - T: SearchService, - > tonic::server::UnaryService - for RootSearchSvc { + impl tonic::server::UnaryService for RootSearchSvc { type Response = super::SearchResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, @@ -1362,15 +1418,9 @@ pub mod search_service_server { "/quickwit.search.SearchService/LeafSearch" => { #[allow(non_camel_case_types)] struct LeafSearchSvc(pub Arc); - impl< - T: SearchService, - > tonic::server::UnaryService - for LeafSearchSvc { + impl tonic::server::UnaryService for LeafSearchSvc { type Response = super::LeafSearchResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, @@ -1407,15 +1457,9 @@ pub mod search_service_server { "/quickwit.search.SearchService/FetchDocs" => { #[allow(non_camel_case_types)] struct FetchDocsSvc(pub Arc); - impl< - T: SearchService, - > tonic::server::UnaryService - for FetchDocsSvc { + impl tonic::server::UnaryService for FetchDocsSvc { type Response = super::FetchDocsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, @@ -1452,15 +1496,11 @@ pub mod search_service_server { "/quickwit.search.SearchService/RootListTerms" => { #[allow(non_camel_case_types)] struct RootListTermsSvc(pub Arc); - impl< - T: SearchService, - > tonic::server::UnaryService - for RootListTermsSvc { + impl tonic::server::UnaryService + for RootListTermsSvc + { type Response = super::ListTermsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, @@ -1497,15 +1537,11 @@ pub mod search_service_server { "/quickwit.search.SearchService/LeafListTerms" => { #[allow(non_camel_case_types)] struct LeafListTermsSvc(pub Arc); - impl< - T: SearchService, - > tonic::server::UnaryService - for LeafListTermsSvc { + impl tonic::server::UnaryService + for LeafListTermsSvc + { type Response = super::LeafListTermsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, @@ -1542,23 +1578,16 @@ pub mod search_service_server { "/quickwit.search.SearchService/Scroll" => { #[allow(non_camel_case_types)] struct ScrollSvc(pub Arc); - impl< - T: SearchService, - > tonic::server::UnaryService - for ScrollSvc { + impl tonic::server::UnaryService for ScrollSvc { type Response = super::SearchResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); - let fut = async move { - ::scroll(&inner, request).await - }; + let fut = + async move { ::scroll(&inner, request).await }; Box::pin(fut) } } @@ -1587,22 +1616,16 @@ pub mod search_service_server { "/quickwit.search.SearchService/PutKV" => { #[allow(non_camel_case_types)] struct PutKVSvc(pub Arc); - impl< - T: SearchService, - > tonic::server::UnaryService for PutKVSvc { + impl tonic::server::UnaryService for PutKVSvc { type Response = super::PutKvResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); - let fut = async move { - ::put_kv(&inner, request).await - }; + let fut = + async move { ::put_kv(&inner, request).await }; Box::pin(fut) } } @@ -1631,22 +1654,16 @@ pub mod search_service_server { "/quickwit.search.SearchService/GetKV" => { #[allow(non_camel_case_types)] struct GetKVSvc(pub Arc); - impl< - T: SearchService, - > tonic::server::UnaryService for GetKVSvc { + impl tonic::server::UnaryService for GetKVSvc { type Response = super::GetKvResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); - let fut = async move { - ::get_kv(&inner, request).await - }; + let fut = + async move { ::get_kv(&inner, request).await }; Box::pin(fut) } } @@ -1675,15 +1692,11 @@ pub mod search_service_server { "/quickwit.search.SearchService/ReportSplits" => { #[allow(non_camel_case_types)] struct ReportSplitsSvc(pub Arc); - impl< - T: SearchService, - > tonic::server::UnaryService - for ReportSplitsSvc { + impl tonic::server::UnaryService + for ReportSplitsSvc + { type Response = super::ReportSplitsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, @@ -1720,15 +1733,9 @@ pub mod search_service_server { "/quickwit.search.SearchService/ListFields" => { #[allow(non_camel_case_types)] struct ListFieldsSvc(pub Arc); - impl< - T: SearchService, - > tonic::server::UnaryService - for ListFieldsSvc { + impl tonic::server::UnaryService for ListFieldsSvc { type Response = super::ListFieldsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, @@ -1765,23 +1772,18 @@ pub mod search_service_server { "/quickwit.search.SearchService/LeafListFields" => { #[allow(non_camel_case_types)] struct LeafListFieldsSvc(pub Arc); - impl< - T: SearchService, - > tonic::server::UnaryService - for LeafListFieldsSvc { + impl tonic::server::UnaryService + for LeafListFieldsSvc + { type Response = super::ListFieldsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::leaf_list_fields(&inner, request) - .await + ::leaf_list_fields(&inner, request).await }; Box::pin(fut) } @@ -1811,15 +1813,9 @@ pub mod search_service_server { "/quickwit.search.SearchService/SearchPlan" => { #[allow(non_camel_case_types)] struct SearchPlanSvc(pub Arc); - impl< - T: SearchService, - > tonic::server::UnaryService - for SearchPlanSvc { + impl tonic::server::UnaryService for SearchPlanSvc { type Response = super::SearchPlanResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; + type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, @@ -1853,25 +1849,19 @@ pub mod search_service_server { }; Box::pin(fut) } - _ => { - Box::pin(async move { - let mut response = http::Response::new( - tonic::body::Body::default(), - ); - let headers = response.headers_mut(); - headers - .insert( - tonic::Status::GRPC_STATUS, - (tonic::Code::Unimplemented as i32).into(), - ); - headers - .insert( - http::header::CONTENT_TYPE, - tonic::metadata::GRPC_CONTENT_TYPE, - ); - Ok(response) - }) - } + _ => Box::pin(async move { + let mut response = http::Response::new(tonic::body::Body::default()); + let headers = response.headers_mut(); + headers.insert( + tonic::Status::GRPC_STATUS, + (tonic::Code::Unimplemented as i32).into(), + ); + headers.insert( + http::header::CONTENT_TYPE, + tonic::metadata::GRPC_CONTENT_TYPE, + ); + Ok(response) + }), } } } From f04d11e3e94832187829dc2512db0e55746abf8b Mon Sep 17 00:00:00 2001 From: "cong.xie" Date: Fri, 19 Dec 2025 14:07:00 -0500 Subject: [PATCH 19/20] Revert "fix lint" This reverts commit 5bd4f5ef2af53b63503c6b3afa2b6b24bfa89fe3. --- .../codegen/quickwit/quickwit.metastore.rs | 3967 ++++++++--------- .../src/codegen/quickwit/quickwit.search.rs | 852 ++-- 2 files changed, 2301 insertions(+), 2518 deletions(-) diff --git a/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.metastore.rs b/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.metastore.rs index 531f545d208..1ba6096d031 100644 --- a/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.metastore.rs +++ b/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.metastore.rs @@ -1,58 +1,25 @@ // This file is @generated by prost-build. -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - Copy, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct EmptyResponse {} -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct CreateIndexRequest { #[prost(string, tag = "2")] pub index_config_json: ::prost::alloc::string::String, #[prost(string, repeated, tag = "3")] pub source_configs_json: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct CreateIndexResponse { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, #[prost(string, tag = "2")] pub index_metadata_json: ::prost::alloc::string::String, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct UpdateIndexRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -65,18 +32,12 @@ pub struct UpdateIndexRequest { #[prost(string, tag = "2")] pub search_settings_json: ::prost::alloc::string::String, #[prost(string, optional, tag = "3")] - pub retention_policy_json_opt: ::core::option::Option<::prost::alloc::string::String>, -} -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] + pub retention_policy_json_opt: ::core::option::Option< + ::prost::alloc::string::String, + >, +} +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ListIndexesMetadataRequest { /// List of patterns an index should match or not match to get considered /// An index must match at least one positive pattern (a pattern not starting @@ -84,35 +45,21 @@ pub struct ListIndexesMetadataRequest { #[prost(string, repeated, tag = "2")] pub index_id_patterns: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ListIndexesMetadataResponse { /// Deprecated (v0.9.0), use `indexes_metadata_json_zstd` instead. #[prost(string, optional, tag = "1")] - pub indexes_metadata_json_opt: ::core::option::Option<::prost::alloc::string::String>, + pub indexes_metadata_json_opt: ::core::option::Option< + ::prost::alloc::string::String, + >, /// A JSON serialized then ZSTD compressed list of `IndexMetadata`: `Vec | JSON | ZSTD`. /// We don't use `repeated` here to increase the compression rate and ratio. #[prost(bytes = "bytes", tag = "2")] pub indexes_metadata_json_zstd: ::prost::bytes::Bytes, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct DeleteIndexRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -121,62 +68,36 @@ pub struct DeleteIndexRequest { /// Either `index_uid` or `index_id` must be specified. /// /// If both are supplied, `index_uid` is used. -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct IndexMetadataRequest { #[prost(string, optional, tag = "1")] pub index_id: ::core::option::Option<::prost::alloc::string::String>, #[prost(message, optional, tag = "2")] pub index_uid: ::core::option::Option, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct IndexMetadataResponse { #[prost(string, tag = "1")] pub index_metadata_serialized_json: ::prost::alloc::string::String, } -#[derive( - serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct IndexesMetadataRequest { #[prost(message, repeated, tag = "1")] pub subrequests: ::prost::alloc::vec::Vec, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct IndexMetadataSubrequest { #[prost(string, optional, tag = "1")] pub index_id: ::core::option::Option<::prost::alloc::string::String>, #[prost(message, optional, tag = "2")] pub index_uid: ::core::option::Option, } -#[derive( - serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct IndexesMetadataResponse { /// A JSON serialized then ZSTD compressed list of `IndexMetadata`: `Vec | JSON | ZSTD`. /// We don't use `repeated` here to increase the compression rate and ratio. @@ -185,16 +106,8 @@ pub struct IndexesMetadataResponse { #[prost(message, repeated, tag = "2")] pub failures: ::prost::alloc::vec::Vec, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct IndexMetadataFailure { #[prost(string, optional, tag = "1")] pub index_id: ::core::option::Option<::prost::alloc::string::String>, @@ -203,16 +116,8 @@ pub struct IndexMetadataFailure { #[prost(enumeration = "IndexMetadataFailureReason", tag = "3")] pub reason: i32, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ListSplitsRequest { /// Predicate used to filter splits. /// The predicate is expressed as a JSON serialized @@ -220,47 +125,23 @@ pub struct ListSplitsRequest { #[prost(string, tag = "1")] pub query_json: ::prost::alloc::string::String, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ListSplitsResponse { /// TODO use repeated and encode splits json individually. #[prost(string, tag = "1")] pub splits_serialized_json: ::prost::alloc::string::String, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct StageSplitsRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, #[prost(string, tag = "2")] pub split_metadata_list_serialized_json: ::prost::alloc::string::String, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct PublishSplitsRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -269,84 +150,46 @@ pub struct PublishSplitsRequest { #[prost(string, repeated, tag = "3")] pub replaced_split_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, #[prost(string, optional, tag = "4")] - pub index_checkpoint_delta_json_opt: ::core::option::Option<::prost::alloc::string::String>, + pub index_checkpoint_delta_json_opt: ::core::option::Option< + ::prost::alloc::string::String, + >, #[prost(string, optional, tag = "5")] pub publish_token_opt: ::core::option::Option<::prost::alloc::string::String>, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct MarkSplitsForDeletionRequest { #[prost(message, optional, tag = "2")] pub index_uid: ::core::option::Option, #[prost(string, repeated, tag = "3")] pub split_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct DeleteSplitsRequest { #[prost(message, optional, tag = "2")] pub index_uid: ::core::option::Option, #[prost(string, repeated, tag = "3")] pub split_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct AddSourceRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, #[prost(string, tag = "2")] pub source_config_json: ::prost::alloc::string::String, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct UpdateSourceRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, #[prost(string, tag = "2")] pub source_config_json: ::prost::alloc::string::String, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ToggleSourceRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -355,48 +198,24 @@ pub struct ToggleSourceRequest { #[prost(bool, tag = "3")] pub enable: bool, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct DeleteSourceRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, #[prost(string, tag = "2")] pub source_id: ::prost::alloc::string::String, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ResetSourceCheckpointRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, #[prost(string, tag = "2")] pub source_id: ::prost::alloc::string::String, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct DeleteTask { #[prost(int64, tag = "1")] pub create_timestamp: i64, @@ -405,16 +224,8 @@ pub struct DeleteTask { #[prost(message, optional, tag = "3")] pub delete_query: ::core::option::Option, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct DeleteQuery { /// Index UID. #[prost(message, optional, tag = "1")] @@ -434,16 +245,8 @@ pub struct DeleteQuery { #[serde(alias = "query")] pub query_ast: ::prost::alloc::string::String, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct UpdateSplitsDeleteOpstampRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -452,57 +255,23 @@ pub struct UpdateSplitsDeleteOpstampRequest { #[prost(uint64, tag = "3")] pub delete_opstamp: u64, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - Copy, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct UpdateSplitsDeleteOpstampResponse {} -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct LastDeleteOpstampRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - Copy, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct LastDeleteOpstampResponse { #[prost(uint64, tag = "1")] pub last_delete_opstamp: u64, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ListStaleSplitsRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -511,46 +280,28 @@ pub struct ListStaleSplitsRequest { #[prost(uint64, tag = "3")] pub num_splits: u64, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ListDeleteTasksRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, #[prost(uint64, tag = "2")] pub opstamp_start: u64, } -#[derive( - serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct ListDeleteTasksResponse { #[prost(message, repeated, tag = "1")] pub delete_tasks: ::prost::alloc::vec::Vec, } -#[derive( - serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct OpenShardsRequest { #[prost(message, repeated, tag = "1")] pub subrequests: ::prost::alloc::vec::Vec, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct OpenShardSubrequest { #[prost(uint32, tag = "1")] pub subrequest_id: u32, @@ -569,32 +320,22 @@ pub struct OpenShardSubrequest { #[prost(string, optional, tag = "8")] pub publish_token: ::core::option::Option<::prost::alloc::string::String>, } -#[derive( - serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct OpenShardsResponse { #[prost(message, repeated, tag = "1")] pub subresponses: ::prost::alloc::vec::Vec, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct OpenShardSubresponse { #[prost(uint32, tag = "1")] pub subrequest_id: u32, #[prost(message, optional, tag = "4")] pub open_shard: ::core::option::Option, } -#[derive( - serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct AcquireShardsRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -605,17 +346,15 @@ pub struct AcquireShardsRequest { #[prost(string, tag = "4")] pub publish_token: ::prost::alloc::string::String, } -#[derive( - serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct AcquireShardsResponse { /// List of acquired shards, in no specific order. #[prost(message, repeated, tag = "3")] pub acquired_shards: ::prost::alloc::vec::Vec, } -#[derive( - serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct DeleteShardsRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -627,9 +366,8 @@ pub struct DeleteShardsRequest { #[prost(bool, tag = "4")] pub force: bool, } -#[derive( - serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct DeleteShardsResponse { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -643,16 +381,8 @@ pub struct DeleteShardsResponse { #[prost(message, repeated, tag = "4")] pub failures: ::prost::alloc::vec::Vec, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct PruneShardsRequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -668,23 +398,14 @@ pub struct PruneShardsRequest { #[prost(uint32, optional, tag = "7")] pub interval_secs: ::core::option::Option, } -#[derive( - serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct ListShardsRequest { #[prost(message, repeated, tag = "1")] pub subrequests: ::prost::alloc::vec::Vec, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ListShardsSubrequest { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -693,16 +414,14 @@ pub struct ListShardsSubrequest { #[prost(enumeration = "super::ingest::ShardState", optional, tag = "3")] pub shard_state: ::core::option::Option, } -#[derive( - serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct ListShardsResponse { #[prost(message, repeated, tag = "1")] pub subresponses: ::prost::alloc::vec::Vec, } -#[derive( - serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct ListShardsSubresponse { #[prost(message, optional, tag = "1")] pub index_uid: ::core::option::Option, @@ -711,81 +430,40 @@ pub struct ListShardsSubresponse { #[prost(message, repeated, tag = "3")] pub shards: ::prost::alloc::vec::Vec, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct CreateIndexTemplateRequest { #[prost(string, tag = "1")] pub index_template_json: ::prost::alloc::string::String, #[prost(bool, tag = "2")] pub overwrite: bool, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct GetIndexTemplateRequest { #[prost(string, tag = "1")] pub template_id: ::prost::alloc::string::String, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct GetIndexTemplateResponse { #[prost(string, tag = "1")] pub index_template_json: ::prost::alloc::string::String, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct FindIndexTemplateMatchesRequest { #[prost(string, repeated, tag = "1")] pub index_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } -#[derive( - serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct FindIndexTemplateMatchesResponse { #[prost(message, repeated, tag = "1")] pub matches: ::prost::alloc::vec::Vec, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct IndexTemplateMatch { #[prost(string, tag = "1")] pub index_id: ::prost::alloc::string::String, @@ -794,68 +472,26 @@ pub struct IndexTemplateMatch { #[prost(string, tag = "3")] pub index_template_json: ::prost::alloc::string::String, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - Copy, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct ListIndexTemplatesRequest {} -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ListIndexTemplatesResponse { #[prost(string, repeated, tag = "1")] pub index_templates_json: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct DeleteIndexTemplatesRequest { #[prost(string, repeated, tag = "1")] pub template_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - Copy, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct GetClusterIdentityRequest {} -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct GetClusterIdentityResponse { #[prost(string, tag = "1")] pub uuid: ::prost::alloc::string::String, @@ -956,11 +592,11 @@ impl IndexMetadataFailureReason { } } } -use quickwit_common::tower::RpcName; /// BEGIN quickwit-codegen #[allow(unused_imports)] use std::str::FromStr; use tower::{Layer, Service, ServiceExt}; +use quickwit_common::tower::RpcName; impl RpcName for CreateIndexRequest { fn rpc_name() -> &'static str { "create_index" @@ -1121,8 +757,9 @@ impl RpcName for GetClusterIdentityRequest { "get_cluster_identity" } } -pub type MetastoreServiceStream = - quickwit_common::ServiceStream>; +pub type MetastoreServiceStream = quickwit_common::ServiceStream< + crate::metastore::MetastoreResult, +>; #[cfg_attr(any(test, feature = "testsuite"), mockall::automock)] #[async_trait::async_trait] pub trait MetastoreService: std::fmt::Debug + Send + Sync + 'static { @@ -1318,7 +955,8 @@ impl MetastoreServiceClient { { #[cfg(any(test, feature = "testsuite"))] assert!( - std::any::TypeId::of::() != std::any::TypeId::of::(), + std::any::TypeId::of:: < T > () != std::any::TypeId::of:: < + MockMetastoreService > (), "`MockMetastoreService` must be wrapped in a `MockMetastoreServiceWrapper`: use `MetastoreServiceClient::from_mock(mock)` to instantiate the client" ); Self { @@ -1328,8 +966,9 @@ impl MetastoreServiceClient { pub fn as_grpc_service( &self, max_message_size: bytesize::ByteSize, - ) -> metastore_service_grpc_server::MetastoreServiceGrpcServer - { + ) -> metastore_service_grpc_server::MetastoreServiceGrpcServer< + MetastoreServiceGrpcServerAdapter, + > { let adapter = MetastoreServiceGrpcServerAdapter::new(self.clone()); metastore_service_grpc_server::MetastoreServiceGrpcServer::new(adapter) .accept_compressed(tonic::codec::CompressionEncoding::Gzip) @@ -1345,9 +984,12 @@ impl MetastoreServiceClient { max_message_size: bytesize::ByteSize, compression_encoding_opt: Option, ) -> Self { - let (_, connection_keys_watcher) = - tokio::sync::watch::channel(std::collections::HashSet::from_iter([addr])); - let mut client = metastore_service_grpc_client::MetastoreServiceGrpcClient::new(channel) + let (_, connection_keys_watcher) = tokio::sync::watch::channel( + std::collections::HashSet::from_iter([addr]), + ); + let mut client = metastore_service_grpc_client::MetastoreServiceGrpcClient::new( + channel, + ) .max_decoding_message_size(max_message_size.0 as usize) .max_encoding_message_size(max_message_size.0 as usize); if let Some(compression_encoding) = compression_encoding_opt { @@ -1355,7 +997,10 @@ impl MetastoreServiceClient { .accept_compressed(compression_encoding) .send_compressed(compression_encoding); } - let adapter = MetastoreServiceGrpcClientAdapter::new(client, connection_keys_watcher); + let adapter = MetastoreServiceGrpcClientAdapter::new( + client, + connection_keys_watcher, + ); Self::new(adapter) } pub fn from_balance_channel( @@ -1364,16 +1009,20 @@ impl MetastoreServiceClient { compression_encoding_opt: Option, ) -> MetastoreServiceClient { let connection_keys_watcher = balance_channel.connection_keys_watcher(); - let mut client = - metastore_service_grpc_client::MetastoreServiceGrpcClient::new(balance_channel) - .max_decoding_message_size(max_message_size.0 as usize) - .max_encoding_message_size(max_message_size.0 as usize); + let mut client = metastore_service_grpc_client::MetastoreServiceGrpcClient::new( + balance_channel, + ) + .max_decoding_message_size(max_message_size.0 as usize) + .max_encoding_message_size(max_message_size.0 as usize); if let Some(compression_encoding) = compression_encoding_opt { client = client .accept_compressed(compression_encoding) .send_compressed(compression_encoding); } - let adapter = MetastoreServiceGrpcClientAdapter::new(client, connection_keys_watcher); + let adapter = MetastoreServiceGrpcClientAdapter::new( + client, + connection_keys_watcher, + ); Self::new(adapter) } pub fn from_mailbox(mailbox: quickwit_actors::Mailbox) -> Self @@ -1647,8 +1296,9 @@ pub mod mock_metastore_service { async fn list_splits( &self, request: super::ListSplitsRequest, - ) -> crate::metastore::MetastoreResult> - { + ) -> crate::metastore::MetastoreResult< + MetastoreServiceStream, + > { self.inner.lock().await.list_splits(request).await } async fn stage_splits( @@ -1667,11 +1317,7 @@ pub mod mock_metastore_service { &self, request: super::MarkSplitsForDeletionRequest, ) -> crate::metastore::MetastoreResult { - self.inner - .lock() - .await - .mark_splits_for_deletion(request) - .await + self.inner.lock().await.mark_splits_for_deletion(request).await } async fn delete_splits( &self, @@ -1707,11 +1353,7 @@ pub mod mock_metastore_service { &self, request: super::ResetSourceCheckpointRequest, ) -> crate::metastore::MetastoreResult { - self.inner - .lock() - .await - .reset_source_checkpoint(request) - .await + self.inner.lock().await.reset_source_checkpoint(request).await } async fn last_delete_opstamp( &self, @@ -1728,12 +1370,10 @@ pub mod mock_metastore_service { async fn update_splits_delete_opstamp( &self, request: super::UpdateSplitsDeleteOpstampRequest, - ) -> crate::metastore::MetastoreResult { - self.inner - .lock() - .await - .update_splits_delete_opstamp(request) - .await + ) -> crate::metastore::MetastoreResult< + super::UpdateSplitsDeleteOpstampResponse, + > { + self.inner.lock().await.update_splits_delete_opstamp(request).await } async fn list_delete_tasks( &self, @@ -1793,11 +1433,7 @@ pub mod mock_metastore_service { &self, request: super::FindIndexTemplateMatchesRequest, ) -> crate::metastore::MetastoreResult { - self.inner - .lock() - .await - .find_index_template_matches(request) - .await + self.inner.lock().await.find_index_template_matches(request).await } async fn list_index_templates( &self, @@ -1809,11 +1445,7 @@ pub mod mock_metastore_service { &self, request: super::DeleteIndexTemplatesRequest, ) -> crate::metastore::MetastoreResult { - self.inner - .lock() - .await - .delete_index_templates(request) - .await + self.inner.lock().await.delete_index_templates(request).await } async fn get_cluster_identity( &self, @@ -1829,8 +1461,9 @@ pub mod mock_metastore_service { } } } -pub type BoxFuture = - std::pin::Pin> + Send + 'static>>; +pub type BoxFuture = std::pin::Pin< + Box> + Send + 'static>, +>; impl tower::Service for InnerMetastoreServiceClient { type Response = CreateIndexResponse; type Error = crate::metastore::MetastoreError; @@ -2515,353 +2148,193 @@ impl MetastoreService for MetastoreServiceTowerServiceStack { &self, request: CreateIndexRequest, ) -> crate::metastore::MetastoreResult { - self.create_index_svc - .clone() - .ready() - .await? - .call(request) - .await + self.create_index_svc.clone().ready().await?.call(request).await } async fn update_index( &self, request: UpdateIndexRequest, ) -> crate::metastore::MetastoreResult { - self.update_index_svc - .clone() - .ready() - .await? - .call(request) - .await + self.update_index_svc.clone().ready().await?.call(request).await } async fn index_metadata( &self, request: IndexMetadataRequest, ) -> crate::metastore::MetastoreResult { - self.index_metadata_svc - .clone() - .ready() - .await? - .call(request) - .await + self.index_metadata_svc.clone().ready().await?.call(request).await } async fn indexes_metadata( &self, request: IndexesMetadataRequest, ) -> crate::metastore::MetastoreResult { - self.indexes_metadata_svc - .clone() - .ready() - .await? - .call(request) - .await + self.indexes_metadata_svc.clone().ready().await?.call(request).await } async fn list_indexes_metadata( &self, request: ListIndexesMetadataRequest, ) -> crate::metastore::MetastoreResult { - self.list_indexes_metadata_svc - .clone() - .ready() - .await? - .call(request) - .await + self.list_indexes_metadata_svc.clone().ready().await?.call(request).await } async fn delete_index( &self, request: DeleteIndexRequest, ) -> crate::metastore::MetastoreResult { - self.delete_index_svc - .clone() - .ready() - .await? - .call(request) - .await + self.delete_index_svc.clone().ready().await?.call(request).await } async fn list_splits( &self, request: ListSplitsRequest, ) -> crate::metastore::MetastoreResult> { - self.list_splits_svc - .clone() - .ready() - .await? - .call(request) - .await + self.list_splits_svc.clone().ready().await?.call(request).await } async fn stage_splits( &self, request: StageSplitsRequest, ) -> crate::metastore::MetastoreResult { - self.stage_splits_svc - .clone() - .ready() - .await? - .call(request) - .await + self.stage_splits_svc.clone().ready().await?.call(request).await } async fn publish_splits( &self, request: PublishSplitsRequest, ) -> crate::metastore::MetastoreResult { - self.publish_splits_svc - .clone() - .ready() - .await? - .call(request) - .await + self.publish_splits_svc.clone().ready().await?.call(request).await } async fn mark_splits_for_deletion( &self, request: MarkSplitsForDeletionRequest, ) -> crate::metastore::MetastoreResult { - self.mark_splits_for_deletion_svc - .clone() - .ready() - .await? - .call(request) - .await + self.mark_splits_for_deletion_svc.clone().ready().await?.call(request).await } async fn delete_splits( &self, request: DeleteSplitsRequest, ) -> crate::metastore::MetastoreResult { - self.delete_splits_svc - .clone() - .ready() - .await? - .call(request) - .await + self.delete_splits_svc.clone().ready().await?.call(request).await } async fn add_source( &self, request: AddSourceRequest, ) -> crate::metastore::MetastoreResult { - self.add_source_svc - .clone() - .ready() - .await? - .call(request) - .await + self.add_source_svc.clone().ready().await?.call(request).await } async fn update_source( &self, request: UpdateSourceRequest, ) -> crate::metastore::MetastoreResult { - self.update_source_svc - .clone() - .ready() - .await? - .call(request) - .await + self.update_source_svc.clone().ready().await?.call(request).await } async fn toggle_source( &self, request: ToggleSourceRequest, ) -> crate::metastore::MetastoreResult { - self.toggle_source_svc - .clone() - .ready() - .await? - .call(request) - .await + self.toggle_source_svc.clone().ready().await?.call(request).await } async fn delete_source( &self, request: DeleteSourceRequest, ) -> crate::metastore::MetastoreResult { - self.delete_source_svc - .clone() - .ready() - .await? - .call(request) - .await + self.delete_source_svc.clone().ready().await?.call(request).await } async fn reset_source_checkpoint( &self, request: ResetSourceCheckpointRequest, ) -> crate::metastore::MetastoreResult { - self.reset_source_checkpoint_svc - .clone() - .ready() - .await? - .call(request) - .await + self.reset_source_checkpoint_svc.clone().ready().await?.call(request).await } async fn last_delete_opstamp( &self, request: LastDeleteOpstampRequest, ) -> crate::metastore::MetastoreResult { - self.last_delete_opstamp_svc - .clone() - .ready() - .await? - .call(request) - .await + self.last_delete_opstamp_svc.clone().ready().await?.call(request).await } async fn create_delete_task( &self, request: DeleteQuery, ) -> crate::metastore::MetastoreResult { - self.create_delete_task_svc - .clone() - .ready() - .await? - .call(request) - .await + self.create_delete_task_svc.clone().ready().await?.call(request).await } async fn update_splits_delete_opstamp( &self, request: UpdateSplitsDeleteOpstampRequest, ) -> crate::metastore::MetastoreResult { - self.update_splits_delete_opstamp_svc - .clone() - .ready() - .await? - .call(request) - .await + self.update_splits_delete_opstamp_svc.clone().ready().await?.call(request).await } async fn list_delete_tasks( &self, request: ListDeleteTasksRequest, ) -> crate::metastore::MetastoreResult { - self.list_delete_tasks_svc - .clone() - .ready() - .await? - .call(request) - .await + self.list_delete_tasks_svc.clone().ready().await?.call(request).await } async fn list_stale_splits( &self, request: ListStaleSplitsRequest, ) -> crate::metastore::MetastoreResult { - self.list_stale_splits_svc - .clone() - .ready() - .await? - .call(request) - .await + self.list_stale_splits_svc.clone().ready().await?.call(request).await } async fn open_shards( &self, request: OpenShardsRequest, ) -> crate::metastore::MetastoreResult { - self.open_shards_svc - .clone() - .ready() - .await? - .call(request) - .await + self.open_shards_svc.clone().ready().await?.call(request).await } async fn acquire_shards( &self, request: AcquireShardsRequest, ) -> crate::metastore::MetastoreResult { - self.acquire_shards_svc - .clone() - .ready() - .await? - .call(request) - .await + self.acquire_shards_svc.clone().ready().await?.call(request).await } async fn delete_shards( &self, request: DeleteShardsRequest, ) -> crate::metastore::MetastoreResult { - self.delete_shards_svc - .clone() - .ready() - .await? - .call(request) - .await + self.delete_shards_svc.clone().ready().await?.call(request).await } async fn prune_shards( &self, request: PruneShardsRequest, ) -> crate::metastore::MetastoreResult { - self.prune_shards_svc - .clone() - .ready() - .await? - .call(request) - .await + self.prune_shards_svc.clone().ready().await?.call(request).await } async fn list_shards( &self, request: ListShardsRequest, ) -> crate::metastore::MetastoreResult { - self.list_shards_svc - .clone() - .ready() - .await? - .call(request) - .await + self.list_shards_svc.clone().ready().await?.call(request).await } async fn create_index_template( &self, request: CreateIndexTemplateRequest, ) -> crate::metastore::MetastoreResult { - self.create_index_template_svc - .clone() - .ready() - .await? - .call(request) - .await + self.create_index_template_svc.clone().ready().await?.call(request).await } async fn get_index_template( &self, request: GetIndexTemplateRequest, ) -> crate::metastore::MetastoreResult { - self.get_index_template_svc - .clone() - .ready() - .await? - .call(request) - .await + self.get_index_template_svc.clone().ready().await?.call(request).await } async fn find_index_template_matches( &self, request: FindIndexTemplateMatchesRequest, ) -> crate::metastore::MetastoreResult { - self.find_index_template_matches_svc - .clone() - .ready() - .await? - .call(request) - .await + self.find_index_template_matches_svc.clone().ready().await?.call(request).await } async fn list_index_templates( &self, request: ListIndexTemplatesRequest, ) -> crate::metastore::MetastoreResult { - self.list_index_templates_svc - .clone() - .ready() - .await? - .call(request) - .await + self.list_index_templates_svc.clone().ready().await?.call(request).await } async fn delete_index_templates( &self, request: DeleteIndexTemplatesRequest, ) -> crate::metastore::MetastoreResult { - self.delete_index_templates_svc - .clone() - .ready() - .await? - .call(request) - .await + self.delete_index_templates_svc.clone().ready().await?.call(request).await } async fn get_cluster_identity( &self, request: GetClusterIdentityRequest, ) -> crate::metastore::MetastoreResult { - self.get_cluster_identity_svc - .clone() - .ready() - .await? - .call(request) - .await + self.get_cluster_identity_svc.clone().ready().await?.call(request).await } async fn check_connectivity(&self) -> anyhow::Result<()> { self.inner.0.check_connectivity().await @@ -3041,7 +2514,11 @@ type LastDeleteOpstampLayer = quickwit_common::tower::BoxLayer< crate::metastore::MetastoreError, >; type CreateDeleteTaskLayer = quickwit_common::tower::BoxLayer< - quickwit_common::tower::BoxService, + quickwit_common::tower::BoxService< + DeleteQuery, + DeleteTask, + crate::metastore::MetastoreError, + >, DeleteQuery, DeleteTask, crate::metastore::MetastoreError, @@ -3230,10 +2707,7 @@ impl MetastoreServiceTowerLayerStack { CreateIndexResponse, crate::metastore::MetastoreError, >, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - >>::Service as tower::Service>::Future: Send + 'static, + >>::Service as tower::Service< + ListIndexesMetadataRequest, + >>::Future: Send + 'static, L: tower::Layer< quickwit_common::tower::BoxService< DeleteIndexRequest, EmptyResponse, crate::metastore::MetastoreError, >, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, crate::metastore::MetastoreError, >, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, , Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - >>::Service as tower::Service>::Future: Send + 'static, + >>::Service as tower::Service< + MarkSplitsForDeletionRequest, + >>::Future: Send + 'static, L: tower::Layer< quickwit_common::tower::BoxService< DeleteSplitsRequest, EmptyResponse, crate::metastore::MetastoreError, >, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - >>::Service as tower::Service>::Future: Send + 'static, + >>::Service as tower::Service< + ResetSourceCheckpointRequest, + >>::Future: Send + 'static, L: tower::Layer< quickwit_common::tower::BoxService< LastDeleteOpstampRequest, LastDeleteOpstampResponse, crate::metastore::MetastoreError, >, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - >>::Service as tower::Service>::Future: Send + 'static, + >>::Service as tower::Service< + UpdateSplitsDeleteOpstampRequest, + >>::Future: Send + 'static, L: tower::Layer< quickwit_common::tower::BoxService< ListDeleteTasksRequest, ListDeleteTasksResponse, crate::metastore::MetastoreError, >, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - >>::Service as tower::Service>::Future: Send + 'static, + >>::Service as tower::Service< + CreateIndexTemplateRequest, + >>::Future: Send + 'static, L: tower::Layer< quickwit_common::tower::BoxService< GetIndexTemplateRequest, GetIndexTemplateResponse, crate::metastore::MetastoreError, >, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - >>::Service as tower::Service>::Future: Send + 'static, + >>::Service as tower::Service< + FindIndexTemplateMatchesRequest, + >>::Future: Send + 'static, L: tower::Layer< quickwit_common::tower::BoxService< ListIndexTemplatesRequest, ListIndexTemplatesResponse, crate::metastore::MetastoreError, >, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - >>::Service as tower::Service>::Future: Send + 'static, + >>::Service as tower::Service< + ListIndexTemplatesRequest, + >>::Future: Send + 'static, L: tower::Layer< quickwit_common::tower::BoxService< DeleteIndexTemplatesRequest, EmptyResponse, crate::metastore::MetastoreError, >, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - >>::Service as tower::Service>::Future: Send + 'static, + >>::Service as tower::Service< + DeleteIndexTemplatesRequest, + >>::Future: Send + 'static, L: tower::Layer< quickwit_common::tower::BoxService< GetClusterIdentityRequest, GetClusterIdentityResponse, crate::metastore::MetastoreError, >, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, <, - >>::Service as tower::Service>::Future: Send + 'static, + >>::Service as tower::Service< + GetClusterIdentityRequest, + >>::Future: Send + 'static, { self.create_index_layers .push(quickwit_common::tower::BoxLayer::new(layer.clone())); @@ -4291,21 +3594,15 @@ impl MetastoreServiceTowerLayerStack { CreateIndexResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< CreateIndexRequest, Response = CreateIndexResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, >::Future: Send + 'static, { - self.create_index_layers - .push(quickwit_common::tower::BoxLayer::new(layer)); + self.create_index_layers.push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_update_index_layer(mut self, layer: L) -> Self @@ -4316,21 +3613,15 @@ impl MetastoreServiceTowerLayerStack { IndexMetadataResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< UpdateIndexRequest, Response = IndexMetadataResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, >::Future: Send + 'static, { - self.update_index_layers - .push(quickwit_common::tower::BoxLayer::new(layer)); + self.update_index_layers.push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_index_metadata_layer(mut self, layer: L) -> Self @@ -4341,21 +3632,15 @@ impl MetastoreServiceTowerLayerStack { IndexMetadataResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< IndexMetadataRequest, Response = IndexMetadataResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, >::Future: Send + 'static, { - self.index_metadata_layers - .push(quickwit_common::tower::BoxLayer::new(layer)); + self.index_metadata_layers.push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_indexes_metadata_layer(mut self, layer: L) -> Self @@ -4366,21 +3651,15 @@ impl MetastoreServiceTowerLayerStack { IndexesMetadataResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< IndexesMetadataRequest, Response = IndexesMetadataResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, >::Future: Send + 'static, { - self.indexes_metadata_layers - .push(quickwit_common::tower::BoxLayer::new(layer)); + self.indexes_metadata_layers.push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_list_indexes_metadata_layer(mut self, layer: L) -> Self @@ -4391,18 +3670,15 @@ impl MetastoreServiceTowerLayerStack { ListIndexesMetadataResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< ListIndexesMetadataRequest, Response = ListIndexesMetadataResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, - >::Future: Send + 'static, + > + Clone + Send + Sync + 'static, + >::Future: Send + 'static, { self.list_indexes_metadata_layers .push(quickwit_common::tower::BoxLayer::new(layer)); @@ -4416,21 +3692,15 @@ impl MetastoreServiceTowerLayerStack { EmptyResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< DeleteIndexRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, >::Future: Send + 'static, { - self.delete_index_layers - .push(quickwit_common::tower::BoxLayer::new(layer)); + self.delete_index_layers.push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_list_splits_layer(mut self, layer: L) -> Self @@ -4441,21 +3711,15 @@ impl MetastoreServiceTowerLayerStack { MetastoreServiceStream, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< ListSplitsRequest, Response = MetastoreServiceStream, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, >::Future: Send + 'static, { - self.list_splits_layers - .push(quickwit_common::tower::BoxLayer::new(layer)); + self.list_splits_layers.push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_stage_splits_layer(mut self, layer: L) -> Self @@ -4466,21 +3730,15 @@ impl MetastoreServiceTowerLayerStack { EmptyResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< StageSplitsRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, >::Future: Send + 'static, { - self.stage_splits_layers - .push(quickwit_common::tower::BoxLayer::new(layer)); + self.stage_splits_layers.push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_publish_splits_layer(mut self, layer: L) -> Self @@ -4491,21 +3749,15 @@ impl MetastoreServiceTowerLayerStack { EmptyResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< PublishSplitsRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, >::Future: Send + 'static, { - self.publish_splits_layers - .push(quickwit_common::tower::BoxLayer::new(layer)); + self.publish_splits_layers.push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_mark_splits_for_deletion_layer(mut self, layer: L) -> Self @@ -4516,18 +3768,15 @@ impl MetastoreServiceTowerLayerStack { EmptyResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< MarkSplitsForDeletionRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, - >::Future: Send + 'static, + > + Clone + Send + Sync + 'static, + >::Future: Send + 'static, { self.mark_splits_for_deletion_layers .push(quickwit_common::tower::BoxLayer::new(layer)); @@ -4541,21 +3790,15 @@ impl MetastoreServiceTowerLayerStack { EmptyResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< DeleteSplitsRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, >::Future: Send + 'static, { - self.delete_splits_layers - .push(quickwit_common::tower::BoxLayer::new(layer)); + self.delete_splits_layers.push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_add_source_layer(mut self, layer: L) -> Self @@ -4566,21 +3809,15 @@ impl MetastoreServiceTowerLayerStack { EmptyResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< AddSourceRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, >::Future: Send + 'static, { - self.add_source_layers - .push(quickwit_common::tower::BoxLayer::new(layer)); + self.add_source_layers.push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_update_source_layer(mut self, layer: L) -> Self @@ -4591,21 +3828,15 @@ impl MetastoreServiceTowerLayerStack { EmptyResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< UpdateSourceRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, >::Future: Send + 'static, { - self.update_source_layers - .push(quickwit_common::tower::BoxLayer::new(layer)); + self.update_source_layers.push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_toggle_source_layer(mut self, layer: L) -> Self @@ -4616,21 +3847,15 @@ impl MetastoreServiceTowerLayerStack { EmptyResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< ToggleSourceRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, >::Future: Send + 'static, { - self.toggle_source_layers - .push(quickwit_common::tower::BoxLayer::new(layer)); + self.toggle_source_layers.push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_delete_source_layer(mut self, layer: L) -> Self @@ -4641,21 +3866,15 @@ impl MetastoreServiceTowerLayerStack { EmptyResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< DeleteSourceRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, >::Future: Send + 'static, { - self.delete_source_layers - .push(quickwit_common::tower::BoxLayer::new(layer)); + self.delete_source_layers.push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_reset_source_checkpoint_layer(mut self, layer: L) -> Self @@ -4666,18 +3885,15 @@ impl MetastoreServiceTowerLayerStack { EmptyResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< ResetSourceCheckpointRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, - >::Future: Send + 'static, + > + Clone + Send + Sync + 'static, + >::Future: Send + 'static, { self.reset_source_checkpoint_layers .push(quickwit_common::tower::BoxLayer::new(layer)); @@ -4691,17 +3907,12 @@ impl MetastoreServiceTowerLayerStack { LastDeleteOpstampResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< LastDeleteOpstampRequest, Response = LastDeleteOpstampResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, >::Future: Send + 'static, { self.last_delete_opstamp_layers @@ -4716,17 +3927,12 @@ impl MetastoreServiceTowerLayerStack { DeleteTask, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< DeleteQuery, Response = DeleteTask, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, >::Future: Send + 'static, { self.create_delete_task_layers @@ -4741,18 +3947,15 @@ impl MetastoreServiceTowerLayerStack { UpdateSplitsDeleteOpstampResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< UpdateSplitsDeleteOpstampRequest, Response = UpdateSplitsDeleteOpstampResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, - >::Future: Send + 'static, + > + Clone + Send + Sync + 'static, + >::Future: Send + 'static, { self.update_splits_delete_opstamp_layers .push(quickwit_common::tower::BoxLayer::new(layer)); @@ -4766,21 +3969,15 @@ impl MetastoreServiceTowerLayerStack { ListDeleteTasksResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< ListDeleteTasksRequest, Response = ListDeleteTasksResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, >::Future: Send + 'static, { - self.list_delete_tasks_layers - .push(quickwit_common::tower::BoxLayer::new(layer)); + self.list_delete_tasks_layers.push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_list_stale_splits_layer(mut self, layer: L) -> Self @@ -4791,21 +3988,15 @@ impl MetastoreServiceTowerLayerStack { ListSplitsResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< ListStaleSplitsRequest, Response = ListSplitsResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, >::Future: Send + 'static, { - self.list_stale_splits_layers - .push(quickwit_common::tower::BoxLayer::new(layer)); + self.list_stale_splits_layers.push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_open_shards_layer(mut self, layer: L) -> Self @@ -4816,21 +4007,15 @@ impl MetastoreServiceTowerLayerStack { OpenShardsResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< OpenShardsRequest, Response = OpenShardsResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, >::Future: Send + 'static, { - self.open_shards_layers - .push(quickwit_common::tower::BoxLayer::new(layer)); + self.open_shards_layers.push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_acquire_shards_layer(mut self, layer: L) -> Self @@ -4841,21 +4026,15 @@ impl MetastoreServiceTowerLayerStack { AcquireShardsResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< AcquireShardsRequest, Response = AcquireShardsResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, >::Future: Send + 'static, { - self.acquire_shards_layers - .push(quickwit_common::tower::BoxLayer::new(layer)); + self.acquire_shards_layers.push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_delete_shards_layer(mut self, layer: L) -> Self @@ -4866,21 +4045,15 @@ impl MetastoreServiceTowerLayerStack { DeleteShardsResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< DeleteShardsRequest, Response = DeleteShardsResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, >::Future: Send + 'static, { - self.delete_shards_layers - .push(quickwit_common::tower::BoxLayer::new(layer)); + self.delete_shards_layers.push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_prune_shards_layer(mut self, layer: L) -> Self @@ -4891,21 +4064,15 @@ impl MetastoreServiceTowerLayerStack { EmptyResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< PruneShardsRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, >::Future: Send + 'static, { - self.prune_shards_layers - .push(quickwit_common::tower::BoxLayer::new(layer)); + self.prune_shards_layers.push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_list_shards_layer(mut self, layer: L) -> Self @@ -4916,21 +4083,15 @@ impl MetastoreServiceTowerLayerStack { ListShardsResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< ListShardsRequest, Response = ListShardsResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, >::Future: Send + 'static, { - self.list_shards_layers - .push(quickwit_common::tower::BoxLayer::new(layer)); + self.list_shards_layers.push(quickwit_common::tower::BoxLayer::new(layer)); self } pub fn stack_create_index_template_layer(mut self, layer: L) -> Self @@ -4941,18 +4102,15 @@ impl MetastoreServiceTowerLayerStack { EmptyResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< CreateIndexTemplateRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, - >::Future: Send + 'static, + > + Clone + Send + Sync + 'static, + >::Future: Send + 'static, { self.create_index_template_layers .push(quickwit_common::tower::BoxLayer::new(layer)); @@ -4966,17 +4124,12 @@ impl MetastoreServiceTowerLayerStack { GetIndexTemplateResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< GetIndexTemplateRequest, Response = GetIndexTemplateResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, + > + Clone + Send + Sync + 'static, >::Future: Send + 'static, { self.get_index_template_layers @@ -4991,18 +4144,15 @@ impl MetastoreServiceTowerLayerStack { FindIndexTemplateMatchesResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< FindIndexTemplateMatchesRequest, Response = FindIndexTemplateMatchesResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, - >::Future: Send + 'static, + > + Clone + Send + Sync + 'static, + >::Future: Send + 'static, { self.find_index_template_matches_layers .push(quickwit_common::tower::BoxLayer::new(layer)); @@ -5016,18 +4166,15 @@ impl MetastoreServiceTowerLayerStack { ListIndexTemplatesResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< ListIndexTemplatesRequest, Response = ListIndexTemplatesResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, - >::Future: Send + 'static, + > + Clone + Send + Sync + 'static, + >::Future: Send + 'static, { self.list_index_templates_layers .push(quickwit_common::tower::BoxLayer::new(layer)); @@ -5041,18 +4188,15 @@ impl MetastoreServiceTowerLayerStack { EmptyResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< DeleteIndexTemplatesRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, - >::Future: Send + 'static, + > + Clone + Send + Sync + 'static, + >::Future: Send + 'static, { self.delete_index_templates_layers .push(quickwit_common::tower::BoxLayer::new(layer)); @@ -5066,18 +4210,15 @@ impl MetastoreServiceTowerLayerStack { GetClusterIdentityResponse, crate::metastore::MetastoreError, >, - > + Send - + Sync - + 'static, + > + Send + Sync + 'static, L::Service: tower::Service< GetClusterIdentityRequest, Response = GetClusterIdentityResponse, Error = crate::metastore::MetastoreError, - > + Clone - + Send - + Sync - + 'static, - >::Future: Send + 'static, + > + Clone + Send + Sync + 'static, + >::Future: Send + 'static, { self.get_cluster_identity_layers .push(quickwit_common::tower::BoxLayer::new(layer)); @@ -5128,8 +4269,9 @@ impl MetastoreServiceTowerLayerStack { A: quickwit_actors::Actor + std::fmt::Debug + Send + 'static, MetastoreServiceMailbox: MetastoreService, { - let inner_client = - InnerMetastoreServiceClient(std::sync::Arc::new(MetastoreServiceMailbox::new(mailbox))); + let inner_client = InnerMetastoreServiceClient( + std::sync::Arc::new(MetastoreServiceMailbox::new(mailbox)), + ); self.build_from_inner_client(inner_client) } #[cfg(any(test, feature = "testsuite"))] @@ -5142,145 +4284,263 @@ impl MetastoreServiceTowerLayerStack { self, inner_client: InnerMetastoreServiceClient, ) -> MetastoreServiceClient { - let create_index_svc = self.create_index_layers.into_iter().rev().fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let update_index_svc = self.update_index_layers.into_iter().rev().fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let index_metadata_svc = self.index_metadata_layers.into_iter().rev().fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let indexes_metadata_svc = self.indexes_metadata_layers.into_iter().rev().fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let list_indexes_metadata_svc = self.list_indexes_metadata_layers.into_iter().rev().fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let delete_index_svc = self.delete_index_layers.into_iter().rev().fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let list_splits_svc = self.list_splits_layers.into_iter().rev().fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let stage_splits_svc = self.stage_splits_layers.into_iter().rev().fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let publish_splits_svc = self.publish_splits_layers.into_iter().rev().fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let mark_splits_for_deletion_svc = - self.mark_splits_for_deletion_layers.into_iter().rev().fold( + let create_index_svc = self + .create_index_layers + .into_iter() + .rev() + .fold( quickwit_common::tower::BoxService::new(inner_client.clone()), |svc, layer| layer.layer(svc), ); - let delete_splits_svc = self.delete_splits_layers.into_iter().rev().fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let add_source_svc = self.add_source_layers.into_iter().rev().fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let update_source_svc = self.update_source_layers.into_iter().rev().fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let toggle_source_svc = self.toggle_source_layers.into_iter().rev().fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let delete_source_svc = self.delete_source_layers.into_iter().rev().fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let reset_source_checkpoint_svc = - self.reset_source_checkpoint_layers.into_iter().rev().fold( + let update_index_svc = self + .update_index_layers + .into_iter() + .rev() + .fold( quickwit_common::tower::BoxService::new(inner_client.clone()), |svc, layer| layer.layer(svc), ); - let last_delete_opstamp_svc = self.last_delete_opstamp_layers.into_iter().rev().fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let create_delete_task_svc = self.create_delete_task_layers.into_iter().rev().fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let update_splits_delete_opstamp_svc = self - .update_splits_delete_opstamp_layers + let index_metadata_svc = self + .index_metadata_layers .into_iter() .rev() .fold( quickwit_common::tower::BoxService::new(inner_client.clone()), |svc, layer| layer.layer(svc), ); - let list_delete_tasks_svc = self.list_delete_tasks_layers.into_iter().rev().fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let list_stale_splits_svc = self.list_stale_splits_layers.into_iter().rev().fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let open_shards_svc = self.open_shards_layers.into_iter().rev().fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let acquire_shards_svc = self.acquire_shards_layers.into_iter().rev().fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let delete_shards_svc = self.delete_shards_layers.into_iter().rev().fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let prune_shards_svc = self.prune_shards_layers.into_iter().rev().fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let list_shards_svc = self.list_shards_layers.into_iter().rev().fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let create_index_template_svc = self.create_index_template_layers.into_iter().rev().fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let get_index_template_svc = self.get_index_template_layers.into_iter().rev().fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let find_index_template_matches_svc = self - .find_index_template_matches_layers + let indexes_metadata_svc = self + .indexes_metadata_layers .into_iter() .rev() .fold( quickwit_common::tower::BoxService::new(inner_client.clone()), |svc, layer| layer.layer(svc), ); - let list_index_templates_svc = self.list_index_templates_layers.into_iter().rev().fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let delete_index_templates_svc = self.delete_index_templates_layers.into_iter().rev().fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let get_cluster_identity_svc = self.get_cluster_identity_layers.into_iter().rev().fold( - quickwit_common::tower::BoxService::new(inner_client.clone()), - |svc, layer| layer.layer(svc), - ); - let tower_svc_stack = MetastoreServiceTowerServiceStack { + let list_indexes_metadata_svc = self + .list_indexes_metadata_layers + .into_iter() + .rev() + .fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let delete_index_svc = self + .delete_index_layers + .into_iter() + .rev() + .fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let list_splits_svc = self + .list_splits_layers + .into_iter() + .rev() + .fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let stage_splits_svc = self + .stage_splits_layers + .into_iter() + .rev() + .fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let publish_splits_svc = self + .publish_splits_layers + .into_iter() + .rev() + .fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let mark_splits_for_deletion_svc = self + .mark_splits_for_deletion_layers + .into_iter() + .rev() + .fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let delete_splits_svc = self + .delete_splits_layers + .into_iter() + .rev() + .fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let add_source_svc = self + .add_source_layers + .into_iter() + .rev() + .fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let update_source_svc = self + .update_source_layers + .into_iter() + .rev() + .fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let toggle_source_svc = self + .toggle_source_layers + .into_iter() + .rev() + .fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let delete_source_svc = self + .delete_source_layers + .into_iter() + .rev() + .fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let reset_source_checkpoint_svc = self + .reset_source_checkpoint_layers + .into_iter() + .rev() + .fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let last_delete_opstamp_svc = self + .last_delete_opstamp_layers + .into_iter() + .rev() + .fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let create_delete_task_svc = self + .create_delete_task_layers + .into_iter() + .rev() + .fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let update_splits_delete_opstamp_svc = self + .update_splits_delete_opstamp_layers + .into_iter() + .rev() + .fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let list_delete_tasks_svc = self + .list_delete_tasks_layers + .into_iter() + .rev() + .fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let list_stale_splits_svc = self + .list_stale_splits_layers + .into_iter() + .rev() + .fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let open_shards_svc = self + .open_shards_layers + .into_iter() + .rev() + .fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let acquire_shards_svc = self + .acquire_shards_layers + .into_iter() + .rev() + .fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let delete_shards_svc = self + .delete_shards_layers + .into_iter() + .rev() + .fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let prune_shards_svc = self + .prune_shards_layers + .into_iter() + .rev() + .fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let list_shards_svc = self + .list_shards_layers + .into_iter() + .rev() + .fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let create_index_template_svc = self + .create_index_template_layers + .into_iter() + .rev() + .fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let get_index_template_svc = self + .get_index_template_layers + .into_iter() + .rev() + .fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let find_index_template_matches_svc = self + .find_index_template_matches_layers + .into_iter() + .rev() + .fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let list_index_templates_svc = self + .list_index_templates_layers + .into_iter() + .rev() + .fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let delete_index_templates_svc = self + .delete_index_templates_layers + .into_iter() + .rev() + .fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let get_cluster_identity_svc = self + .get_cluster_identity_layers + .into_iter() + .rev() + .fold( + quickwit_common::tower::BoxService::new(inner_client.clone()), + |svc, layer| layer.layer(svc), + ); + let tower_svc_stack = MetastoreServiceTowerServiceStack { inner: inner_client, create_index_svc, update_index_svc, @@ -5357,8 +4617,7 @@ impl Clone for MetastoreServiceMailbox { impl tower::Service for MetastoreServiceMailbox where A: quickwit_actors::Actor - + quickwit_actors::DeferableReplyHandler> - + Send + + quickwit_actors::DeferableReplyHandler> + Send + 'static, M: std::fmt::Debug + Send + 'static, T: Send + 'static, @@ -5380,10 +4639,7 @@ where fn call(&mut self, message: M) -> Self::Future { let mailbox = self.inner.clone(); let fut = async move { - mailbox - .ask_for_res(message) - .await - .map_err(|error| error.into()) + mailbox.ask_for_res(message).await.map_err(|error| error.into()) }; Box::pin(fut) } @@ -5392,37 +4648,48 @@ where impl MetastoreService for MetastoreServiceMailbox where A: quickwit_actors::Actor + std::fmt::Debug, - MetastoreServiceMailbox: tower::Service< + MetastoreServiceMailbox< + A, + >: tower::Service< CreateIndexRequest, Response = CreateIndexResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > + tower::Service< + > + + tower::Service< UpdateIndexRequest, Response = IndexMetadataResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > + tower::Service< + > + + tower::Service< IndexMetadataRequest, Response = IndexMetadataResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > + tower::Service< + > + + tower::Service< IndexesMetadataRequest, Response = IndexesMetadataResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > + tower::Service< + > + + tower::Service< ListIndexesMetadataRequest, Response = ListIndexesMetadataResponse, Error = crate::metastore::MetastoreError, - Future = BoxFuture, - > + tower::Service< + Future = BoxFuture< + ListIndexesMetadataResponse, + crate::metastore::MetastoreError, + >, + > + + tower::Service< DeleteIndexRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > + tower::Service< + > + + tower::Service< ListSplitsRequest, Response = MetastoreServiceStream, Error = crate::metastore::MetastoreError, @@ -5430,131 +4697,174 @@ where MetastoreServiceStream, crate::metastore::MetastoreError, >, - > + tower::Service< + > + + tower::Service< StageSplitsRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > + tower::Service< + > + + tower::Service< PublishSplitsRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > + tower::Service< + > + + tower::Service< MarkSplitsForDeletionRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > + tower::Service< + > + + tower::Service< DeleteSplitsRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > + tower::Service< + > + + tower::Service< AddSourceRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > + tower::Service< + > + + tower::Service< UpdateSourceRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > + tower::Service< + > + + tower::Service< ToggleSourceRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > + tower::Service< + > + + tower::Service< DeleteSourceRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > + tower::Service< + > + + tower::Service< ResetSourceCheckpointRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > + tower::Service< + > + + tower::Service< LastDeleteOpstampRequest, Response = LastDeleteOpstampResponse, Error = crate::metastore::MetastoreError, - Future = BoxFuture, - > + tower::Service< + Future = BoxFuture< + LastDeleteOpstampResponse, + crate::metastore::MetastoreError, + >, + > + + tower::Service< DeleteQuery, Response = DeleteTask, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > + tower::Service< + > + + tower::Service< UpdateSplitsDeleteOpstampRequest, Response = UpdateSplitsDeleteOpstampResponse, Error = crate::metastore::MetastoreError, - Future = BoxFuture, - > + tower::Service< + Future = BoxFuture< + UpdateSplitsDeleteOpstampResponse, + crate::metastore::MetastoreError, + >, + > + + tower::Service< ListDeleteTasksRequest, Response = ListDeleteTasksResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > + tower::Service< + > + + tower::Service< ListStaleSplitsRequest, Response = ListSplitsResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > + tower::Service< + > + + tower::Service< OpenShardsRequest, Response = OpenShardsResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > + tower::Service< + > + + tower::Service< AcquireShardsRequest, Response = AcquireShardsResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > + tower::Service< + > + + tower::Service< DeleteShardsRequest, Response = DeleteShardsResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > + tower::Service< + > + + tower::Service< PruneShardsRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > + tower::Service< + > + + tower::Service< ListShardsRequest, Response = ListShardsResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > + tower::Service< + > + + tower::Service< CreateIndexTemplateRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > + tower::Service< + > + + tower::Service< GetIndexTemplateRequest, Response = GetIndexTemplateResponse, Error = crate::metastore::MetastoreError, - Future = BoxFuture, - > + tower::Service< + Future = BoxFuture< + GetIndexTemplateResponse, + crate::metastore::MetastoreError, + >, + > + + tower::Service< FindIndexTemplateMatchesRequest, Response = FindIndexTemplateMatchesResponse, Error = crate::metastore::MetastoreError, - Future = BoxFuture, - > + tower::Service< + Future = BoxFuture< + FindIndexTemplateMatchesResponse, + crate::metastore::MetastoreError, + >, + > + + tower::Service< ListIndexTemplatesRequest, Response = ListIndexTemplatesResponse, Error = crate::metastore::MetastoreError, - Future = BoxFuture, - > + tower::Service< + Future = BoxFuture< + ListIndexTemplatesResponse, + crate::metastore::MetastoreError, + >, + > + + tower::Service< DeleteIndexTemplatesRequest, Response = EmptyResponse, Error = crate::metastore::MetastoreError, Future = BoxFuture, - > + tower::Service< + > + + tower::Service< GetClusterIdentityRequest, Response = GetClusterIdentityResponse, Error = crate::metastore::MetastoreError, - Future = BoxFuture, + Future = BoxFuture< + GetClusterIdentityResponse, + crate::metastore::MetastoreError, + >, >, { async fn create_index( @@ -5757,11 +5067,8 @@ where } fn endpoints(&self) -> Vec { vec![ - quickwit_common::uri::Uri::from_str(&format!( - "actor://localhost/{}", - self.inner.actor_instance_id() - )) - .expect("URI should be valid"), + quickwit_common::uri::Uri::from_str(& format!("actor://localhost/{}", self + .inner.actor_instance_id())).expect("URI should be valid") ] } } @@ -5769,8 +5076,9 @@ where pub struct MetastoreServiceGrpcClientAdapter { inner: T, #[allow(dead_code)] - connection_addrs_rx: - tokio::sync::watch::Receiver>, + connection_addrs_rx: tokio::sync::watch::Receiver< + std::collections::HashSet, + >, } impl MetastoreServiceGrpcClientAdapter { pub fn new( @@ -5787,18 +5095,15 @@ impl MetastoreServiceGrpcClientAdapter { } #[async_trait::async_trait] impl MetastoreService - for MetastoreServiceGrpcClientAdapter< - metastore_service_grpc_client::MetastoreServiceGrpcClient, - > +for MetastoreServiceGrpcClientAdapter< + metastore_service_grpc_client::MetastoreServiceGrpcClient, +> where - T: tonic::client::GrpcService - + std::fmt::Debug - + Clone - + Send - + Sync - + 'static, + T: tonic::client::GrpcService + std::fmt::Debug + Clone + Send + + Sync + 'static, T::ResponseBody: tonic::codegen::Body + Send + 'static, - ::Error: Into + Send, + ::Error: Into + + Send, T::Future: Send, { async fn create_index( @@ -5810,9 +5115,10 @@ where .create_index(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error(status, CreateIndexRequest::rpc_name()) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + CreateIndexRequest::rpc_name(), + )) } async fn update_index( &self, @@ -5823,9 +5129,10 @@ where .update_index(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error(status, UpdateIndexRequest::rpc_name()) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + UpdateIndexRequest::rpc_name(), + )) } async fn index_metadata( &self, @@ -5836,9 +5143,10 @@ where .index_metadata(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error(status, IndexMetadataRequest::rpc_name()) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + IndexMetadataRequest::rpc_name(), + )) } async fn indexes_metadata( &self, @@ -5849,12 +5157,10 @@ where .indexes_metadata(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error( - status, - IndexesMetadataRequest::rpc_name(), - ) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + IndexesMetadataRequest::rpc_name(), + )) } async fn list_indexes_metadata( &self, @@ -5865,12 +5171,10 @@ where .list_indexes_metadata(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error( - status, - ListIndexesMetadataRequest::rpc_name(), - ) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + ListIndexesMetadataRequest::rpc_name(), + )) } async fn delete_index( &self, @@ -5881,9 +5185,10 @@ where .delete_index(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error(status, DeleteIndexRequest::rpc_name()) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + DeleteIndexRequest::rpc_name(), + )) } async fn list_splits( &self, @@ -5896,16 +5201,16 @@ where .map(|response| { let streaming: tonic::Streaming<_> = response.into_inner(); let stream = quickwit_common::ServiceStream::from(streaming); - stream.map_err(|status| { - crate::error::grpc_status_to_service_error( + stream + .map_err(|status| crate::error::grpc_status_to_service_error( status, ListSplitsRequest::rpc_name(), - ) - }) - }) - .map_err(|status| { - crate::error::grpc_status_to_service_error(status, ListSplitsRequest::rpc_name()) + )) }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + ListSplitsRequest::rpc_name(), + )) } async fn stage_splits( &self, @@ -5916,9 +5221,10 @@ where .stage_splits(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error(status, StageSplitsRequest::rpc_name()) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + StageSplitsRequest::rpc_name(), + )) } async fn publish_splits( &self, @@ -5929,9 +5235,10 @@ where .publish_splits(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error(status, PublishSplitsRequest::rpc_name()) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + PublishSplitsRequest::rpc_name(), + )) } async fn mark_splits_for_deletion( &self, @@ -5942,12 +5249,10 @@ where .mark_splits_for_deletion(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error( - status, - MarkSplitsForDeletionRequest::rpc_name(), - ) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + MarkSplitsForDeletionRequest::rpc_name(), + )) } async fn delete_splits( &self, @@ -5958,9 +5263,10 @@ where .delete_splits(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error(status, DeleteSplitsRequest::rpc_name()) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + DeleteSplitsRequest::rpc_name(), + )) } async fn add_source( &self, @@ -5971,9 +5277,10 @@ where .add_source(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error(status, AddSourceRequest::rpc_name()) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + AddSourceRequest::rpc_name(), + )) } async fn update_source( &self, @@ -5984,9 +5291,10 @@ where .update_source(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error(status, UpdateSourceRequest::rpc_name()) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + UpdateSourceRequest::rpc_name(), + )) } async fn toggle_source( &self, @@ -5997,9 +5305,10 @@ where .toggle_source(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error(status, ToggleSourceRequest::rpc_name()) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + ToggleSourceRequest::rpc_name(), + )) } async fn delete_source( &self, @@ -6010,9 +5319,10 @@ where .delete_source(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error(status, DeleteSourceRequest::rpc_name()) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + DeleteSourceRequest::rpc_name(), + )) } async fn reset_source_checkpoint( &self, @@ -6023,12 +5333,10 @@ where .reset_source_checkpoint(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error( - status, - ResetSourceCheckpointRequest::rpc_name(), - ) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + ResetSourceCheckpointRequest::rpc_name(), + )) } async fn last_delete_opstamp( &self, @@ -6039,12 +5347,10 @@ where .last_delete_opstamp(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error( - status, - LastDeleteOpstampRequest::rpc_name(), - ) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + LastDeleteOpstampRequest::rpc_name(), + )) } async fn create_delete_task( &self, @@ -6055,9 +5361,10 @@ where .create_delete_task(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error(status, DeleteQuery::rpc_name()) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + DeleteQuery::rpc_name(), + )) } async fn update_splits_delete_opstamp( &self, @@ -6068,12 +5375,10 @@ where .update_splits_delete_opstamp(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error( - status, - UpdateSplitsDeleteOpstampRequest::rpc_name(), - ) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + UpdateSplitsDeleteOpstampRequest::rpc_name(), + )) } async fn list_delete_tasks( &self, @@ -6084,12 +5389,10 @@ where .list_delete_tasks(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error( - status, - ListDeleteTasksRequest::rpc_name(), - ) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + ListDeleteTasksRequest::rpc_name(), + )) } async fn list_stale_splits( &self, @@ -6100,12 +5403,10 @@ where .list_stale_splits(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error( - status, - ListStaleSplitsRequest::rpc_name(), - ) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + ListStaleSplitsRequest::rpc_name(), + )) } async fn open_shards( &self, @@ -6116,9 +5417,10 @@ where .open_shards(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error(status, OpenShardsRequest::rpc_name()) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + OpenShardsRequest::rpc_name(), + )) } async fn acquire_shards( &self, @@ -6129,9 +5431,10 @@ where .acquire_shards(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error(status, AcquireShardsRequest::rpc_name()) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + AcquireShardsRequest::rpc_name(), + )) } async fn delete_shards( &self, @@ -6142,9 +5445,10 @@ where .delete_shards(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error(status, DeleteShardsRequest::rpc_name()) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + DeleteShardsRequest::rpc_name(), + )) } async fn prune_shards( &self, @@ -6155,9 +5459,10 @@ where .prune_shards(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error(status, PruneShardsRequest::rpc_name()) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + PruneShardsRequest::rpc_name(), + )) } async fn list_shards( &self, @@ -6168,9 +5473,10 @@ where .list_shards(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error(status, ListShardsRequest::rpc_name()) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + ListShardsRequest::rpc_name(), + )) } async fn create_index_template( &self, @@ -6181,12 +5487,10 @@ where .create_index_template(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error( - status, - CreateIndexTemplateRequest::rpc_name(), - ) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + CreateIndexTemplateRequest::rpc_name(), + )) } async fn get_index_template( &self, @@ -6197,12 +5501,10 @@ where .get_index_template(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error( - status, - GetIndexTemplateRequest::rpc_name(), - ) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + GetIndexTemplateRequest::rpc_name(), + )) } async fn find_index_template_matches( &self, @@ -6213,12 +5515,10 @@ where .find_index_template_matches(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error( - status, - FindIndexTemplateMatchesRequest::rpc_name(), - ) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + FindIndexTemplateMatchesRequest::rpc_name(), + )) } async fn list_index_templates( &self, @@ -6229,12 +5529,10 @@ where .list_index_templates(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error( - status, - ListIndexTemplatesRequest::rpc_name(), - ) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + ListIndexTemplatesRequest::rpc_name(), + )) } async fn delete_index_templates( &self, @@ -6245,12 +5543,10 @@ where .delete_index_templates(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error( - status, - DeleteIndexTemplatesRequest::rpc_name(), - ) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + DeleteIndexTemplatesRequest::rpc_name(), + )) } async fn get_cluster_identity( &self, @@ -6261,12 +5557,10 @@ where .get_cluster_identity(request) .await .map(|response| response.into_inner()) - .map_err(|status| { - crate::error::grpc_status_to_service_error( - status, - GetClusterIdentityRequest::rpc_name(), - ) - }) + .map_err(|status| crate::error::grpc_status_to_service_error( + status, + GetClusterIdentityRequest::rpc_name(), + )) } async fn check_connectivity(&self) -> anyhow::Result<()> { if self.connection_addrs_rx.borrow().is_empty() { @@ -6278,12 +5572,9 @@ where self.connection_addrs_rx .borrow() .iter() - .flat_map(|addr| { - quickwit_common::uri::Uri::from_str(&format!( - "grpc://{addr}/{}.{}", - "quickwit.metastore", "MetastoreService" - )) - }) + .flat_map(|addr| quickwit_common::uri::Uri::from_str( + &format!("grpc://{addr}/{}.{}", "quickwit.metastore", "MetastoreService"), + )) .collect() } } @@ -6302,7 +5593,8 @@ impl MetastoreServiceGrpcServerAdapter { } } #[async_trait::async_trait] -impl metastore_service_grpc_server::MetastoreServiceGrpc for MetastoreServiceGrpcServerAdapter { +impl metastore_service_grpc_server::MetastoreServiceGrpc +for MetastoreServiceGrpcServerAdapter { async fn create_index( &self, request: tonic::Request, @@ -6369,7 +5661,9 @@ impl metastore_service_grpc_server::MetastoreServiceGrpc for MetastoreServiceGrp .map(tonic::Response::new) .map_err(crate::error::grpc_error_to_grpc_status) } - type ListSplitsStream = quickwit_common::ServiceStream>; + type ListSplitsStream = quickwit_common::ServiceStream< + tonic::Result, + >; async fn list_splits( &self, request: tonic::Request, @@ -6378,9 +5672,9 @@ impl metastore_service_grpc_server::MetastoreServiceGrpc for MetastoreServiceGrp .0 .list_splits(request.into_inner()) .await - .map(|stream| { - tonic::Response::new(stream.map_err(crate::error::grpc_error_to_grpc_status)) - }) + .map(|stream| tonic::Response::new( + stream.map_err(crate::error::grpc_error_to_grpc_status), + )) .map_err(crate::error::grpc_error_to_grpc_status) } async fn stage_splits( @@ -6666,10 +5960,10 @@ pub mod metastore_service_grpc_client { dead_code, missing_docs, clippy::wildcard_imports, - clippy::let_unit_value + clippy::let_unit_value, )] - use tonic::codegen::http::Uri; use tonic::codegen::*; + use tonic::codegen::http::Uri; /// Metastore meant to manage Quickwit's indexes, their splits and delete tasks. /// /// I. Index and splits management. @@ -6762,13 +6056,14 @@ pub mod metastore_service_grpc_client { F: tonic::service::Interceptor, T::ResponseBody: Default, T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, + http::Request, + Response = http::Response< + >::ResponseBody, >, - >>::Error: - Into + std::marker::Send + std::marker::Sync, + >, + , + >>::Error: Into + std::marker::Send + std::marker::Sync, { MetastoreServiceGrpcClient::new(InterceptedService::new(inner, interceptor)) } @@ -6810,100 +6105,144 @@ pub mod metastore_service_grpc_client { pub async fn create_index( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/CreateIndex", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "CreateIndex", - )); + req.extensions_mut() + .insert( + GrpcMethod::new("quickwit.metastore.MetastoreService", "CreateIndex"), + ); self.inner.unary(req, path, codec).await } /// Update an index. pub async fn update_index( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/UpdateIndex", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "UpdateIndex", - )); + req.extensions_mut() + .insert( + GrpcMethod::new("quickwit.metastore.MetastoreService", "UpdateIndex"), + ); self.inner.unary(req, path, codec).await } /// Returns the `IndexMetadata` of an index identified by its IndexID or its IndexUID. pub async fn index_metadata( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/IndexMetadata", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "IndexMetadata", - )); + req.extensions_mut() + .insert( + GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "IndexMetadata", + ), + ); self.inner.unary(req, path, codec).await } /// Fetches the metadata of a list of indexes identified by their Index IDs or UIDs. pub async fn indexes_metadata( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/IndexesMetadata", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "IndexesMetadata", - )); + req.extensions_mut() + .insert( + GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "IndexesMetadata", + ), + ); self.inner.unary(req, path, codec).await } /// Gets an indexes metadatas. pub async fn list_indexes_metadata( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/ListIndexesMetadata", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "ListIndexesMetadata", - )); + req.extensions_mut() + .insert( + GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "ListIndexesMetadata", + ), + ); self.inner.unary(req, path, codec).await } /// Deletes an index @@ -6911,18 +6250,23 @@ pub mod metastore_service_grpc_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/DeleteIndex", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "DeleteIndex", - )); + req.extensions_mut() + .insert( + GrpcMethod::new("quickwit.metastore.MetastoreService", "DeleteIndex"), + ); self.inner.unary(req, path, codec).await } /// Streams splits from index. @@ -6933,18 +6277,23 @@ pub mod metastore_service_grpc_client { tonic::Response>, tonic::Status, > { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/ListSplits", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "ListSplits", - )); + req.extensions_mut() + .insert( + GrpcMethod::new("quickwit.metastore.MetastoreService", "ListSplits"), + ); self.inner.server_streaming(req, path, codec).await } /// Stages several splits. @@ -6952,18 +6301,23 @@ pub mod metastore_service_grpc_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/StageSplits", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "StageSplits", - )); + req.extensions_mut() + .insert( + GrpcMethod::new("quickwit.metastore.MetastoreService", "StageSplits"), + ); self.inner.unary(req, path, codec).await } /// Publishes split. @@ -6971,18 +6325,26 @@ pub mod metastore_service_grpc_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/PublishSplits", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "PublishSplits", - )); + req.extensions_mut() + .insert( + GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "PublishSplits", + ), + ); self.inner.unary(req, path, codec).await } /// Marks splits for deletion. @@ -6990,18 +6352,26 @@ pub mod metastore_service_grpc_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/MarkSplitsForDeletion", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "MarkSplitsForDeletion", - )); + req.extensions_mut() + .insert( + GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "MarkSplitsForDeletion", + ), + ); self.inner.unary(req, path, codec).await } /// Deletes splits. @@ -7009,18 +6379,26 @@ pub mod metastore_service_grpc_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/DeleteSplits", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "DeleteSplits", - )); + req.extensions_mut() + .insert( + GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "DeleteSplits", + ), + ); self.inner.unary(req, path, codec).await } /// Adds a source. @@ -7028,18 +6406,23 @@ pub mod metastore_service_grpc_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/AddSource", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "AddSource", - )); + req.extensions_mut() + .insert( + GrpcMethod::new("quickwit.metastore.MetastoreService", "AddSource"), + ); self.inner.unary(req, path, codec).await } /// Updates a source. @@ -7047,18 +6430,26 @@ pub mod metastore_service_grpc_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/UpdateSource", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "UpdateSource", - )); + req.extensions_mut() + .insert( + GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "UpdateSource", + ), + ); self.inner.unary(req, path, codec).await } /// Toggles (turns on or off) source. @@ -7066,18 +6457,26 @@ pub mod metastore_service_grpc_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/ToggleSource", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "ToggleSource", - )); + req.extensions_mut() + .insert( + GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "ToggleSource", + ), + ); self.inner.unary(req, path, codec).await } /// Removes source. @@ -7085,18 +6484,26 @@ pub mod metastore_service_grpc_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/DeleteSource", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "DeleteSource", - )); + req.extensions_mut() + .insert( + GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "DeleteSource", + ), + ); self.inner.unary(req, path, codec).await } /// Resets source checkpoint. @@ -7104,38 +6511,56 @@ pub mod metastore_service_grpc_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/ResetSourceCheckpoint", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "ResetSourceCheckpoint", - )); + req.extensions_mut() + .insert( + GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "ResetSourceCheckpoint", + ), + ); self.inner.unary(req, path, codec).await } /// Gets last opstamp for a given `index_id`. pub async fn last_delete_opstamp( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/LastDeleteOpstamp", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "LastDeleteOpstamp", - )); + req.extensions_mut() + .insert( + GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "LastDeleteOpstamp", + ), + ); self.inner.unary(req, path, codec).await } /// Creates a delete task. @@ -7143,18 +6568,26 @@ pub mod metastore_service_grpc_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/CreateDeleteTask", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "CreateDeleteTask", - )); + req.extensions_mut() + .insert( + GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "CreateDeleteTask", + ), + ); self.inner.unary(req, path, codec).await } /// Updates splits `delete_opstamp`. @@ -7165,58 +6598,86 @@ pub mod metastore_service_grpc_client { tonic::Response, tonic::Status, > { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/UpdateSplitsDeleteOpstamp", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "UpdateSplitsDeleteOpstamp", - )); + req.extensions_mut() + .insert( + GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "UpdateSplitsDeleteOpstamp", + ), + ); self.inner.unary(req, path, codec).await } /// Lists delete tasks with `delete_task.opstamp` > `opstamp_start` for a given `index_id`. pub async fn list_delete_tasks( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/ListDeleteTasks", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "ListDeleteTasks", - )); + req.extensions_mut() + .insert( + GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "ListDeleteTasks", + ), + ); self.inner.unary(req, path, codec).await } /// Lists splits with `split.delete_opstamp` \< `delete_opstamp` for a given `index_id`. pub async fn list_stale_splits( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/ListStaleSplits", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "ListStaleSplits", - )); + req.extensions_mut() + .insert( + GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "ListStaleSplits", + ), + ); self.inner.unary(req, path, codec).await } /// Shard API @@ -7228,20 +6689,27 @@ pub mod metastore_service_grpc_client { pub async fn open_shards( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/OpenShards", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "OpenShards", - )); + req.extensions_mut() + .insert( + GrpcMethod::new("quickwit.metastore.MetastoreService", "OpenShards"), + ); self.inner.unary(req, path, codec).await } /// Acquires a set of shards for indexing. This RPC locks the shards for publishing thanks to a publish token and only @@ -7256,20 +6724,30 @@ pub mod metastore_service_grpc_client { pub async fn acquire_shards( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/AcquireShards", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "AcquireShards", - )); + req.extensions_mut() + .insert( + GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "AcquireShards", + ), + ); self.inner.unary(req, path, codec).await } /// Deletes a set of shards. This RPC deletes the shards from the metastore. @@ -7277,20 +6755,30 @@ pub mod metastore_service_grpc_client { pub async fn delete_shards( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/DeleteShards", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "DeleteShards", - )); + req.extensions_mut() + .insert( + GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "DeleteShards", + ), + ); self.inner.unary(req, path, codec).await } /// Deletes outdated shards. This RPC deletes the shards from the metastore. @@ -7298,37 +6786,49 @@ pub mod metastore_service_grpc_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/PruneShards", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "PruneShards", - )); + req.extensions_mut() + .insert( + GrpcMethod::new("quickwit.metastore.MetastoreService", "PruneShards"), + ); self.inner.unary(req, path, codec).await } pub async fn list_shards( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/ListShards", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "ListShards", - )); + req.extensions_mut() + .insert( + GrpcMethod::new("quickwit.metastore.MetastoreService", "ListShards"), + ); self.inner.unary(req, path, codec).await } /// Creates an index template. @@ -7336,38 +6836,56 @@ pub mod metastore_service_grpc_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/CreateIndexTemplate", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "CreateIndexTemplate", - )); + req.extensions_mut() + .insert( + GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "CreateIndexTemplate", + ), + ); self.inner.unary(req, path, codec).await } /// Fetches an index template. pub async fn get_index_template( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/GetIndexTemplate", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "GetIndexTemplate", - )); + req.extensions_mut() + .insert( + GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "GetIndexTemplate", + ), + ); self.inner.unary(req, path, codec).await } /// Finds matching index templates. @@ -7378,38 +6896,56 @@ pub mod metastore_service_grpc_client { tonic::Response, tonic::Status, > { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/FindIndexTemplateMatches", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "FindIndexTemplateMatches", - )); + req.extensions_mut() + .insert( + GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "FindIndexTemplateMatches", + ), + ); self.inner.unary(req, path, codec).await } /// Returns all the index templates. pub async fn list_index_templates( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/ListIndexTemplates", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "ListIndexTemplates", - )); + req.extensions_mut() + .insert( + GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "ListIndexTemplates", + ), + ); self.inner.unary(req, path, codec).await } /// Deletes index templates. @@ -7417,38 +6953,56 @@ pub mod metastore_service_grpc_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/DeleteIndexTemplates", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "DeleteIndexTemplates", - )); + req.extensions_mut() + .insert( + GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "DeleteIndexTemplates", + ), + ); self.inner.unary(req, path, codec).await } /// Get cluster identity pub async fn get_cluster_identity( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.metastore.MetastoreService/GetClusterIdentity", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.metastore.MetastoreService", - "GetClusterIdentity", - )); + req.extensions_mut() + .insert( + GrpcMethod::new( + "quickwit.metastore.MetastoreService", + "GetClusterIdentity", + ), + ); self.inner.unary(req, path, codec).await } } @@ -7460,7 +7014,7 @@ pub mod metastore_service_grpc_server { dead_code, missing_docs, clippy::wildcard_imports, - clippy::let_unit_value + clippy::let_unit_value, )] use tonic::codegen::*; /// Generated trait containing gRPC methods that should be implemented for use with MetastoreServiceGrpcServer. @@ -7473,27 +7027,42 @@ pub mod metastore_service_grpc_server { async fn create_index( &self, request: tonic::Request, - ) -> std::result::Result, tonic::Status>; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; /// Update an index. async fn update_index( &self, request: tonic::Request, - ) -> std::result::Result, tonic::Status>; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; /// Returns the `IndexMetadata` of an index identified by its IndexID or its IndexUID. async fn index_metadata( &self, request: tonic::Request, - ) -> std::result::Result, tonic::Status>; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; /// Fetches the metadata of a list of indexes identified by their Index IDs or UIDs. async fn indexes_metadata( &self, request: tonic::Request, - ) -> std::result::Result, tonic::Status>; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; /// Gets an indexes metadatas. async fn list_indexes_metadata( &self, request: tonic::Request, - ) -> std::result::Result, tonic::Status>; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; /// Deletes an index async fn delete_index( &self, @@ -7502,7 +7071,8 @@ pub mod metastore_service_grpc_server { /// Server streaming response type for the ListSplits method. type ListSplitsStream: tonic::codegen::tokio_stream::Stream< Item = std::result::Result, - > + std::marker::Send + > + + std::marker::Send + 'static; /// Streams splits from index. async fn list_splits( @@ -7558,7 +7128,10 @@ pub mod metastore_service_grpc_server { async fn last_delete_opstamp( &self, request: tonic::Request, - ) -> std::result::Result, tonic::Status>; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; /// Creates a delete task. async fn create_delete_task( &self, @@ -7576,12 +7149,18 @@ pub mod metastore_service_grpc_server { async fn list_delete_tasks( &self, request: tonic::Request, - ) -> std::result::Result, tonic::Status>; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; /// Lists splits with `split.delete_opstamp` \< `delete_opstamp` for a given `index_id`. async fn list_stale_splits( &self, request: tonic::Request, - ) -> std::result::Result, tonic::Status>; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; /// Shard API /// /// Note that for the file-backed metastore implementation, the requests are not processed atomically. @@ -7591,7 +7170,10 @@ pub mod metastore_service_grpc_server { async fn open_shards( &self, request: tonic::Request, - ) -> std::result::Result, tonic::Status>; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; /// Acquires a set of shards for indexing. This RPC locks the shards for publishing thanks to a publish token and only /// the last indexer that has acquired the shards is allowed to publish. The response returns for each subrequest the /// list of acquired shards along with the positions to index from. @@ -7604,13 +7186,19 @@ pub mod metastore_service_grpc_server { async fn acquire_shards( &self, request: tonic::Request, - ) -> std::result::Result, tonic::Status>; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; /// Deletes a set of shards. This RPC deletes the shards from the metastore. /// If the shard did not exist to begin with, the operation is successful and does not return any error. async fn delete_shards( &self, request: tonic::Request, - ) -> std::result::Result, tonic::Status>; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; /// Deletes outdated shards. This RPC deletes the shards from the metastore. async fn prune_shards( &self, @@ -7619,7 +7207,10 @@ pub mod metastore_service_grpc_server { async fn list_shards( &self, request: tonic::Request, - ) -> std::result::Result, tonic::Status>; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; /// Creates an index template. async fn create_index_template( &self, @@ -7629,7 +7220,10 @@ pub mod metastore_service_grpc_server { async fn get_index_template( &self, request: tonic::Request, - ) -> std::result::Result, tonic::Status>; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; /// Finds matching index templates. async fn find_index_template_matches( &self, @@ -7642,7 +7236,10 @@ pub mod metastore_service_grpc_server { async fn list_index_templates( &self, request: tonic::Request, - ) -> std::result::Result, tonic::Status>; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; /// Deletes index templates. async fn delete_index_templates( &self, @@ -7652,7 +7249,10 @@ pub mod metastore_service_grpc_server { async fn get_cluster_identity( &self, request: tonic::Request, - ) -> std::result::Result, tonic::Status>; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; } /// Metastore meant to manage Quickwit's indexes, their splits and delete tasks. /// @@ -7729,7 +7329,10 @@ pub mod metastore_service_grpc_server { max_encoding_message_size: None, } } - pub fn with_interceptor(inner: T, interceptor: F) -> InterceptedService + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService where F: tonic::service::Interceptor, { @@ -7764,7 +7367,8 @@ pub mod metastore_service_grpc_server { self } } - impl tonic::codegen::Service> for MetastoreServiceGrpcServer + impl tonic::codegen::Service> + for MetastoreServiceGrpcServer where T: MetastoreServiceGrpc, B: Body + std::marker::Send + 'static, @@ -7784,19 +7388,23 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/CreateIndex" => { #[allow(non_camel_case_types)] struct CreateIndexSvc(pub Arc); - impl - tonic::server::UnaryService - for CreateIndexSvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for CreateIndexSvc { type Response = super::CreateIndexResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::create_index(&inner, request).await + ::create_index(&inner, request) + .await }; Box::pin(fut) } @@ -7826,19 +7434,23 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/UpdateIndex" => { #[allow(non_camel_case_types)] struct UpdateIndexSvc(pub Arc); - impl - tonic::server::UnaryService - for UpdateIndexSvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for UpdateIndexSvc { type Response = super::IndexMetadataResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::update_index(&inner, request).await + ::update_index(&inner, request) + .await }; Box::pin(fut) } @@ -7868,19 +7480,23 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/IndexMetadata" => { #[allow(non_camel_case_types)] struct IndexMetadataSvc(pub Arc); - impl - tonic::server::UnaryService - for IndexMetadataSvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for IndexMetadataSvc { type Response = super::IndexMetadataResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::index_metadata(&inner, request).await + ::index_metadata(&inner, request) + .await }; Box::pin(fut) } @@ -7910,19 +7526,26 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/IndexesMetadata" => { #[allow(non_camel_case_types)] struct IndexesMetadataSvc(pub Arc); - impl - tonic::server::UnaryService - for IndexesMetadataSvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for IndexesMetadataSvc { type Response = super::IndexesMetadataResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::indexes_metadata(&inner, request).await + ::indexes_metadata( + &inner, + request, + ) + .await }; Box::pin(fut) } @@ -7952,19 +7575,25 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/ListIndexesMetadata" => { #[allow(non_camel_case_types)] struct ListIndexesMetadataSvc(pub Arc); - impl - tonic::server::UnaryService - for ListIndexesMetadataSvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for ListIndexesMetadataSvc { type Response = super::ListIndexesMetadataResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::list_indexes_metadata(&inner, request) + ::list_indexes_metadata( + &inner, + request, + ) .await }; Box::pin(fut) @@ -7995,19 +7624,23 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/DeleteIndex" => { #[allow(non_camel_case_types)] struct DeleteIndexSvc(pub Arc); - impl - tonic::server::UnaryService - for DeleteIndexSvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for DeleteIndexSvc { type Response = super::EmptyResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::delete_index(&inner, request).await + ::delete_index(&inner, request) + .await }; Box::pin(fut) } @@ -8037,21 +7670,24 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/ListSplits" => { #[allow(non_camel_case_types)] struct ListSplitsSvc(pub Arc); - impl - tonic::server::ServerStreamingService - for ListSplitsSvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::ServerStreamingService + for ListSplitsSvc { type Response = super::ListSplitsResponse; type ResponseStream = T::ListSplitsStream; - type Future = - BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::list_splits(&inner, request).await + ::list_splits(&inner, request) + .await }; Box::pin(fut) } @@ -8081,19 +7717,23 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/StageSplits" => { #[allow(non_camel_case_types)] struct StageSplitsSvc(pub Arc); - impl - tonic::server::UnaryService - for StageSplitsSvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for StageSplitsSvc { type Response = super::EmptyResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::stage_splits(&inner, request).await + ::stage_splits(&inner, request) + .await }; Box::pin(fut) } @@ -8123,19 +7763,23 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/PublishSplits" => { #[allow(non_camel_case_types)] struct PublishSplitsSvc(pub Arc); - impl - tonic::server::UnaryService - for PublishSplitsSvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for PublishSplitsSvc { type Response = super::EmptyResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::publish_splits(&inner, request).await + ::publish_splits(&inner, request) + .await }; Box::pin(fut) } @@ -8165,12 +7809,15 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/MarkSplitsForDeletion" => { #[allow(non_camel_case_types)] struct MarkSplitsForDeletionSvc(pub Arc); - impl - tonic::server::UnaryService - for MarkSplitsForDeletionSvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for MarkSplitsForDeletionSvc { type Response = super::EmptyResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, @@ -8178,9 +7825,10 @@ pub mod metastore_service_grpc_server { let inner = Arc::clone(&self.0); let fut = async move { ::mark_splits_for_deletion( - &inner, request, - ) - .await + &inner, + request, + ) + .await }; Box::pin(fut) } @@ -8210,19 +7858,23 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/DeleteSplits" => { #[allow(non_camel_case_types)] struct DeleteSplitsSvc(pub Arc); - impl - tonic::server::UnaryService - for DeleteSplitsSvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for DeleteSplitsSvc { type Response = super::EmptyResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::delete_splits(&inner, request).await + ::delete_splits(&inner, request) + .await }; Box::pin(fut) } @@ -8252,18 +7904,23 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/AddSource" => { #[allow(non_camel_case_types)] struct AddSourceSvc(pub Arc); - impl - tonic::server::UnaryService for AddSourceSvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for AddSourceSvc { type Response = super::EmptyResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::add_source(&inner, request).await + ::add_source(&inner, request) + .await }; Box::pin(fut) } @@ -8293,19 +7950,23 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/UpdateSource" => { #[allow(non_camel_case_types)] struct UpdateSourceSvc(pub Arc); - impl - tonic::server::UnaryService - for UpdateSourceSvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for UpdateSourceSvc { type Response = super::EmptyResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::update_source(&inner, request).await + ::update_source(&inner, request) + .await }; Box::pin(fut) } @@ -8335,19 +7996,23 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/ToggleSource" => { #[allow(non_camel_case_types)] struct ToggleSourceSvc(pub Arc); - impl - tonic::server::UnaryService - for ToggleSourceSvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for ToggleSourceSvc { type Response = super::EmptyResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::toggle_source(&inner, request).await + ::toggle_source(&inner, request) + .await }; Box::pin(fut) } @@ -8377,19 +8042,23 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/DeleteSource" => { #[allow(non_camel_case_types)] struct DeleteSourceSvc(pub Arc); - impl - tonic::server::UnaryService - for DeleteSourceSvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for DeleteSourceSvc { type Response = super::EmptyResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::delete_source(&inner, request).await + ::delete_source(&inner, request) + .await }; Box::pin(fut) } @@ -8419,12 +8088,15 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/ResetSourceCheckpoint" => { #[allow(non_camel_case_types)] struct ResetSourceCheckpointSvc(pub Arc); - impl - tonic::server::UnaryService - for ResetSourceCheckpointSvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for ResetSourceCheckpointSvc { type Response = super::EmptyResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, @@ -8432,9 +8104,10 @@ pub mod metastore_service_grpc_server { let inner = Arc::clone(&self.0); let fut = async move { ::reset_source_checkpoint( - &inner, request, - ) - .await + &inner, + request, + ) + .await }; Box::pin(fut) } @@ -8464,19 +8137,25 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/LastDeleteOpstamp" => { #[allow(non_camel_case_types)] struct LastDeleteOpstampSvc(pub Arc); - impl - tonic::server::UnaryService - for LastDeleteOpstampSvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for LastDeleteOpstampSvc { type Response = super::LastDeleteOpstampResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::last_delete_opstamp(&inner, request) + ::last_delete_opstamp( + &inner, + request, + ) .await }; Box::pin(fut) @@ -8507,18 +8186,25 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/CreateDeleteTask" => { #[allow(non_camel_case_types)] struct CreateDeleteTaskSvc(pub Arc); - impl tonic::server::UnaryService - for CreateDeleteTaskSvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for CreateDeleteTaskSvc { type Response = super::DeleteTask; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::create_delete_task(&inner, request) + ::create_delete_task( + &inner, + request, + ) .await }; Box::pin(fut) @@ -8548,23 +8234,32 @@ pub mod metastore_service_grpc_server { } "/quickwit.metastore.MetastoreService/UpdateSplitsDeleteOpstamp" => { #[allow(non_camel_case_types)] - struct UpdateSplitsDeleteOpstampSvc(pub Arc); - impl - tonic::server::UnaryService - for UpdateSplitsDeleteOpstampSvc - { + struct UpdateSplitsDeleteOpstampSvc( + pub Arc, + ); + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService< + super::UpdateSplitsDeleteOpstampRequest, + > for UpdateSplitsDeleteOpstampSvc { type Response = super::UpdateSplitsDeleteOpstampResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, - request: tonic::Request, + request: tonic::Request< + super::UpdateSplitsDeleteOpstampRequest, + >, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { ::update_splits_delete_opstamp( - &inner, request, - ) - .await + &inner, + request, + ) + .await }; Box::pin(fut) } @@ -8594,19 +8289,25 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/ListDeleteTasks" => { #[allow(non_camel_case_types)] struct ListDeleteTasksSvc(pub Arc); - impl - tonic::server::UnaryService - for ListDeleteTasksSvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for ListDeleteTasksSvc { type Response = super::ListDeleteTasksResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::list_delete_tasks(&inner, request) + ::list_delete_tasks( + &inner, + request, + ) .await }; Box::pin(fut) @@ -8637,19 +8338,25 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/ListStaleSplits" => { #[allow(non_camel_case_types)] struct ListStaleSplitsSvc(pub Arc); - impl - tonic::server::UnaryService - for ListStaleSplitsSvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for ListStaleSplitsSvc { type Response = super::ListSplitsResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::list_stale_splits(&inner, request) + ::list_stale_splits( + &inner, + request, + ) .await }; Box::pin(fut) @@ -8680,18 +8387,23 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/OpenShards" => { #[allow(non_camel_case_types)] struct OpenShardsSvc(pub Arc); - impl - tonic::server::UnaryService for OpenShardsSvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for OpenShardsSvc { type Response = super::OpenShardsResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::open_shards(&inner, request).await + ::open_shards(&inner, request) + .await }; Box::pin(fut) } @@ -8721,19 +8433,23 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/AcquireShards" => { #[allow(non_camel_case_types)] struct AcquireShardsSvc(pub Arc); - impl - tonic::server::UnaryService - for AcquireShardsSvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for AcquireShardsSvc { type Response = super::AcquireShardsResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::acquire_shards(&inner, request).await + ::acquire_shards(&inner, request) + .await }; Box::pin(fut) } @@ -8763,19 +8479,23 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/DeleteShards" => { #[allow(non_camel_case_types)] struct DeleteShardsSvc(pub Arc); - impl - tonic::server::UnaryService - for DeleteShardsSvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for DeleteShardsSvc { type Response = super::DeleteShardsResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::delete_shards(&inner, request).await + ::delete_shards(&inner, request) + .await }; Box::pin(fut) } @@ -8805,19 +8525,23 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/PruneShards" => { #[allow(non_camel_case_types)] struct PruneShardsSvc(pub Arc); - impl - tonic::server::UnaryService - for PruneShardsSvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for PruneShardsSvc { type Response = super::EmptyResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::prune_shards(&inner, request).await + ::prune_shards(&inner, request) + .await }; Box::pin(fut) } @@ -8847,18 +8571,23 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/ListShards" => { #[allow(non_camel_case_types)] struct ListShardsSvc(pub Arc); - impl - tonic::server::UnaryService for ListShardsSvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for ListShardsSvc { type Response = super::ListShardsResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::list_shards(&inner, request).await + ::list_shards(&inner, request) + .await }; Box::pin(fut) } @@ -8888,19 +8617,25 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/CreateIndexTemplate" => { #[allow(non_camel_case_types)] struct CreateIndexTemplateSvc(pub Arc); - impl - tonic::server::UnaryService - for CreateIndexTemplateSvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for CreateIndexTemplateSvc { type Response = super::EmptyResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::create_index_template(&inner, request) + ::create_index_template( + &inner, + request, + ) .await }; Box::pin(fut) @@ -8931,19 +8666,25 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/GetIndexTemplate" => { #[allow(non_camel_case_types)] struct GetIndexTemplateSvc(pub Arc); - impl - tonic::server::UnaryService - for GetIndexTemplateSvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for GetIndexTemplateSvc { type Response = super::GetIndexTemplateResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::get_index_template(&inner, request) + ::get_index_template( + &inner, + request, + ) .await }; Box::pin(fut) @@ -8973,23 +8714,31 @@ pub mod metastore_service_grpc_server { } "/quickwit.metastore.MetastoreService/FindIndexTemplateMatches" => { #[allow(non_camel_case_types)] - struct FindIndexTemplateMatchesSvc(pub Arc); - impl - tonic::server::UnaryService - for FindIndexTemplateMatchesSvc - { + struct FindIndexTemplateMatchesSvc( + pub Arc, + ); + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for FindIndexTemplateMatchesSvc { type Response = super::FindIndexTemplateMatchesResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, - request: tonic::Request, + request: tonic::Request< + super::FindIndexTemplateMatchesRequest, + >, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { ::find_index_template_matches( - &inner, request, - ) - .await + &inner, + request, + ) + .await }; Box::pin(fut) } @@ -9019,19 +8768,25 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/ListIndexTemplates" => { #[allow(non_camel_case_types)] struct ListIndexTemplatesSvc(pub Arc); - impl - tonic::server::UnaryService - for ListIndexTemplatesSvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for ListIndexTemplatesSvc { type Response = super::ListIndexTemplatesResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::list_index_templates(&inner, request) + ::list_index_templates( + &inner, + request, + ) .await }; Box::pin(fut) @@ -9062,19 +8817,25 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/DeleteIndexTemplates" => { #[allow(non_camel_case_types)] struct DeleteIndexTemplatesSvc(pub Arc); - impl - tonic::server::UnaryService - for DeleteIndexTemplatesSvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for DeleteIndexTemplatesSvc { type Response = super::EmptyResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::delete_index_templates(&inner, request) + ::delete_index_templates( + &inner, + request, + ) .await }; Box::pin(fut) @@ -9105,19 +8866,25 @@ pub mod metastore_service_grpc_server { "/quickwit.metastore.MetastoreService/GetClusterIdentity" => { #[allow(non_camel_case_types)] struct GetClusterIdentitySvc(pub Arc); - impl - tonic::server::UnaryService - for GetClusterIdentitySvc - { + impl< + T: MetastoreServiceGrpc, + > tonic::server::UnaryService + for GetClusterIdentitySvc { type Response = super::GetClusterIdentityResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::get_cluster_identity(&inner, request) + ::get_cluster_identity( + &inner, + request, + ) .await }; Box::pin(fut) @@ -9145,19 +8912,25 @@ pub mod metastore_service_grpc_server { }; Box::pin(fut) } - _ => Box::pin(async move { - let mut response = http::Response::new(tonic::body::Body::default()); - let headers = response.headers_mut(); - headers.insert( - tonic::Status::GRPC_STATUS, - (tonic::Code::Unimplemented as i32).into(), - ); - headers.insert( - http::header::CONTENT_TYPE, - tonic::metadata::GRPC_CONTENT_TYPE, - ); - Ok(response) - }), + _ => { + Box::pin(async move { + let mut response = http::Response::new( + tonic::body::Body::default(), + ); + let headers = response.headers_mut(); + headers + .insert( + tonic::Status::GRPC_STATUS, + (tonic::Code::Unimplemented as i32).into(), + ); + headers + .insert( + http::header::CONTENT_TYPE, + tonic::metadata::GRPC_CONTENT_TYPE, + ); + Ok(response) + }) + } } } } diff --git a/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.search.rs b/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.search.rs index 181592a0eb4..e1201ce7a0e 100644 --- a/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.search.rs +++ b/quickwit/quickwit-proto/src/codegen/quickwit/quickwit.search.rs @@ -1,15 +1,7 @@ // This file is @generated by prost-build. /// / Scroll Request -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ScrollRequest { /// / The `scroll_id` is the given in the response of a search request including a scroll. #[prost(string, tag = "1")] @@ -17,16 +9,8 @@ pub struct ScrollRequest { #[prost(uint32, optional, tag = "2")] pub scroll_ttl_secs: ::core::option::Option, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct PutKvRequest { #[prost(bytes = "vec", tag = "1")] pub key: ::prost::alloc::vec::Vec, @@ -35,56 +19,23 @@ pub struct PutKvRequest { #[prost(uint32, tag = "3")] pub ttl_secs: u32, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - Copy, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct PutKvResponse {} -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct GetKvRequest { #[prost(bytes = "vec", tag = "1")] pub key: ::prost::alloc::vec::Vec, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct GetKvResponse { #[prost(bytes = "vec", optional, tag = "1")] pub payload: ::core::option::Option<::prost::alloc::vec::Vec>, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ReportSplit { /// Split id (ULID format `01HAV29D4XY3D462FS3D8K5Q2H`) #[prost(string, tag = "2")] @@ -93,35 +44,17 @@ pub struct ReportSplit { #[prost(string, tag = "1")] pub storage_uri: ::prost::alloc::string::String, } -#[derive( - serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct ReportSplitsRequest { #[prost(message, repeated, tag = "1")] pub report_splits: ::prost::alloc::vec::Vec, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - Copy, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct ReportSplitsResponse {} -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ListFieldsRequest { /// Index ID patterns #[prost(string, repeated, tag = "1")] @@ -138,9 +71,8 @@ pub struct ListFieldsRequest { #[prost(int64, optional, tag = "4")] pub end_timestamp: ::core::option::Option, } -#[derive( - serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct LeafListFieldsRequest { /// The index id #[prost(string, tag = "1")] @@ -157,23 +89,14 @@ pub struct LeafListFieldsRequest { #[prost(string, repeated, tag = "4")] pub fields: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } -#[derive( - serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct ListFieldsResponse { #[prost(message, repeated, tag = "1")] pub fields: ::prost::alloc::vec::Vec, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ListFieldsEntryResponse { #[prost(string, tag = "1")] pub field_name: ::prost::alloc::string::String, @@ -192,28 +115,24 @@ pub struct ListFieldsEntryResponse { pub aggregatable: bool, /// The index ids the field exists, but is not searchable. #[prost(string, repeated, tag = "6")] - pub non_searchable_index_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + pub non_searchable_index_ids: ::prost::alloc::vec::Vec< + ::prost::alloc::string::String, + >, /// The index ids the field exists, but is not aggregatable #[prost(string, repeated, tag = "7")] - pub non_aggregatable_index_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + pub non_aggregatable_index_ids: ::prost::alloc::vec::Vec< + ::prost::alloc::string::String, + >, } -#[derive( - serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct ListFields { #[prost(message, repeated, tag = "1")] pub fields: ::prost::alloc::vec::Vec, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Hash, - Eq, - Clone, - PartialEq, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Hash, Eq)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct SearchRequest { /// Index ID patterns #[prost(string, repeated, tag = "1")] @@ -267,16 +186,8 @@ pub struct SearchRequest { #[prost(bool, tag = "18")] pub ignore_missing_indexes: bool, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct SortField { #[prost(string, tag = "1")] pub field_name: ::prost::alloc::string::String, @@ -288,9 +199,8 @@ pub struct SortField { #[prost(enumeration = "SortDatetimeFormat", optional, tag = "3")] pub sort_datetime_format: ::core::option::Option, } -#[derive( - serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct SearchResponse { /// Number of hits matching the query. #[prost(uint64, tag = "1")] @@ -323,30 +233,14 @@ pub struct SearchResponse { #[prost(uint64, tag = "8")] pub num_successful_splits: u64, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct SearchPlanResponse { #[prost(string, tag = "1")] pub result: ::prost::alloc::string::String, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct SplitSearchError { /// The searcherror that occurred formatted as string. #[prost(string, tag = "1")] @@ -360,9 +254,8 @@ pub struct SplitSearchError { } /// / A LeafSearchRequest can span multiple indices. /// / -#[derive( - serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct LeafSearchRequest { /// Search request. This is a perfect copy of the original search request /// that was sent to root apart from the start_offset, max_hits params and index_id_patterns. @@ -381,17 +274,8 @@ pub struct LeafSearchRequest { #[prost(string, repeated, tag = "9")] pub index_uris: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - Copy, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct ResourceStats { #[prost(uint64, tag = "1")] pub short_lived_cache_num_bytes: u64, @@ -405,9 +289,8 @@ pub struct ResourceStats { pub cpu_microsecs: u64, } /// / LeafRequestRef references data in LeafSearchRequest to deduplicate data. -#[derive( - serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct LeafRequestRef { /// The ordinal of the doc_mapper in `LeafSearchRequest.doc_mappers` #[prost(uint32, tag = "1")] @@ -420,16 +303,8 @@ pub struct LeafRequestRef { #[prost(message, repeated, tag = "3")] pub split_offsets: ::prost::alloc::vec::Vec, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct SplitIdAndFooterOffsets { /// Index split id to apply the query on. /// This id is resolved from the index_uri defined in the search_request. @@ -465,9 +340,8 @@ pub struct SplitIdAndFooterOffsets { /// flattened by concatenating the path to the root. /// /// See `quickwit_search::convert_leaf_hit` -#[derive( - serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct LeafHit { /// The actual content of the hit/ #[prost(string, tag = "1")] @@ -479,9 +353,8 @@ pub struct LeafHit { #[prost(string, optional, tag = "3")] pub leaf_snippet_json: ::core::option::Option<::prost::alloc::string::String>, } -#[derive( - serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct Hit { /// The actual content of the hit #[prost(string, tag = "1")] @@ -512,16 +385,9 @@ pub struct Hit { /// * the split_id, /// * the segment_ord, /// * the doc id. -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Hash, - Eq, - Clone, - PartialEq, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Hash, Eq)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct PartialHit { #[prost(message, optional, tag = "10")] pub sort_value: ::core::option::Option, @@ -537,17 +403,9 @@ pub struct PartialHit { #[prost(uint32, tag = "4")] pub doc_id: u32, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Ord, - PartialOrd, - Clone, - Copy, - PartialEq, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Ord, PartialOrd)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] pub struct SortByValue { #[prost(oneof = "sort_by_value::SortValue", tags = "1, 2, 3, 4")] pub sort_value: ::core::option::Option, @@ -568,9 +426,8 @@ pub mod sort_by_value { Boolean(bool), } } -#[derive( - serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct LeafSearchResponse { /// Total number of documents matched by the query. #[prost(uint64, tag = "1")] @@ -593,29 +450,22 @@ pub struct LeafSearchResponse { pub num_successful_splits: u64, /// postcard serialized intermediate aggregation_result. #[prost(bytes = "vec", optional, tag = "6")] - pub intermediate_aggregation_result: ::core::option::Option<::prost::alloc::vec::Vec>, + pub intermediate_aggregation_result: ::core::option::Option< + ::prost::alloc::vec::Vec, + >, #[prost(message, optional, tag = "8")] pub resource_stats: ::core::option::Option, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct SnippetRequest { #[prost(string, repeated, tag = "1")] pub snippet_fields: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, #[prost(string, tag = "2")] pub query_ast_resolved: ::prost::alloc::string::String, } -#[derive( - serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct FetchDocsRequest { /// Request fetching the content of a given list of partial_hits. #[prost(message, repeated, tag = "1")] @@ -635,24 +485,15 @@ pub struct FetchDocsRequest { #[prost(string, tag = "6")] pub doc_mapper: ::prost::alloc::string::String, } -#[derive( - serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct FetchDocsResponse { /// List of complete hits. #[prost(message, repeated, tag = "1")] pub hits: ::prost::alloc::vec::Vec, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ListTermsRequest { /// Index ID patterns #[prost(string, repeated, tag = "1")] @@ -674,16 +515,8 @@ pub struct ListTermsRequest { #[prost(bytes = "vec", optional, tag = "8")] pub end_key: ::core::option::Option<::prost::alloc::vec::Vec>, } -#[derive( - serde::Serialize, - serde::Deserialize, - utoipa::ToSchema, - Clone, - PartialEq, - Eq, - Hash, - ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ListTermsResponse { /// Number of hits matching the query. #[prost(uint64, tag = "1")] @@ -699,9 +532,8 @@ pub struct ListTermsResponse { #[prost(string, repeated, tag = "4")] pub errors: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } -#[derive( - serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct LeafListTermsRequest { /// Search request. This is a perfect copy of the original list request, #[prost(message, optional, tag = "1")] @@ -715,9 +547,8 @@ pub struct LeafListTermsRequest { #[prost(string, tag = "3")] pub index_uri: ::prost::alloc::string::String, } -#[derive( - serde::Serialize, serde::Deserialize, utoipa::ToSchema, Clone, PartialEq, ::prost::Message, -)] +#[derive(serde::Serialize, serde::Deserialize, utoipa::ToSchema)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct LeafListTermsResponse { /// Total number of documents matched by the query. #[prost(uint64, tag = "1")] @@ -885,10 +716,10 @@ pub mod search_service_client { dead_code, missing_docs, clippy::wildcard_imports, - clippy::let_unit_value + clippy::let_unit_value, )] - use tonic::codegen::http::Uri; use tonic::codegen::*; + use tonic::codegen::http::Uri; #[derive(Debug, Clone)] pub struct SearchServiceClient { inner: tonic::client::Grpc, @@ -927,13 +758,14 @@ pub mod search_service_client { F: tonic::service::Interceptor, T::ResponseBody: Default, T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, + http::Request, + Response = http::Response< + >::ResponseBody, >, - >>::Error: - Into + std::marker::Send + std::marker::Sync, + >, + , + >>::Error: Into + std::marker::Send + std::marker::Sync, { SearchServiceClient::new(InterceptedService::new(inner, interceptor)) } @@ -977,17 +809,21 @@ pub mod search_service_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/quickwit.search.SearchService/RootSearch"); + let path = http::uri::PathAndQuery::from_static( + "/quickwit.search.SearchService/RootSearch", + ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.search.SearchService", - "RootSearch", - )); + req.extensions_mut() + .insert(GrpcMethod::new("quickwit.search.SearchService", "RootSearch")); self.inner.unary(req, path, codec).await } /// Perform a leaf search on a given set of splits. @@ -1001,19 +837,25 @@ pub mod search_service_client { pub async fn leaf_search( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/quickwit.search.SearchService/LeafSearch"); + let path = http::uri::PathAndQuery::from_static( + "/quickwit.search.SearchService/LeafSearch", + ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.search.SearchService", - "LeafSearch", - )); + req.extensions_mut() + .insert(GrpcMethod::new("quickwit.search.SearchService", "LeafSearch")); self.inner.unary(req, path, codec).await } /// / Fetches the documents contents from the document store. @@ -1021,18 +863,25 @@ pub mod search_service_client { pub async fn fetch_docs( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/quickwit.search.SearchService/FetchDocs"); + let path = http::uri::PathAndQuery::from_static( + "/quickwit.search.SearchService/FetchDocs", + ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.search.SearchService", - "FetchDocs", - )); + req.extensions_mut() + .insert(GrpcMethod::new("quickwit.search.SearchService", "FetchDocs")); self.inner.unary(req, path, codec).await } /// Root list terms API. @@ -1043,19 +892,27 @@ pub mod search_service_client { pub async fn root_list_terms( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.search.SearchService/RootListTerms", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.search.SearchService", - "RootListTerms", - )); + req.extensions_mut() + .insert( + GrpcMethod::new("quickwit.search.SearchService", "RootListTerms"), + ); self.inner.unary(req, path, codec).await } /// Performs a leaf list terms on a given set of splits. @@ -1068,20 +925,27 @@ pub mod search_service_client { pub async fn leaf_list_terms( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.search.SearchService/LeafListTerms", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.search.SearchService", - "LeafListTerms", - )); + req.extensions_mut() + .insert( + GrpcMethod::new("quickwit.search.SearchService", "LeafListTerms"), + ); self.inner.unary(req, path, codec).await } /// Performs a scroll request. @@ -1089,12 +953,18 @@ pub mod search_service_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/quickwit.search.SearchService/Scroll"); + let path = http::uri::PathAndQuery::from_static( + "/quickwit.search.SearchService/Scroll", + ); let mut req = request.into_request(); req.extensions_mut() .insert(GrpcMethod::new("quickwit.search.SearchService", "Scroll")); @@ -1106,11 +976,18 @@ pub mod search_service_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static("/quickwit.search.SearchService/PutKV"); + let path = http::uri::PathAndQuery::from_static( + "/quickwit.search.SearchService/PutKV", + ); let mut req = request.into_request(); req.extensions_mut() .insert(GrpcMethod::new("quickwit.search.SearchService", "PutKV")); @@ -1122,11 +999,18 @@ pub mod search_service_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static("/quickwit.search.SearchService/GetKV"); + let path = http::uri::PathAndQuery::from_static( + "/quickwit.search.SearchService/GetKV", + ); let mut req = request.into_request(); req.extensions_mut() .insert(GrpcMethod::new("quickwit.search.SearchService", "GetKV")); @@ -1135,75 +1019,102 @@ pub mod search_service_client { pub async fn report_splits( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/quickwit.search.SearchService/ReportSplits"); + let path = http::uri::PathAndQuery::from_static( + "/quickwit.search.SearchService/ReportSplits", + ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.search.SearchService", - "ReportSplits", - )); + req.extensions_mut() + .insert( + GrpcMethod::new("quickwit.search.SearchService", "ReportSplits"), + ); self.inner.unary(req, path, codec).await } pub async fn list_fields( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/quickwit.search.SearchService/ListFields"); + let path = http::uri::PathAndQuery::from_static( + "/quickwit.search.SearchService/ListFields", + ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.search.SearchService", - "ListFields", - )); + req.extensions_mut() + .insert(GrpcMethod::new("quickwit.search.SearchService", "ListFields")); self.inner.unary(req, path, codec).await } pub async fn leaf_list_fields( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/quickwit.search.SearchService/LeafListFields", ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.search.SearchService", - "LeafListFields", - )); + req.extensions_mut() + .insert( + GrpcMethod::new("quickwit.search.SearchService", "LeafListFields"), + ); self.inner.unary(req, path, codec).await } /// Describe how a search would be processed. pub async fn search_plan( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; let codec = tonic_prost::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/quickwit.search.SearchService/SearchPlan"); + let path = http::uri::PathAndQuery::from_static( + "/quickwit.search.SearchService/SearchPlan", + ); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "quickwit.search.SearchService", - "SearchPlan", - )); + req.extensions_mut() + .insert(GrpcMethod::new("quickwit.search.SearchService", "SearchPlan")); self.inner.unary(req, path, codec).await } } @@ -1215,7 +1126,7 @@ pub mod search_service_server { dead_code, missing_docs, clippy::wildcard_imports, - clippy::let_unit_value + clippy::let_unit_value, )] use tonic::codegen::*; /// Generated trait containing gRPC methods that should be implemented for use with SearchServiceServer. @@ -1241,13 +1152,19 @@ pub mod search_service_server { async fn leaf_search( &self, request: tonic::Request, - ) -> std::result::Result, tonic::Status>; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; /// / Fetches the documents contents from the document store. /// / This methods takes `PartialHit`s and returns `Hit`s. async fn fetch_docs( &self, request: tonic::Request, - ) -> std::result::Result, tonic::Status>; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; /// Root list terms API. /// This RPC identifies the set of splits on which the query should run on, /// and dispatches the several calls to `LeafListTerms`. @@ -1256,7 +1173,10 @@ pub mod search_service_server { async fn root_list_terms( &self, request: tonic::Request, - ) -> std::result::Result, tonic::Status>; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; /// Performs a leaf list terms on a given set of splits. /// /// It is like a regular list term except that: @@ -1267,7 +1187,10 @@ pub mod search_service_server { async fn leaf_list_terms( &self, request: tonic::Request, - ) -> std::result::Result, tonic::Status>; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; /// Performs a scroll request. async fn scroll( &self, @@ -1288,20 +1211,32 @@ pub mod search_service_server { async fn report_splits( &self, request: tonic::Request, - ) -> std::result::Result, tonic::Status>; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; async fn list_fields( &self, request: tonic::Request, - ) -> std::result::Result, tonic::Status>; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; async fn leaf_list_fields( &self, request: tonic::Request, - ) -> std::result::Result, tonic::Status>; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; /// Describe how a search would be processed. async fn search_plan( &self, request: tonic::Request, - ) -> std::result::Result, tonic::Status>; + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; } #[derive(Debug)] pub struct SearchServiceServer { @@ -1324,7 +1259,10 @@ pub mod search_service_server { max_encoding_message_size: None, } } - pub fn with_interceptor(inner: T, interceptor: F) -> InterceptedService + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService where F: tonic::service::Interceptor, { @@ -1379,9 +1317,15 @@ pub mod search_service_server { "/quickwit.search.SearchService/RootSearch" => { #[allow(non_camel_case_types)] struct RootSearchSvc(pub Arc); - impl tonic::server::UnaryService for RootSearchSvc { + impl< + T: SearchService, + > tonic::server::UnaryService + for RootSearchSvc { type Response = super::SearchResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, @@ -1418,9 +1362,15 @@ pub mod search_service_server { "/quickwit.search.SearchService/LeafSearch" => { #[allow(non_camel_case_types)] struct LeafSearchSvc(pub Arc); - impl tonic::server::UnaryService for LeafSearchSvc { + impl< + T: SearchService, + > tonic::server::UnaryService + for LeafSearchSvc { type Response = super::LeafSearchResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, @@ -1457,9 +1407,15 @@ pub mod search_service_server { "/quickwit.search.SearchService/FetchDocs" => { #[allow(non_camel_case_types)] struct FetchDocsSvc(pub Arc); - impl tonic::server::UnaryService for FetchDocsSvc { + impl< + T: SearchService, + > tonic::server::UnaryService + for FetchDocsSvc { type Response = super::FetchDocsResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, @@ -1496,11 +1452,15 @@ pub mod search_service_server { "/quickwit.search.SearchService/RootListTerms" => { #[allow(non_camel_case_types)] struct RootListTermsSvc(pub Arc); - impl tonic::server::UnaryService - for RootListTermsSvc - { + impl< + T: SearchService, + > tonic::server::UnaryService + for RootListTermsSvc { type Response = super::ListTermsResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, @@ -1537,11 +1497,15 @@ pub mod search_service_server { "/quickwit.search.SearchService/LeafListTerms" => { #[allow(non_camel_case_types)] struct LeafListTermsSvc(pub Arc); - impl tonic::server::UnaryService - for LeafListTermsSvc - { + impl< + T: SearchService, + > tonic::server::UnaryService + for LeafListTermsSvc { type Response = super::LeafListTermsResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, @@ -1578,16 +1542,23 @@ pub mod search_service_server { "/quickwit.search.SearchService/Scroll" => { #[allow(non_camel_case_types)] struct ScrollSvc(pub Arc); - impl tonic::server::UnaryService for ScrollSvc { + impl< + T: SearchService, + > tonic::server::UnaryService + for ScrollSvc { type Response = super::SearchResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); - let fut = - async move { ::scroll(&inner, request).await }; + let fut = async move { + ::scroll(&inner, request).await + }; Box::pin(fut) } } @@ -1616,16 +1587,22 @@ pub mod search_service_server { "/quickwit.search.SearchService/PutKV" => { #[allow(non_camel_case_types)] struct PutKVSvc(pub Arc); - impl tonic::server::UnaryService for PutKVSvc { + impl< + T: SearchService, + > tonic::server::UnaryService for PutKVSvc { type Response = super::PutKvResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); - let fut = - async move { ::put_kv(&inner, request).await }; + let fut = async move { + ::put_kv(&inner, request).await + }; Box::pin(fut) } } @@ -1654,16 +1631,22 @@ pub mod search_service_server { "/quickwit.search.SearchService/GetKV" => { #[allow(non_camel_case_types)] struct GetKVSvc(pub Arc); - impl tonic::server::UnaryService for GetKVSvc { + impl< + T: SearchService, + > tonic::server::UnaryService for GetKVSvc { type Response = super::GetKvResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); - let fut = - async move { ::get_kv(&inner, request).await }; + let fut = async move { + ::get_kv(&inner, request).await + }; Box::pin(fut) } } @@ -1692,11 +1675,15 @@ pub mod search_service_server { "/quickwit.search.SearchService/ReportSplits" => { #[allow(non_camel_case_types)] struct ReportSplitsSvc(pub Arc); - impl tonic::server::UnaryService - for ReportSplitsSvc - { + impl< + T: SearchService, + > tonic::server::UnaryService + for ReportSplitsSvc { type Response = super::ReportSplitsResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, @@ -1733,9 +1720,15 @@ pub mod search_service_server { "/quickwit.search.SearchService/ListFields" => { #[allow(non_camel_case_types)] struct ListFieldsSvc(pub Arc); - impl tonic::server::UnaryService for ListFieldsSvc { + impl< + T: SearchService, + > tonic::server::UnaryService + for ListFieldsSvc { type Response = super::ListFieldsResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, @@ -1772,18 +1765,23 @@ pub mod search_service_server { "/quickwit.search.SearchService/LeafListFields" => { #[allow(non_camel_case_types)] struct LeafListFieldsSvc(pub Arc); - impl tonic::server::UnaryService - for LeafListFieldsSvc - { + impl< + T: SearchService, + > tonic::server::UnaryService + for LeafListFieldsSvc { type Response = super::ListFieldsResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::leaf_list_fields(&inner, request).await + ::leaf_list_fields(&inner, request) + .await }; Box::pin(fut) } @@ -1813,9 +1811,15 @@ pub mod search_service_server { "/quickwit.search.SearchService/SearchPlan" => { #[allow(non_camel_case_types)] struct SearchPlanSvc(pub Arc); - impl tonic::server::UnaryService for SearchPlanSvc { + impl< + T: SearchService, + > tonic::server::UnaryService + for SearchPlanSvc { type Response = super::SearchPlanResponse; - type Future = BoxFuture, tonic::Status>; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; fn call( &mut self, request: tonic::Request, @@ -1849,19 +1853,25 @@ pub mod search_service_server { }; Box::pin(fut) } - _ => Box::pin(async move { - let mut response = http::Response::new(tonic::body::Body::default()); - let headers = response.headers_mut(); - headers.insert( - tonic::Status::GRPC_STATUS, - (tonic::Code::Unimplemented as i32).into(), - ); - headers.insert( - http::header::CONTENT_TYPE, - tonic::metadata::GRPC_CONTENT_TYPE, - ); - Ok(response) - }), + _ => { + Box::pin(async move { + let mut response = http::Response::new( + tonic::body::Body::default(), + ); + let headers = response.headers_mut(); + headers + .insert( + tonic::Status::GRPC_STATUS, + (tonic::Code::Unimplemented as i32).into(), + ); + headers + .insert( + http::header::CONTENT_TYPE, + tonic::metadata::GRPC_CONTENT_TYPE, + ); + Ok(response) + }) + } } } } From 23d4d5d647888935f57c439b3dbd034332deb43a Mon Sep 17 00:00:00 2001 From: "cong.xie" Date: Fri, 19 Dec 2025 14:18:38 -0500 Subject: [PATCH 20/20] allow doc_lazy_continuation for clippy --- quickwit/quickwit-proto/src/lib.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/quickwit/quickwit-proto/src/lib.rs b/quickwit/quickwit-proto/src/lib.rs index 620faccbe76..a7ace65ac03 100644 --- a/quickwit/quickwit-proto/src/lib.rs +++ b/quickwit/quickwit-proto/src/lib.rs @@ -14,6 +14,7 @@ #![allow(clippy::derive_partial_eq_without_eq)] #![allow(clippy::disallowed_methods)] +#![allow(clippy::doc_lazy_continuation)] #![allow(rustdoc::invalid_html_tags)] use std::cmp::Ordering;