chore: Update deps (including arrow 5.1.0, tonic -> 0.5, and prost 0.5) (#2172)
* chore: Update deps (including arrow 5.0.0 --> arrow 5.1.0) * chore: update all the things * refactor: Update serving readiness check due to change in Tonic API * chore: update more deps Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>pull/24376/head
parent
9fc8141362
commit
e92e94caad
|
|
@ -66,9 +66,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "alloc-no-stdlib"
|
||||
version = "2.0.1"
|
||||
version = "2.0.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5192ec435945d87bc2f70992b4d818154b5feede43c09fb7592146374eac90a6"
|
||||
checksum = "35ef4730490ad1c4eae5c4325b2a95f521d023e5c885853ff7aca0a6a1631db3"
|
||||
|
||||
[[package]]
|
||||
name = "alloc-stdlib"
|
||||
|
|
@ -126,9 +126,9 @@ checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
|
|||
|
||||
[[package]]
|
||||
name = "arrow"
|
||||
version = "5.0.0"
|
||||
version = "5.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "06d2bd50fddbdcecd832742b388228eec02eb3aabd33144ef46f6bc5420bf662"
|
||||
checksum = "ddf189dff0c7e0f40588fc25adbe5bb6837b82fc61bb7cadf5d76de030f710bb"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"chrono",
|
||||
|
|
@ -150,19 +150,19 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "arrow-flight"
|
||||
version = "5.0.0"
|
||||
version = "5.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "628b4735031e1d5e41c7c1f210ad233ab942adcf155edcba05c3e6d762062349"
|
||||
checksum = "947ab99b9dc270706b1a4bd8109628416dc52348f1645075fcc19fe6b9819055"
|
||||
dependencies = [
|
||||
"arrow",
|
||||
"base64 0.13.0",
|
||||
"bytes",
|
||||
"proc-macro2",
|
||||
"prost",
|
||||
"prost-derive",
|
||||
"prost 0.8.0",
|
||||
"prost-derive 0.8.0",
|
||||
"tokio",
|
||||
"tonic",
|
||||
"tonic-build",
|
||||
"tonic 0.5.0",
|
||||
"tonic-build 0.5.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -191,9 +191,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "assert_cmd"
|
||||
version = "1.0.7"
|
||||
version = "1.0.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3d20831bd004dda4c7c372c19cdabff369f794a95e955b3f13fe460e3e1ae95f"
|
||||
checksum = "c98233c6673d8601ab23e77eb38f999c51100d46c5703b17288c57fddf3a1ffe"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
"doc-comment",
|
||||
|
|
@ -409,9 +409,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "brotli"
|
||||
version = "3.3.0"
|
||||
version = "3.3.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7f29919120f08613aadcd4383764e00526fc9f18b6c0895814faeed0dd78613e"
|
||||
checksum = "71cb90ade945043d3d53597b2fc359bb063db8ade2bcffe7997351d0756e9d50"
|
||||
dependencies = [
|
||||
"alloc-no-stdlib",
|
||||
"alloc-stdlib",
|
||||
|
|
@ -420,9 +420,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "brotli-decompressor"
|
||||
version = "2.3.1"
|
||||
version = "2.3.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1052e1c3b8d4d80eb84a8b94f0a1498797b5fb96314c001156a1c761940ef4ec"
|
||||
checksum = "59ad2d4653bf5ca36ae797b1f4bb4dbddb60ce49ca4aed8a2ce4829f60425b80"
|
||||
dependencies = [
|
||||
"alloc-no-stdlib",
|
||||
"alloc-stdlib",
|
||||
|
|
@ -727,9 +727,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "crossbeam-deque"
|
||||
version = "0.8.0"
|
||||
version = "0.8.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "94af6efb46fef72616855b036a624cf27ba656ffc9be1b9a3c931cfc7749a9a9"
|
||||
checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"crossbeam-epoch",
|
||||
|
|
@ -847,7 +847,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "datafusion"
|
||||
version = "4.0.0-SNAPSHOT"
|
||||
source = "git+https://github.com/apache/arrow-datafusion.git?rev=2bcf04017d710a6b8684617e81a64c9db1184f5c#2bcf04017d710a6b8684617e81a64c9db1184f5c"
|
||||
source = "git+https://github.com/apache/arrow-datafusion.git?rev=a5a58c4f23720eda63b02a6cad2902b715288db6#a5a58c4f23720eda63b02a6cad2902b715288db6"
|
||||
dependencies = [
|
||||
"ahash 0.7.4",
|
||||
"arrow",
|
||||
|
|
@ -1287,15 +1287,15 @@ dependencies = [
|
|||
"num_cpus",
|
||||
"observability_deps",
|
||||
"proc-macro2",
|
||||
"prost",
|
||||
"prost-build",
|
||||
"prost-types",
|
||||
"prost 0.8.0",
|
||||
"prost-build 0.8.0",
|
||||
"prost-types 0.8.0",
|
||||
"regex",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"thiserror",
|
||||
"tonic",
|
||||
"tonic-build",
|
||||
"tonic 0.5.0",
|
||||
"tonic-build 0.5.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -1348,8 +1348,8 @@ version = "0.1.0"
|
|||
dependencies = [
|
||||
"bytes",
|
||||
"chrono",
|
||||
"prost",
|
||||
"prost-build",
|
||||
"prost 0.8.0",
|
||||
"prost-build 0.8.0",
|
||||
"serde",
|
||||
]
|
||||
|
||||
|
|
@ -1363,15 +1363,15 @@ dependencies = [
|
|||
"grpc-router-test-gen",
|
||||
"observability_deps",
|
||||
"paste 1.0.5",
|
||||
"prost",
|
||||
"prost-build",
|
||||
"prost-types",
|
||||
"prost 0.8.0",
|
||||
"prost-build 0.8.0",
|
||||
"prost-types 0.8.0",
|
||||
"thiserror",
|
||||
"tokio",
|
||||
"tokio-stream",
|
||||
"tokio-util",
|
||||
"tonic",
|
||||
"tonic-build",
|
||||
"tonic 0.5.0",
|
||||
"tonic-build 0.5.1",
|
||||
"tonic-reflection",
|
||||
]
|
||||
|
||||
|
|
@ -1379,11 +1379,11 @@ dependencies = [
|
|||
name = "grpc-router-test-gen"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"prost",
|
||||
"prost-build",
|
||||
"prost-types",
|
||||
"tonic",
|
||||
"tonic-build",
|
||||
"prost 0.8.0",
|
||||
"prost-build 0.8.0",
|
||||
"prost-types 0.8.0",
|
||||
"tonic 0.5.0",
|
||||
"tonic-build 0.5.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -1541,6 +1541,18 @@ dependencies = [
|
|||
"webpki",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hyper-timeout"
|
||||
version = "0.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1"
|
||||
dependencies = [
|
||||
"hyper",
|
||||
"pin-project-lite",
|
||||
"tokio",
|
||||
"tokio-io-timeout",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hyper-tls"
|
||||
version = "0.5.0"
|
||||
|
|
@ -1657,7 +1669,7 @@ dependencies = [
|
|||
"pprof",
|
||||
"predicates 1.0.8",
|
||||
"prettytable-rs",
|
||||
"prost",
|
||||
"prost 0.8.0",
|
||||
"query",
|
||||
"rand 0.8.4",
|
||||
"rdkafka",
|
||||
|
|
@ -1680,10 +1692,10 @@ dependencies = [
|
|||
"tokio",
|
||||
"tokio-stream",
|
||||
"tokio-util",
|
||||
"tonic",
|
||||
"tonic 0.5.0",
|
||||
"tonic-health",
|
||||
"tonic-reflection",
|
||||
"tracing-opentelemetry",
|
||||
"tracing-opentelemetry 0.12.0",
|
||||
"tracker",
|
||||
"trogging",
|
||||
"uuid",
|
||||
|
|
@ -1701,13 +1713,13 @@ dependencies = [
|
|||
"generated_types",
|
||||
"http",
|
||||
"hyper",
|
||||
"prost",
|
||||
"prost 0.8.0",
|
||||
"rand 0.8.4",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"thiserror",
|
||||
"tokio",
|
||||
"tonic",
|
||||
"tonic 0.5.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -1795,18 +1807,18 @@ checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736"
|
|||
|
||||
[[package]]
|
||||
name = "jobserver"
|
||||
version = "0.1.22"
|
||||
version = "0.1.23"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "972f5ae5d1cb9c6ae417789196c803205313edde988685da5e3aae0827b9e7fd"
|
||||
checksum = "f5ca711fd837261e14ec9e674f092cbb931d3fa1482b017ae59328ddc6f3212b"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "js-sys"
|
||||
version = "0.3.51"
|
||||
version = "0.3.52"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "83bdfbace3a0e81a4253f73b49e960b053e396a11012cbd49b9b74d6a2b67062"
|
||||
checksum = "ce791b7ca6638aae45be056e068fc756d871eb3b3b10b8efa62d1c9cec616752"
|
||||
dependencies = [
|
||||
"wasm-bindgen",
|
||||
]
|
||||
|
|
@ -2308,9 +2320,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "num_enum"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e5adf0198d427ee515335639f275e806ca01acf9f07d7cf14bb36a10532a6169"
|
||||
checksum = "ee2c8fd66061a707503d515639b8af10fd3807a5b5ee6959f7ff1bd303634bd5"
|
||||
dependencies = [
|
||||
"derivative",
|
||||
"num_enum_derive",
|
||||
|
|
@ -2318,9 +2330,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "num_enum_derive"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b1def5a3f69d4707d8a040b12785b98029a39e8c610ae685c7f6265669767482"
|
||||
checksum = "474fd1d096da3ad17084694eebed40ba09c4a36c5255cd772bd8b98859cc562e"
|
||||
dependencies = [
|
||||
"proc-macro-crate",
|
||||
"proc-macro2",
|
||||
|
|
@ -2385,7 +2397,7 @@ dependencies = [
|
|||
name = "observability_deps"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"opentelemetry",
|
||||
"opentelemetry 0.15.0",
|
||||
"tracing",
|
||||
"tracing-subscriber",
|
||||
]
|
||||
|
|
@ -2451,6 +2463,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "b91cea1dfd50064e52db033179952d18c770cbc5dfefc8eba45d619357ba3914"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"futures",
|
||||
"js-sys",
|
||||
"lazy_static",
|
||||
"percent-encoding",
|
||||
"pin-project 1.0.8",
|
||||
"rand 0.8.4",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "opentelemetry"
|
||||
version = "0.15.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ff27b33e30432e7b9854936693ca103d8591b0501f7ae9f633de48cda3bf2a67"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"crossbeam-channel",
|
||||
"dashmap",
|
||||
"fnv",
|
||||
"futures",
|
||||
|
|
@ -2466,13 +2495,13 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "opentelemetry-jaeger"
|
||||
version = "0.12.1"
|
||||
version = "0.14.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ddd4984441954f9ebbe3eebdfc6fd4fa95be6400d403171228779b949f3cd918"
|
||||
checksum = "09a9fc8192722e7daa0c56e59e2336b797122fb8598383dcb11c8852733b435c"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"lazy_static",
|
||||
"opentelemetry",
|
||||
"opentelemetry 0.15.0",
|
||||
"thiserror",
|
||||
"thrift",
|
||||
"tokio",
|
||||
|
|
@ -2480,27 +2509,28 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "opentelemetry-otlp"
|
||||
version = "0.6.0"
|
||||
version = "0.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "09c19adec09e1d86bdc72cbc2dea6d7276d90d6d50ad430842446382a4ef440b"
|
||||
checksum = "c42168ec1ee8fe85f36600c41196963eb075ccdd0aaac947119f1f562c0804dd"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"futures",
|
||||
"opentelemetry",
|
||||
"prost",
|
||||
"http",
|
||||
"opentelemetry 0.15.0",
|
||||
"prost 0.7.0",
|
||||
"thiserror",
|
||||
"tokio",
|
||||
"tonic",
|
||||
"tonic-build",
|
||||
"tonic 0.4.3",
|
||||
"tonic-build 0.4.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "opentelemetry-prometheus"
|
||||
version = "0.6.0"
|
||||
version = "0.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7162eac03f0bf5edbe2f2d4f44279904f62c779cd1c8260456446db2e1bf200d"
|
||||
checksum = "e06ddda4790151e8b494f9bb32720fce23722d7f395f81383b9b2934bb6356a0"
|
||||
dependencies = [
|
||||
"opentelemetry",
|
||||
"opentelemetry 0.15.0",
|
||||
"prometheus",
|
||||
"protobuf",
|
||||
]
|
||||
|
|
@ -2595,9 +2625,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "parquet"
|
||||
version = "5.0.0"
|
||||
version = "5.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9297cb17ef7287f6105685d230abbb2b37247657edf2b4a99271088e7d5b0ddd"
|
||||
checksum = "db54d10313f64ea22e1fe0332864abefb19aa1c322bfbc67999ff743aebf868d"
|
||||
dependencies = [
|
||||
"arrow",
|
||||
"base64 0.13.0",
|
||||
|
|
@ -2645,7 +2675,7 @@ dependencies = [
|
|||
"parquet",
|
||||
"parquet-format",
|
||||
"persistence_windows",
|
||||
"prost",
|
||||
"prost 0.8.0",
|
||||
"query",
|
||||
"snafu",
|
||||
"tempfile",
|
||||
|
|
@ -2820,9 +2850,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "pprof"
|
||||
version = "0.4.4"
|
||||
version = "0.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2c7600124d694d855283caf9f333befe2abce090833bb638009aeddd9e156dee"
|
||||
checksum = "c9fb4eee2f2c4f7d48fe5a33008dececbc405d0e58d2a94afe742d4f175bc401"
|
||||
dependencies = [
|
||||
"backtrace",
|
||||
"inferno",
|
||||
|
|
@ -2831,9 +2861,9 @@ dependencies = [
|
|||
"log",
|
||||
"nix",
|
||||
"parking_lot",
|
||||
"prost",
|
||||
"prost-build",
|
||||
"prost-derive",
|
||||
"prost 0.8.0",
|
||||
"prost-build 0.8.0",
|
||||
"prost-derive 0.8.0",
|
||||
"symbolic-demangle",
|
||||
"tempfile",
|
||||
"thiserror",
|
||||
|
|
@ -2976,7 +3006,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "9e6984d2f1a23009bd270b8bb56d0926810a3d483f59c987d77969e9d8e840b2"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"prost-derive",
|
||||
"prost-derive 0.7.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "prost"
|
||||
version = "0.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "de5e2533f59d08fcf364fd374ebda0692a70bd6d7e66ef97f306f45c6c5d8020"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"prost-derive 0.8.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -2991,10 +3031,28 @@ dependencies = [
|
|||
"log",
|
||||
"multimap",
|
||||
"petgraph",
|
||||
"prost",
|
||||
"prost-types",
|
||||
"prost 0.7.0",
|
||||
"prost-types 0.7.0",
|
||||
"tempfile",
|
||||
"which 4.2.1",
|
||||
"which 4.2.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "prost-build"
|
||||
version = "0.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "355f634b43cdd80724ee7848f95770e7e70eefa6dcf14fea676216573b8fd603"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"heck",
|
||||
"itertools 0.10.1",
|
||||
"log",
|
||||
"multimap",
|
||||
"petgraph",
|
||||
"prost 0.8.0",
|
||||
"prost-types 0.8.0",
|
||||
"tempfile",
|
||||
"which 4.2.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -3010,6 +3068,19 @@ dependencies = [
|
|||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "prost-derive"
|
||||
version = "0.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "600d2f334aa05acb02a755e217ef1ab6dea4d51b58b7846588b747edec04efba"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"itertools 0.10.1",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "prost-types"
|
||||
version = "0.7.0"
|
||||
|
|
@ -3017,7 +3088,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "b518d7cdd93dab1d1122cf07fa9a60771836c668dde9d9e2a139f957f0d9f1bb"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"prost",
|
||||
"prost 0.7.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "prost-types"
|
||||
version = "0.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "603bbd6394701d13f3f25aada59c7de9d35a6a5887cfc156181234a44002771b"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"prost 0.8.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -3553,7 +3634,7 @@ version = "0.4.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
|
||||
dependencies = [
|
||||
"semver 1.0.3",
|
||||
"semver 1.0.4",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -3680,9 +3761,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "semver"
|
||||
version = "1.0.3"
|
||||
version = "1.0.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5f3aac57ee7f3272d8395c6e4f502f434f0e289fcd62876f70daa008c20dcabe"
|
||||
checksum = "568a8e6258aa33c13358f81fd834adb854c6f7c9468520910a9b1e8fac068012"
|
||||
|
||||
[[package]]
|
||||
name = "semver-parser"
|
||||
|
|
@ -3692,9 +3773,9 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
|
|||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.126"
|
||||
version = "1.0.127"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03"
|
||||
checksum = "f03b9878abf6d14e6779d3f24f07b2cfa90352cfec4acc5aab8f1ac7f146fae8"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
|
@ -3723,9 +3804,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.126"
|
||||
version = "1.0.127"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43"
|
||||
checksum = "a024926d3432516606328597e0f224a51355a493b49fdd67e9209187cbe55ecc"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
|
@ -3734,9 +3815,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "serde_json"
|
||||
version = "1.0.65"
|
||||
version = "1.0.66"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "28c5e91e4240b46c4c19219d6cc84784444326131a4210f496f948d5cc827a29"
|
||||
checksum = "336b10da19a12ad094b59d870ebde26a45402e5b470add4b5fd03c5048a32127"
|
||||
dependencies = [
|
||||
"indexmap",
|
||||
"itoa",
|
||||
|
|
@ -3862,9 +3943,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "sharded-slab"
|
||||
version = "0.1.1"
|
||||
version = "0.1.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "79c719719ee05df97490f80a45acfc99e5a30ce98a1e4fb67aee422745ae14e3"
|
||||
checksum = "740223c51853f3145fe7c90360d2d4232f2b62e3449489c207eccde818979982"
|
||||
dependencies = [
|
||||
"lazy_static",
|
||||
]
|
||||
|
|
@ -4374,6 +4455,16 @@ dependencies = [
|
|||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tokio-io-timeout"
|
||||
version = "1.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "90c49f106be240de154571dd31fbe48acb10ba6c6dd6f6517ad603abffa42de9"
|
||||
dependencies = [
|
||||
"pin-project-lite",
|
||||
"tokio",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tokio-macros"
|
||||
version = "1.3.0"
|
||||
|
|
@ -4458,8 +4549,8 @@ dependencies = [
|
|||
"hyper",
|
||||
"percent-encoding",
|
||||
"pin-project 1.0.8",
|
||||
"prost",
|
||||
"prost-derive",
|
||||
"prost 0.7.0",
|
||||
"prost-derive 0.7.0",
|
||||
"tokio",
|
||||
"tokio-stream",
|
||||
"tokio-util",
|
||||
|
|
@ -4469,6 +4560,37 @@ dependencies = [
|
|||
"tracing-futures",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tonic"
|
||||
version = "0.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b584f064fdfc50017ec39162d5aebce49912f1eb16fd128e04b7f4ce4907c7e5"
|
||||
dependencies = [
|
||||
"async-stream",
|
||||
"async-trait",
|
||||
"base64 0.13.0",
|
||||
"bytes",
|
||||
"futures-core",
|
||||
"futures-util",
|
||||
"h2",
|
||||
"http",
|
||||
"http-body",
|
||||
"hyper",
|
||||
"hyper-timeout",
|
||||
"percent-encoding",
|
||||
"pin-project 1.0.8",
|
||||
"prost 0.8.0",
|
||||
"prost-derive 0.8.0",
|
||||
"tokio",
|
||||
"tokio-stream",
|
||||
"tokio-util",
|
||||
"tower",
|
||||
"tower-layer",
|
||||
"tower-service",
|
||||
"tracing",
|
||||
"tracing-futures",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tonic-build"
|
||||
version = "0.4.2"
|
||||
|
|
@ -4476,39 +4598,51 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "c695de27302f4697191dda1c7178131a8cb805463dda02864acb80fe1322fdcf"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"prost-build",
|
||||
"prost-build 0.7.0",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tonic-build"
|
||||
version = "0.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d12faebbe071b06f486be82cc9318350814fdd07fcb28f3690840cd770599283"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"prost-build 0.8.0",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tonic-health"
|
||||
version = "0.3.1"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ee731ed39b584aa7fadc723eca93608c3de6ad316531d594632a2c85d28c4e59"
|
||||
checksum = "14e6de0a7a1b27d9899031b01b83eb09fdc36f3fe8e6254a81840006a463c6d5"
|
||||
dependencies = [
|
||||
"async-stream",
|
||||
"bytes",
|
||||
"prost",
|
||||
"prost 0.8.0",
|
||||
"tokio",
|
||||
"tokio-stream",
|
||||
"tonic",
|
||||
"tonic-build",
|
||||
"tonic 0.5.0",
|
||||
"tonic-build 0.5.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tonic-reflection"
|
||||
version = "0.1.0"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "56498d20188550337ea6c48ecf59d11646382dbfcd61051fb98c1093cfae3c21"
|
||||
checksum = "8249761575cfef2635c3df0aa9f09d8e42d53ff0f7c21739ff2b37dd3343d827"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"prost",
|
||||
"prost-types",
|
||||
"prost 0.8.0",
|
||||
"prost-types 0.8.0",
|
||||
"tokio",
|
||||
"tokio-stream",
|
||||
"tonic",
|
||||
"tonic-build",
|
||||
"tonic 0.5.0",
|
||||
"tonic-build 0.5.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -4592,7 +4726,19 @@ version = "0.12.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "99003208b647dae59dcefc49c98aecaa3512fbc29351685d4b9ef23a9218458e"
|
||||
dependencies = [
|
||||
"opentelemetry",
|
||||
"opentelemetry 0.13.0",
|
||||
"tracing",
|
||||
"tracing-core",
|
||||
"tracing-subscriber",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tracing-opentelemetry"
|
||||
version = "0.14.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c47440f2979c4cd3138922840eec122e3c0ba2148bc290f756bd7fd60fc97fff"
|
||||
dependencies = [
|
||||
"opentelemetry 0.15.0",
|
||||
"tracing",
|
||||
"tracing-core",
|
||||
"tracing-subscriber",
|
||||
|
|
@ -4663,7 +4809,7 @@ dependencies = [
|
|||
"structopt",
|
||||
"synchronized-writer",
|
||||
"thiserror",
|
||||
"tracing-opentelemetry",
|
||||
"tracing-opentelemetry 0.14.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -4811,9 +4957,9 @@ checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
|
|||
|
||||
[[package]]
|
||||
name = "wasm-bindgen"
|
||||
version = "0.2.74"
|
||||
version = "0.2.75"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d54ee1d4ed486f78874278e63e4069fc1ab9f6a18ca492076ffb90c5eb2997fd"
|
||||
checksum = "b608ecc8f4198fe8680e2ed18eccab5f0cd4caaf3d83516fa5fb2e927fda2586"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"serde",
|
||||
|
|
@ -4823,9 +4969,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-backend"
|
||||
version = "0.2.74"
|
||||
version = "0.2.75"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3b33f6a0694ccfea53d94db8b2ed1c3a8a4c86dd936b13b9f0a15ec4a451b900"
|
||||
checksum = "580aa3a91a63d23aac5b6b267e2d13cb4f363e31dce6c352fca4752ae12e479f"
|
||||
dependencies = [
|
||||
"bumpalo",
|
||||
"lazy_static",
|
||||
|
|
@ -4838,9 +4984,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-futures"
|
||||
version = "0.4.24"
|
||||
version = "0.4.25"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5fba7978c679d53ce2d0ac80c8c175840feb849a161664365d1287b41f2e67f1"
|
||||
checksum = "16646b21c3add8e13fdb8f20172f8a28c3dbf62f45406bcff0233188226cfe0c"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"js-sys",
|
||||
|
|
@ -4850,9 +4996,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-macro"
|
||||
version = "0.2.74"
|
||||
version = "0.2.75"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "088169ca61430fe1e58b8096c24975251700e7b1f6fd91cc9d59b04fb9b18bd4"
|
||||
checksum = "171ebf0ed9e1458810dfcb31f2e766ad6b3a89dbda42d8901f2b268277e5f09c"
|
||||
dependencies = [
|
||||
"quote",
|
||||
"wasm-bindgen-macro-support",
|
||||
|
|
@ -4860,9 +5006,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-macro-support"
|
||||
version = "0.2.74"
|
||||
version = "0.2.75"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "be2241542ff3d9f241f5e2cb6dd09b37efe786df8851c54957683a49f0987a97"
|
||||
checksum = "6c2657dd393f03aa2a659c25c6ae18a13a4048cebd220e147933ea837efc589f"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
|
@ -4873,15 +5019,15 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-shared"
|
||||
version = "0.2.74"
|
||||
version = "0.2.75"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d7cff876b8f18eed75a66cf49b65e7f967cb354a7aa16003fb55dbfd25b44b4f"
|
||||
checksum = "2e0c4a743a309662d45f4ede961d7afa4ba4131a59a639f29b0069c3798bbcc2"
|
||||
|
||||
[[package]]
|
||||
name = "web-sys"
|
||||
version = "0.3.51"
|
||||
version = "0.3.52"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e828417b379f3df7111d3a2a9e5753706cae29c41f7c4029ee9fd77f3e09e582"
|
||||
checksum = "01c70a82d842c9979078c772d4a1344685045f1a5628f677c2b2eab4dd7d2696"
|
||||
dependencies = [
|
||||
"js-sys",
|
||||
"wasm-bindgen",
|
||||
|
|
@ -4917,9 +5063,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "which"
|
||||
version = "4.2.1"
|
||||
version = "4.2.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7cc009ab82a2afc94b9e467ab4214aee9cad1356cd9191264203d7d72006e00d"
|
||||
checksum = "ea187a8ef279bc014ec368c27a920da2024d2a711109bfbe3440585d5cf27ad9"
|
||||
dependencies = [
|
||||
"either",
|
||||
"lazy_static",
|
||||
|
|
|
|||
14
Cargo.toml
14
Cargo.toml
|
|
@ -91,15 +91,15 @@ http = "0.2.0"
|
|||
hyper = "0.14"
|
||||
libc = { version = "0.2" }
|
||||
once_cell = { version = "1.4.0", features = ["parking_lot"] }
|
||||
opentelemetry-jaeger = { version = "0.12", features = ["tokio"] }
|
||||
opentelemetry-otlp = "0.6"
|
||||
opentelemetry-jaeger = { version = "0.14", features = ["tokio"] }
|
||||
opentelemetry-otlp = "0.8"
|
||||
parking_lot = "0.11.1"
|
||||
itertools = "0.10.1"
|
||||
parquet = "5.0"
|
||||
# used by arrow/datafusion anyway
|
||||
prettytable-rs = "0.8"
|
||||
pprof = { version = "^0.4", default-features = false, features = ["flamegraph", "protobuf"] }
|
||||
prost = "0.7"
|
||||
pprof = { version = "^0.5", default-features = false, features = ["flamegraph", "protobuf"] }
|
||||
prost = "0.8"
|
||||
# Forked to upgrade hyper and tokio
|
||||
routerify = { git = "https://github.com/influxdata/routerify", rev = "274e250" }
|
||||
rustyline = "8.0"
|
||||
|
|
@ -114,9 +114,9 @@ tikv-jemalloc-ctl = "0.4.0"
|
|||
tokio = { version = "1.0", features = ["macros", "rt-multi-thread", "parking_lot", "signal"] }
|
||||
tokio-stream = { version = "0.1.2", features = ["net"] }
|
||||
tokio-util = { version = "0.6.3" }
|
||||
tonic = "0.4.0"
|
||||
tonic-health = "0.3.0"
|
||||
tonic-reflection = "0.1.0"
|
||||
tonic = "0.5.0"
|
||||
tonic-health = "0.4.0"
|
||||
tonic-reflection = "0.2.0"
|
||||
tracing-opentelemetry = { version = "0.12", default-features = false }
|
||||
uuid = { version = "0.8", features = ["v4"] }
|
||||
|
||||
|
|
|
|||
|
|
@ -9,4 +9,4 @@ description = "Re-exports datafusion at a specific version"
|
|||
|
||||
# Rename to workaround doctest bug
|
||||
# Turn off optional datafusion features (function packages)
|
||||
upstream = { git = "https://github.com/apache/arrow-datafusion.git", rev="2bcf04017d710a6b8684617e81a64c9db1184f5c", default-features = false, package = "datafusion" }
|
||||
upstream = { git = "https://github.com/apache/arrow-datafusion.git", rev="a5a58c4f23720eda63b02a6cad2902b715288db6", default-features = false, package = "datafusion" }
|
||||
|
|
|
|||
|
|
@ -14,13 +14,13 @@ futures = "0.3"
|
|||
google_types = { path = "../google_types" }
|
||||
observability_deps = { path = "../observability_deps" }
|
||||
num_cpus = "1.13.0"
|
||||
prost = "0.7"
|
||||
prost-types = "0.7"
|
||||
prost = "0.8"
|
||||
prost-types = "0.8"
|
||||
regex = "1.4"
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
serde_json = "1.0.44"
|
||||
thiserror = "1.0.23"
|
||||
tonic = "0.4"
|
||||
tonic = "0.5"
|
||||
|
||||
[dev-dependencies]
|
||||
chrono = { version = "0.4", features = ["serde"] }
|
||||
|
|
@ -28,5 +28,5 @@ chrono = { version = "0.4", features = ["serde"] }
|
|||
[build-dependencies] # In alphabetical order
|
||||
# Pin specific version of the tonic-build dependencies to match arrow
|
||||
proc-macro2 = "=1.0.27"
|
||||
tonic-build = "0.4"
|
||||
prost-build = "0.7"
|
||||
tonic-build = "0.5"
|
||||
prost-build = "0.8"
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ edition = "2018"
|
|||
[dependencies] # In alphabetical order
|
||||
bytes = { version = "1.0", features = ["serde"] }
|
||||
chrono = "0.4"
|
||||
prost = "0.7"
|
||||
prost = "0.8"
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
|
||||
[build-dependencies] # In alphabetical order
|
||||
prost-build = "0.7"
|
||||
prost-build = "0.8"
|
||||
|
|
|
|||
|
|
@ -10,19 +10,19 @@ cache_loader_async = {version = "0.1.0", features = ["ttl-cache"] }
|
|||
futures = "0.3"
|
||||
observability_deps = { path = "../observability_deps" }
|
||||
paste = "1.0.5"
|
||||
prost = "0.7"
|
||||
prost-types = "0.7"
|
||||
prost = "0.8"
|
||||
prost-types = "0.8"
|
||||
thiserror = "1.0.23"
|
||||
tokio = { version = "1.0", features = ["macros", "rt-multi-thread", "parking_lot", "signal"] }
|
||||
tokio-stream = { version = "0.1.2", features = ["net"] }
|
||||
tokio-util = { version = "0.6.3" }
|
||||
tonic = "0.4"
|
||||
tonic-reflection = "0.1.0"
|
||||
tonic = "0.5"
|
||||
tonic-reflection = "0.2.0"
|
||||
|
||||
[build-dependencies]
|
||||
paste = "1.0.5"
|
||||
prost-build = "0.7"
|
||||
tonic-build = "0.4"
|
||||
prost-build = "0.8"
|
||||
tonic-build = "0.5"
|
||||
|
||||
[dev-dependencies]
|
||||
grpc-router-test-gen = { path = "./grpc-router-test-gen" }
|
||||
|
|
|
|||
|
|
@ -6,10 +6,10 @@ edition = "2018"
|
|||
description = "Protobuf used in test for the grpc-router crate; need to be in a separate create because of linter limitations"
|
||||
|
||||
[dependencies]
|
||||
tonic = "0.4"
|
||||
prost = "0.7"
|
||||
prost-types = "0.7"
|
||||
tonic = "0.5"
|
||||
prost = "0.8"
|
||||
prost-types = "0.8"
|
||||
|
||||
[build-dependencies]
|
||||
tonic-build = "0.4"
|
||||
prost-build = "0.7"
|
||||
tonic-build = "0.5"
|
||||
prost-build = "0.8"
|
||||
|
|
|
|||
|
|
@ -19,13 +19,13 @@ arrow-flight = { version = "5.0", optional = true}
|
|||
futures-util = { version = "0.3.1", optional = true }
|
||||
http = "0.2.3"
|
||||
hyper = "0.14"
|
||||
prost = "0.7"
|
||||
prost = "0.8"
|
||||
rand = "0.8.3"
|
||||
serde = "1.0.118"
|
||||
serde_json = { version = "1.0.44", optional = true }
|
||||
thiserror = "1.0.23"
|
||||
tokio = { version = "1.0", features = ["macros"] }
|
||||
tonic = { version = "0.4.0" }
|
||||
tonic = { version = "0.5.0" }
|
||||
|
||||
[dev-dependencies] # In alphabetical order
|
||||
serde_json = "1.0"
|
||||
|
|
|
|||
|
|
@ -17,10 +17,9 @@ edition = "2018"
|
|||
dashmap = { version = "4.0.1" }
|
||||
hashbrown = "0.11"
|
||||
observability_deps = { path = "../observability_deps" }
|
||||
opentelemetry-prometheus = "0.6"
|
||||
opentelemetry-prometheus = "0.8"
|
||||
parking_lot = "0.11.1"
|
||||
prometheus = "0.12"
|
||||
snafu = "0.6"
|
||||
|
||||
[dev-dependencies] # In alphabetical order
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,6 @@ edition = "2018"
|
|||
description = "Observability ecosystem dependencies for InfluxDB IOx, to ensure consistent versions and unified updates"
|
||||
|
||||
[dependencies] # In alphabetical order
|
||||
opentelemetry = { version = "0.13", default-features = false, features = ["trace", "metrics", "rt-tokio"] }
|
||||
opentelemetry = { version = "0.15", default-features = false, features = ["trace", "metrics", "rt-tokio"] }
|
||||
tracing = { version = "0.1", features = ["max_level_trace", "release_max_level_debug"] }
|
||||
tracing-subscriber = { version = "0.2", default-features = false, features = ["env-filter", "smallvec", "chrono", "parking_lot", "registry", "fmt", "ansi", "json"] }
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ parquet = "5.0"
|
|||
parquet-format = "2.6"
|
||||
parking_lot = "0.11.1"
|
||||
persistence_windows = { path = "../persistence_windows" }
|
||||
prost = "0.7"
|
||||
prost = "0.8"
|
||||
query = { path = "../query" }
|
||||
snafu = "0.6"
|
||||
tempfile = "3.1.0"
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@ use snafu::{ResultExt, Snafu};
|
|||
use tokio::net::TcpListener;
|
||||
use tokio_stream::wrappers::TcpListenerStream;
|
||||
use tokio_util::sync::CancellationToken;
|
||||
use tonic::codegen::InterceptedService;
|
||||
use tonic::transport::NamedService;
|
||||
|
||||
use crate::influxdb_ioxd::serving_readiness::{ServingReadiness, ServingReadinessState};
|
||||
use crate::influxdb_ioxd::serving_readiness::ServingReadiness;
|
||||
use server::{ApplicationState, ConnectionManager, Server};
|
||||
use tonic::{Interceptor, Status};
|
||||
|
||||
pub mod error;
|
||||
mod flight;
|
||||
|
|
@ -38,36 +38,28 @@ fn service_name<S: NamedService>(_: &S) -> &'static str {
|
|||
S::NAME
|
||||
}
|
||||
|
||||
/// Adds a gRPC service to ServiceBuilder `builder` while registering it to the HealthReporter `health_reporter`.
|
||||
/// Adds a gRPC service to the builder, and registers it with the
|
||||
/// health reporter
|
||||
macro_rules! add_service {
|
||||
($builder:ident, $health_reporter:ident, $status:expr, $($tail:tt)* ) => {{
|
||||
add_service!(@internal $ builder, $health_reporter, $status, $($tail)* );
|
||||
$builder
|
||||
}};
|
||||
(@internal $builder:ident, $health_reporter:ident, $status:expr, [ $($svc:expr),* $(,)*] $(,)*) => {
|
||||
$(
|
||||
let service = $svc;
|
||||
$health_reporter.set_service_status(service_name(&service), $status).await;
|
||||
let $builder = $builder.add_service(service);
|
||||
)*
|
||||
($builder:ident, $health_reporter:expr, $svc:expr) => {
|
||||
let service = $svc;
|
||||
let status = tonic_health::ServingStatus::Serving;
|
||||
$health_reporter
|
||||
.set_service_status(service_name(&service), status)
|
||||
.await;
|
||||
let $builder = $builder.add_service(service);
|
||||
};
|
||||
}
|
||||
|
||||
/// Implements the gRPC interceptor that returns SERVICE_UNAVAILABLE gRPC status
|
||||
/// if the service is not ready.
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct ServingReadinessInterceptor(ServingReadiness);
|
||||
|
||||
impl From<ServingReadinessInterceptor> for Interceptor {
|
||||
fn from(serving_readiness: ServingReadinessInterceptor) -> Self {
|
||||
let interceptor = move |req| match serving_readiness.0.get() {
|
||||
ServingReadinessState::Unavailable => {
|
||||
Err(Status::unavailable("service not ready to serve"))
|
||||
}
|
||||
ServingReadinessState::Serving => Ok(req),
|
||||
};
|
||||
interceptor.into()
|
||||
}
|
||||
/// Adds a gRPC service to the builder gated behind the serving
|
||||
/// readiness check, and registers it with the health reporter
|
||||
macro_rules! add_gated_service {
|
||||
($builder:ident, $health_reporter:expr, $serving_readiness:expr, $svc:expr) => {
|
||||
let service = $svc;
|
||||
let interceptor = $serving_readiness.clone().into_interceptor();
|
||||
let service = InterceptedService::new(service, interceptor);
|
||||
add_service!($builder, $health_reporter, service);
|
||||
};
|
||||
}
|
||||
|
||||
/// Instantiate a server listening on the specified address
|
||||
|
|
@ -92,32 +84,54 @@ where
|
|||
.build()
|
||||
.context(ReflectionError)?;
|
||||
|
||||
let serving_gate = ServingReadinessInterceptor(serving_readiness.clone());
|
||||
|
||||
let mut builder = tonic::transport::Server::builder();
|
||||
let builder = add_service!(
|
||||
|
||||
// important that this one is NOT gated so that it can answer health requests
|
||||
add_service!(builder, health_reporter, health_service);
|
||||
add_service!(builder, health_reporter, reflection_service);
|
||||
add_service!(builder, health_reporter, testing::make_server());
|
||||
add_gated_service!(
|
||||
builder,
|
||||
health_reporter,
|
||||
tonic_health::ServingStatus::Serving,
|
||||
[
|
||||
health_service,
|
||||
reflection_service,
|
||||
testing::make_server(),
|
||||
storage::make_server(
|
||||
Arc::clone(&server),
|
||||
Arc::clone(application.metric_registry()),
|
||||
serving_gate.clone(),
|
||||
),
|
||||
flight::make_server(Arc::clone(&server), serving_gate.clone()),
|
||||
write::make_server(Arc::clone(&server), serving_gate.clone()),
|
||||
write_pb::make_server(Arc::clone(&server), serving_gate.clone()),
|
||||
management::make_server(
|
||||
Arc::clone(&application),
|
||||
Arc::clone(&server),
|
||||
serving_readiness.clone()
|
||||
),
|
||||
operations::make_server(Arc::clone(application.job_registry())),
|
||||
],
|
||||
serving_readiness,
|
||||
storage::make_server(
|
||||
Arc::clone(&server),
|
||||
Arc::clone(application.metric_registry()),
|
||||
)
|
||||
);
|
||||
add_gated_service!(
|
||||
builder,
|
||||
health_reporter,
|
||||
serving_readiness,
|
||||
flight::make_server(Arc::clone(&server))
|
||||
);
|
||||
add_gated_service!(
|
||||
builder,
|
||||
health_reporter,
|
||||
serving_readiness,
|
||||
write::make_server(Arc::clone(&server))
|
||||
);
|
||||
add_gated_service!(
|
||||
builder,
|
||||
health_reporter,
|
||||
serving_readiness,
|
||||
write_pb::make_server(Arc::clone(&server))
|
||||
);
|
||||
// Also important this is not behind a readiness check (as it is
|
||||
// used to change the check!)
|
||||
add_service!(
|
||||
builder,
|
||||
health_reporter,
|
||||
management::make_server(
|
||||
Arc::clone(&application),
|
||||
Arc::clone(&server),
|
||||
serving_readiness.clone()
|
||||
)
|
||||
);
|
||||
add_service!(
|
||||
builder,
|
||||
health_reporter,
|
||||
operations::make_server(Arc::clone(application.job_registry()))
|
||||
);
|
||||
|
||||
builder
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ use observability_deps::tracing::{info, warn};
|
|||
use query::exec::ExecutorType;
|
||||
use serde::Deserialize;
|
||||
use snafu::{OptionExt, ResultExt, Snafu};
|
||||
use tonic::{Interceptor, Request, Response, Streaming};
|
||||
use tonic::{Request, Response, Streaming};
|
||||
|
||||
use arrow::{
|
||||
array::{make_array, ArrayRef, MutableArrayData},
|
||||
|
|
@ -124,14 +124,11 @@ struct FlightService<M: ConnectionManager> {
|
|||
server: Arc<Server<M>>,
|
||||
}
|
||||
|
||||
pub fn make_server<M>(
|
||||
server: Arc<Server<M>>,
|
||||
interceptor: impl Into<Interceptor>,
|
||||
) -> FlightServer<impl Flight>
|
||||
pub fn make_server<M>(server: Arc<Server<M>>) -> FlightServer<impl Flight>
|
||||
where
|
||||
M: ConnectionManager + Send + Sync + Debug + 'static,
|
||||
{
|
||||
FlightServer::with_interceptor(FlightService { server }, interceptor)
|
||||
FlightServer::new(FlightService { server })
|
||||
}
|
||||
|
||||
#[tonic::async_trait]
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@ use generated_types::storage_server::{Storage, StorageServer};
|
|||
use metrics::{MetricRegistry, RedMetric};
|
||||
use query::DatabaseStore;
|
||||
use std::sync::Arc;
|
||||
use tonic::Interceptor;
|
||||
|
||||
/// Concrete implementation of the gRPC InfluxDB Storage Service API
|
||||
#[derive(Debug)]
|
||||
|
|
@ -30,15 +29,11 @@ struct StorageService<T: DatabaseStore> {
|
|||
pub fn make_server<T: DatabaseStore + 'static>(
|
||||
db_store: Arc<T>,
|
||||
metrics_registry: Arc<MetricRegistry>,
|
||||
interceptor: impl Into<Interceptor>,
|
||||
) -> StorageServer<impl Storage> {
|
||||
StorageServer::with_interceptor(
|
||||
StorageService {
|
||||
db_store,
|
||||
metrics: Metrics::new(metrics_registry),
|
||||
},
|
||||
interceptor,
|
||||
)
|
||||
StorageServer::new(StorageService {
|
||||
db_store,
|
||||
metrics: Metrics::new(metrics_registry),
|
||||
})
|
||||
}
|
||||
|
||||
// These are the metrics associated with the gRPC server.
|
||||
|
|
|
|||
|
|
@ -1161,7 +1161,6 @@ where
|
|||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::super::super::ServingReadinessInterceptor;
|
||||
use super::super::id::Id;
|
||||
|
||||
use super::*;
|
||||
|
|
@ -1175,8 +1174,6 @@ mod tests {
|
|||
};
|
||||
use test_helpers::{assert_contains, tag_key_bytes_to_strings, tracing::TracingCapture};
|
||||
|
||||
use tonic::Code;
|
||||
|
||||
use futures::prelude::*;
|
||||
|
||||
use generated_types::{
|
||||
|
|
@ -1185,7 +1182,6 @@ mod tests {
|
|||
Window as RPCWindow,
|
||||
};
|
||||
|
||||
use crate::influxdb_ioxd::serving_readiness::ServingReadinessState;
|
||||
use generated_types::google::protobuf::Any;
|
||||
use prost::Message;
|
||||
use tokio_stream::wrappers::TcpListenerStream;
|
||||
|
|
@ -1902,8 +1898,8 @@ mod tests {
|
|||
panic!("Unexpected success: {:?}", response);
|
||||
}
|
||||
Err(status) => {
|
||||
assert_eq!(status.code(), Code::Cancelled);
|
||||
assert_contains!(status.message(), "stream no longer needed");
|
||||
assert_eq!(status.code(), tonic::Code::Unknown);
|
||||
assert_contains!(status.message(), "transport error");
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -2819,7 +2815,6 @@ mod tests {
|
|||
.add_service(crate::influxdb_ioxd::rpc::storage::make_server(
|
||||
Arc::clone(&test_storage),
|
||||
test_storage.metrics_registry.registry(),
|
||||
ServingReadinessInterceptor(ServingReadinessState::Serving.into()),
|
||||
));
|
||||
|
||||
let server = async move {
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ use influxdb_line_protocol::parse_lines;
|
|||
use observability_deps::tracing::debug;
|
||||
use server::{ConnectionManager, Server};
|
||||
use std::fmt::Debug;
|
||||
use tonic::{Interceptor, Response};
|
||||
use tonic::Response;
|
||||
|
||||
use super::error::default_server_error_handler;
|
||||
|
||||
|
|
@ -80,10 +80,9 @@ where
|
|||
/// Instantiate the write service
|
||||
pub fn make_server<M>(
|
||||
server: Arc<Server<M>>,
|
||||
interceptor: impl Into<Interceptor>,
|
||||
) -> write_service_server::WriteServiceServer<impl write_service_server::WriteService>
|
||||
where
|
||||
M: ConnectionManager + Send + Sync + Debug + 'static,
|
||||
{
|
||||
write_service_server::WriteServiceServer::with_interceptor(WriteService { server }, interceptor)
|
||||
write_service_server::WriteServiceServer::new(WriteService { server })
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,13 +34,9 @@ where
|
|||
|
||||
pub fn make_server<M>(
|
||||
server: Arc<Server<M>>,
|
||||
interceptor: impl Into<tonic::Interceptor>,
|
||||
) -> write_service_server::WriteServiceServer<impl write_service_server::WriteService>
|
||||
where
|
||||
M: ConnectionManager + Send + Sync + Debug + 'static,
|
||||
{
|
||||
write_service_server::WriteServiceServer::with_interceptor(
|
||||
PBWriteService { server },
|
||||
interceptor,
|
||||
)
|
||||
write_service_server::WriteServiceServer::new(PBWriteService { server })
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,8 @@ use std::sync::{
|
|||
Arc,
|
||||
};
|
||||
|
||||
use tonic::{Request, Status};
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub enum ServingReadinessState {
|
||||
Unavailable,
|
||||
|
|
@ -57,6 +59,19 @@ impl ServingReadiness {
|
|||
pub fn set(&self, state: ServingReadinessState) {
|
||||
self.0.store(state.into(), Ordering::SeqCst)
|
||||
}
|
||||
|
||||
/// Implements the gRPC interceptor that returns SERVICE_UNAVAILABLE gRPC status
|
||||
/// if the service is not ready.
|
||||
pub fn into_interceptor(
|
||||
self,
|
||||
) -> impl FnMut(Request<()>) -> Result<Request<()>, Status> + Clone {
|
||||
move |req| match self.get() {
|
||||
ServingReadinessState::Unavailable => {
|
||||
Err(Status::unavailable("service not ready to serve"))
|
||||
}
|
||||
ServingReadinessState::Serving => Ok(req),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<Arc<AtomicBool>> for ServingReadiness {
|
||||
|
|
|
|||
|
|
@ -10,13 +10,12 @@ description = "(TR)acing and l(OGGING) configuration"
|
|||
[dependencies]
|
||||
logfmt = { path = "../logfmt" }
|
||||
observability_deps = { path = "../observability_deps" }
|
||||
opentelemetry-jaeger = { version = "0.12", features = ["tokio"] }
|
||||
opentelemetry-otlp = "0.6"
|
||||
opentelemetry-jaeger = { version = "0.14", features = ["tokio"] }
|
||||
opentelemetry-otlp = "0.8"
|
||||
thiserror = "1.0.23"
|
||||
tracing-opentelemetry = { version = "0.12", default-features = false }
|
||||
tracing-opentelemetry = { version = "0.14", default-features = false }
|
||||
structopt = { version = "0.3.21", optional = true }
|
||||
|
||||
[dev-dependencies]
|
||||
synchronized-writer = "1"
|
||||
regex = "1"
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue