From 945146f0739492178e21ce3e9387d8f68f5f03b1 Mon Sep 17 00:00:00 2001 From: Geoffroy Couprie Date: Wed, 24 May 2023 08:21:43 +0200 Subject: [PATCH 1/3] update router-bridge --- Cargo.lock | 123 ++++++++++++++++++++++++++------------- apollo-router/Cargo.toml | 5 +- 2 files changed, 86 insertions(+), 42 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0480847d2d..7de08c56f1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -119,6 +119,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "aho-corasick" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04" +dependencies = [ + "memchr", +] + [[package]] name = "alloc-no-stdlib" version = "2.0.4" @@ -890,9 +899,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "1.2.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" [[package]] name = "bytes-utils" @@ -1555,18 +1564,18 @@ checksum = "eaa37046cc0f6c3cc6090fbdbf73ef0b8ef4cfcc37f6befc0020f63e8cf121e1" [[package]] name = "deno_console" -version = "0.89.0" +version = "0.105.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cda6cf4635c2261951074023288f23756ac6852e7e63a6bd416a88f0e98c52e" +checksum = "1ce6d5caccaac26056182333e915d28b3b5b332b199dd12ab3467590cbda0039" dependencies = [ "deno_core", ] [[package]] name = "deno_core" -version = "0.171.0" +version = "0.187.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dc41944f05dfeacfc2610e91f40ddcf246f3aeeac8ae4c26df46bfbf01a3902" +checksum = "922ed10fa6019414f58095894140e77479662833a62c568b023226e8be103e93" dependencies = [ "anyhow", "bytes", @@ -1583,15 +1592,16 @@ dependencies = [ "serde_v8", "smallvec", "sourcemap", + "tokio", "url", "v8", ] [[package]] name = "deno_crypto" -version = "0.103.0" +version = "0.119.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f4e2a590be03f643d1147e12e8bc2fb04671b9bd68da9c8857d7d0b11a0255c" +checksum = "9603a2705c5cce5995b98b8fecb743c1fa59d4907b50955160d67e3f5ab6c23e" dependencies = [ "aes", "aes-gcm", @@ -1626,10 +1636,11 @@ dependencies = [ [[package]] name = "deno_ops" -version = "0.49.0" +version = "0.65.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4740bc5738ad07dc1f523a232a4079a995fa2ad11efd71e09e8e32bf28f21ee1" +checksum = "47d3fbb72196f1880ff7a2824e4f3e111f6601b78f38e715ae3d3d412d9e0a42" dependencies = [ + "lazy-regex", "once_cell", "pmutil", "proc-macro-crate", @@ -1641,9 +1652,9 @@ dependencies = [ [[package]] name = "deno_url" -version = "0.89.0" +version = "0.105.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1fe82b011d8b2af63c4587551536d951f47ffc3ba2a710e455b383d4f4b06ba" +checksum = "8e3451bf3b98d028a4f61fae2bba1d58aad1ba790cfe0d14a0b11cd17623f1ee" dependencies = [ "deno_core", "serde", @@ -1653,9 +1664,9 @@ dependencies = [ [[package]] name = "deno_web" -version = "0.120.0" +version = "0.136.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7379502a7a333f573949558803e8bfe2e8fba3ef180cdbb4a882951803c87d20" +checksum = "08198c3ae53f5b722907ebde32d340c6f9223fa347689619cb5d500ee9a176bd" dependencies = [ "async-trait", "base64-simd", @@ -1665,13 +1676,14 @@ dependencies = [ "serde", "tokio", "uuid", + "windows-sys 0.48.0", ] [[package]] name = "deno_webidl" -version = "0.89.0" +version = "0.105.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d046c6ac75f22be851219f44824c42927345f51e0ae5fb825e8bf8ea658d8ee8" +checksum = "3d2c11261edf0f1459f6b7dab67db6241af2c74b1e764d117c607aa649aea338" dependencies = [ "deno_core", ] @@ -2455,7 +2467,7 @@ version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc" dependencies = [ - "aho-corasick", + "aho-corasick 0.7.20", "bstr 1.4.0", "fnv", "log", @@ -3152,6 +3164,29 @@ dependencies = [ "libc", ] +[[package]] +name = "lazy-regex" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff63c423c68ea6814b7da9e88ce585f793c87ddd9e78f646970891769c8235d4" +dependencies = [ + "lazy-regex-proc_macros", + "once_cell", + "regex", +] + +[[package]] +name = "lazy-regex-proc_macros" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8edfc11b8f56ce85e207e62ea21557cfa09bb24a8f6b04ae181b086ff8611c22" +dependencies = [ + "proc-macro2", + "quote", + "regex", + "syn 1.0.109", +] + [[package]] name = "lazy_static" version = "1.4.0" @@ -3573,6 +3608,7 @@ dependencies = [ "autocfg", "num-integer", "num-traits", + "rand 0.8.5", ] [[package]] @@ -3677,9 +3713,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.16.0" +version = "1.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" +checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" [[package]] name = "oorandom" @@ -4644,13 +4680,13 @@ dependencies = [ [[package]] name = "regex" -version = "1.6.0" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" +checksum = "d1a59b5d8e97dee33696bf13c5ba8ab85341c002922fba050069326b9c498974" dependencies = [ - "aho-corasick", + "aho-corasick 1.0.1", "memchr", - "regex-syntax", + "regex-syntax 0.7.2", ] [[package]] @@ -4659,7 +4695,7 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" dependencies = [ - "regex-syntax", + "regex-syntax 0.6.29", ] [[package]] @@ -4668,6 +4704,12 @@ version = "0.6.29" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" +[[package]] +name = "regex-syntax" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78" + [[package]] name = "reqwest" version = "0.11.16" @@ -4843,8 +4885,7 @@ dependencies = [ [[package]] name = "router-bridge" version = "0.2.4+v2.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd4da971fb256903c3f1eecd56f8ad862f4a82853d94f53759c8908f5862d222" +source = "git+https://github.com/apollographql/federation-rs.git?rev=42ecf0fabf8e60fab31e10f4ca4d09c1fbff3735#42ecf0fabf8e60fab31e10f4ca4d09c1fbff3735" dependencies = [ "anyhow", "async-channel", @@ -5303,15 +5344,17 @@ dependencies = [ [[package]] name = "serde_v8" -version = "0.82.0" +version = "0.98.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c060fd38f18c420e82ab21592ec1f088b39bccb6897b1dda394d63628e22158d" +checksum = "ac09be069e49932c7c1df9b25c9e76ecb235e2127530462885926431c00d05f3" dependencies = [ "bytes", "derive_more", + "num-bigint", "serde", "serde_bytes", "smallvec", + "thiserror", "v8", ] @@ -5968,14 +6011,13 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.24.2" +version = "1.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a12a59981d9e3c38d216785b0c37399f6e415e8d0712047620f189371b0bb" +checksum = "0aa32867d44e6f2ce3385e89dceb990188b8bb0fb25b0cf576647a6f98ac5105" dependencies = [ "autocfg", "bytes", "libc", - "memchr", "mio", "num_cpus", "parking_lot 0.12.1", @@ -5984,7 +6026,7 @@ dependencies = [ "socket2", "tokio-macros", "tracing", - "windows-sys 0.42.0", + "windows-sys 0.48.0", ] [[package]] @@ -5999,13 +6041,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "1.8.2" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" +checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.13", ] [[package]] @@ -6593,23 +6635,24 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "uuid" -version = "1.1.2" +version = "1.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd6469f4314d5f1ffec476e05f17cc9a78bc7a27a6a857842170bdf8d6f98d2f" +checksum = "345444e32442451b267fc254ae85a209c64be56d2890e601a0c37ff0c3c5ecd2" dependencies = [ "getrandom 0.2.8", "serde", + "wasm-bindgen", ] [[package]] name = "v8" -version = "0.60.1" +version = "0.71.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07fd5b3ed559897ff02c0f62bc0a5f300bfe79bb4c77a50031b8df771701c628" +checksum = "1a4bbfd886a9c2f87170438c0cdb6b1ddbfe80412ab591c83d24c7e48e487313" dependencies = [ "bitflags", "fslock", - "lazy_static", + "once_cell", "which", ] diff --git a/apollo-router/Cargo.toml b/apollo-router/Cargo.toml index 4ebb7343f3..735c2ac07b 100644 --- a/apollo-router/Cargo.toml +++ b/apollo-router/Cargo.toml @@ -55,7 +55,7 @@ axum = { version = "0.6.6", features = ["headers", "json", "original-uri"] } backtrace = "0.3.67" base64 = "0.20.0" buildstructor = "0.5.2" -bytes = "1.2.1" +bytes = "1.4.0" clap = { version = "4.1.4", default-features = false, features = [ "env", "derive", @@ -157,7 +157,8 @@ reqwest = { version = "0.11.15", default-features = false, features = [ "json", "stream", ] } -router-bridge = "=0.2.4+v2.4.5" +#router-bridge = "=0.2.4+v2.4.5" +router-bridge = { git = "https://github.com/apollographql/federation-rs.git", rev = "42ecf0fabf8e60fab31e10f4ca4d09c1fbff3735" } rust-embed="6.4.2" rustls = "0.20.8" rustls-pemfile = "1.0.2" From 568f358a68f580b9f3be62e8dfc241bbca4a2eaa Mon Sep 17 00:00:00 2001 From: Geoffroy Couprie Date: Fri, 26 May 2023 09:41:43 +0200 Subject: [PATCH 2/3] use the published version --- Cargo.lock | 5 +++-- apollo-router/Cargo.toml | 3 +-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7de08c56f1..b6432bf91a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4884,8 +4884,9 @@ dependencies = [ [[package]] name = "router-bridge" -version = "0.2.4+v2.4.5" -source = "git+https://github.com/apollographql/federation-rs.git?rev=42ecf0fabf8e60fab31e10f4ca4d09c1fbff3735#42ecf0fabf8e60fab31e10f4ca4d09c1fbff3735" +version = "0.2.5+v2.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1173fe0ee2c06cfd0fbcecc037fac9ac33b3e220e967f15ef970856f1127a482" dependencies = [ "anyhow", "async-channel", diff --git a/apollo-router/Cargo.toml b/apollo-router/Cargo.toml index 735c2ac07b..0c90e5d3f3 100644 --- a/apollo-router/Cargo.toml +++ b/apollo-router/Cargo.toml @@ -157,8 +157,7 @@ reqwest = { version = "0.11.15", default-features = false, features = [ "json", "stream", ] } -#router-bridge = "=0.2.4+v2.4.5" -router-bridge = { git = "https://github.com/apollographql/federation-rs.git", rev = "42ecf0fabf8e60fab31e10f4ca4d09c1fbff3735" } +router-bridge = "0.2.5+v2.4.6" rust-embed="6.4.2" rustls = "0.20.8" rustls-pemfile = "1.0.2" From aef9b4ca4b12a8e19cc8f6e9ad7bb500e71652f0 Mon Sep 17 00:00:00 2001 From: Geoffroy Couprie Date: Fri, 26 May 2023 09:48:17 +0200 Subject: [PATCH 3/3] changeset --- .changesets/fix_geal_update_router_bridge_deno.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .changesets/fix_geal_update_router_bridge_deno.md diff --git a/.changesets/fix_geal_update_router_bridge_deno.md b/.changesets/fix_geal_update_router_bridge_deno.md new file mode 100644 index 0000000000..e7d53867cd --- /dev/null +++ b/.changesets/fix_geal_update_router_bridge_deno.md @@ -0,0 +1,7 @@ +### Update the query planner to 2.4.6 ([Issue #3133](https://github.com/apollographql/router/issues/3133)) + +This fixes some errors in query planning on fragment with overlapping subselections, with a message of the form "Cannot add selection of field X to selection set of parent type Y". + +The new router-bridge version also allows updating some dependencies that were fixed to older versions: bytes, regex, once_cell, tokio, uuid + +By [@Geal](https://github.com/Geal) in https://github.com/apollographql/router/pull/3135 \ No newline at end of file