feat(federation): add query planner config flags to the CLI#5769
feat(federation): add query planner config flags to the CLI#5769goto-bus-stop merged 4 commits intodevfrom
Conversation
|
@goto-bus-stop, please consider creating a changeset entry in |
|
CI performance tests
|
apollo-federation/cli/src/main.rs
Outdated
| #[arg(long, default_value_t = false)] | ||
| enable_defer: bool, | ||
| /// Turn off fragment reuse in subgraph queries. | ||
| #[arg(long = "no-reuse-fragments", default_value_t = true, action = clap::ArgAction::SetFalse)] |
There was a problem hiding this comment.
Wouldn't it be more consistent with harness to have "reuse-fragments" with false as default?
There was a problem hiding this comment.
my goal here is to match the default configuration of the query planner.
I would've preferred to have --reuse-fragments to explicitly turn it on and --no-reuse-fragments to explicitly turn it off, and using the QueryPlannerConfig default if neither is given.
There was a problem hiding this comment.
I had a similar discussion with @lrlna over at performance-harness. I thought the same thing and added --disable-reuse-fragments, but I realized it would be another complexity added, while --reuse-fragments <true/false> option is used everywhere else.
duckki
left a comment
There was a problem hiding this comment.
Besides some bikeshedding on the command line option, it looks good otherwise. We can always change the internal cli tool's interface, if we want to.
apollo-federation/cli/src/main.rs
Outdated
| #[arg(long, default_value_t = false)] | ||
| enable_defer: bool, | ||
| /// Turn off fragment reuse in subgraph queries. | ||
| #[arg(long = "no-reuse-fragments", default_value_t = true, action = clap::ArgAction::SetFalse)] |
There was a problem hiding this comment.
I had a similar discussion with @lrlna over at performance-harness. I thought the same thing and added --disable-reuse-fragments, but I realized it would be another complexity added, while --reuse-fragments <true/false> option is used everywhere else.
A better way to tinker with options than editing the source.