Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Helm: If there are extraLabels add them to all resources #3622

Merged
merged 84 commits into from
Sep 12, 2023
Merged
Changes from 1 commit
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
8b95abd
If there are extraLabels add them to all resources
garypen Aug 21, 2023
ff245d4
add labels to servicemonitor
garypen Aug 21, 2023
81c7a77
add a changeset
garypen Aug 21, 2023
7e99e38
Merge branch 'dev' into garypen/helm-extra-labels
garypen Aug 22, 2023
1a242e0
add co-author
garypen Aug 22, 2023
1aa8adf
update changeset to add co-author
garypen Aug 22, 2023
3e0663d
Merge branch 'dev' into garypen/helm-extra-labels
garypen Aug 29, 2023
db2fa18
Only save CircleCI caches when running against dev
Aug 29, 2023
4ebf850
The metrics layer was soercing all metrics attributes to string. This…
Aug 28, 2023
4109a2e
Fix metrics attribute types
Aug 28, 2023
9aabf8d
Ensure that errors from metrics layer are only output when it is actu…
Aug 29, 2023
92593a1
Update router bridge counter metrics to correct type
Aug 29, 2023
e32cab7
Uplink connections now reuse reqwest client (#3703)
BrynCooke Aug 29, 2023
e84f93d
Clarify that metrics are available for Prometheus and OpenTelemetry (…
shorgi Aug 30, 2023
602bf64
fix(deps): update all non-major packages >= 1.0 (#3627)
renovate[bot] Aug 30, 2023
028875a
chore(deps): update rust crate memchr to 2.6.2
renovate[bot] Aug 30, 2023
14e8a1f
fix(deps): update dependency @apollo/server to v4.9.3 [security]
renovate[bot] Aug 30, 2023
b215bbf
fix(deps): update dependency dd-trace to v4.14.0
renovate[bot] Aug 31, 2023
4201304
fix(deps): update rust crate router-bridge to v0.5.4+v2.5.3 (#3581)
renovate[bot] Aug 31, 2023
bda155e
fix(deps): update rust crate clap to 4.4.2
renovate[bot] Aug 31, 2023
1472e8a
Reintroduce authorization documentation (#3673)
Geal Sep 1, 2023
bc188ab
Revert "Fix metrics attribute types" (#3722)
abernix Sep 1, 2023
b60304b
Fix monotonic counter type
o0Ignition0o Sep 1, 2023
7a58ea4
fix(deps): update rust crate regex to 1.9.5
renovate[bot] Sep 2, 2023
22bf32e
chore(deps): update all non-major packages >= 1.0
renovate[bot] Sep 2, 2023
2c3a22c
small performance improvements for telemetry (#3656)
Geal Sep 4, 2023
35be1cc
remove clones from the header plugin (#3721)
Geal Sep 4, 2023
058322c
chore: removes unused introspector-gadget crate (#3709)
EverlastingBugstopper Sep 4, 2023
0d30b47
docs: add persisted query configuration options info (#3652)
Meschreiber Aug 30, 2023
0402f7a
prep release: v1.29.0-rc.0
abernix Sep 1, 2023
9c1b2fa
prep release: v1.29.0-rc.1
abernix Sep 1, 2023
b1bbf97
GraphQL response processing must happen under the execution span (#3732)
Geal Sep 4, 2023
17f68e3
prep release: v1.29.0
Geal Sep 4, 2023
4222fbe
docs: fix broken links (#3711)
Meschreiber Sep 4, 2023
97b09b3
Fix: Allow anonymous operation_name to be set in the context.
o0Ignition0o Sep 4, 2023
2a7e4b5
lint
o0Ignition0o Sep 4, 2023
8659ca8
remove the function alltogether, along with its call
o0Ignition0o Sep 4, 2023
262d690
changeset
abernix Sep 4, 2023
541d661
remove unused import
o0Ignition0o Sep 4, 2023
72667fb
docs: graduate Authorization to preview from experimental (#3739)
Geal Sep 4, 2023
56bf910
prep release: v1.29.1
abernix Sep 4, 2023
fd03dc4
CHANGELOG edits for v1.28.x and v1.29.0 warnings
abernix Sep 4, 2023
09957b1
Remove invalid formatting of MD code-fence and trailing newlines.
abernix Sep 4, 2023
a6098f8
Fix changelog formatting error on `main` (#3744)
abernix Sep 4, 2023
e7c17ab
chore(deps): update actions/checkout action to v4 (#3733)
renovate[bot] Sep 5, 2023
9a0cd4e
metadata cleanup (#3746)
Geal Sep 5, 2023
ea277ca
provide a rhai interface to the router service (#3234)
garypen Sep 5, 2023
e060463
Do not record a trace if telemetry is not configured (#2999)
Geal Sep 5, 2023
6d7f538
fix(subscription): add x-accel-buffering header for multipart respons…
bnjjj Sep 5, 2023
aef6051
Upgrade webpki and rustls-webpki crates (#3728)
SimonSapin Sep 5, 2023
cf122ed
fix(deps): update rust crate router-bridge to v0.5.5+v2.5.4 (#3717)
renovate[bot] Sep 5, 2023
f5ff6b1
GraphOS authorization: add an example of scope manipulation with rout…
Geal Sep 5, 2023
5ed030c
fix: handle correctly multipart stream if the original stream is empt…
bnjjj Sep 5, 2023
ce964d3
fix authenticated directive reporting (#3753)
Geal Sep 5, 2023
eb58fd4
fix(deps): update rust crate walkdir to 2.4.0
renovate[bot] Sep 5, 2023
a4adccf
feat(apollo-router): add support for GraphOS Cloud metrics (#3761)
nmoutschen Sep 6, 2023
dbc8925
Deal with interfaces on fragment spreads when no __typename is queried
o0Ignition0o Sep 1, 2023
f719ee5
changeset
o0Ignition0o Sep 1, 2023
5494b36
move the logic to selection set generation
o0Ignition0o Sep 1, 2023
7af9125
revert unused refacto
o0Ignition0o Sep 1, 2023
642f8d1
add one more test on best_effort with a more relevant output
o0Ignition0o Sep 1, 2023
0e2bcea
use snapshots in the tests and different ids to recognize responses
Geal Sep 5, 2023
66edc80
keep using the current type as known type at the fragment application
Geal Sep 5, 2023
cb8d618
add geoffroy to changeset
o0Ignition0o Sep 5, 2023
911185c
Fix metrics attribute types (#3724)
BrynCooke Sep 6, 2023
0cceca7
Update rust toolchain to 1.72.0 (#3707)
o0Ignition0o Sep 6, 2023
961fff4
Add experimental caching metrics (#3558)
Geal Sep 6, 2023
99ba9bd
remove a cloned entity from response_at_path (#3759)
Geal Sep 6, 2023
03dde95
reference a github discussion about GraphOS Authorization (#3755)
Geal Sep 6, 2023
a7aa87e
Replace atty crate with std (#3729)
SimonSapin Sep 6, 2023
49d3317
Add apollo.router.id to otlp metrics metadata (#3764)
BrynCooke Sep 7, 2023
44cfc96
fix(subscription): force the deduplication to be enabled by default a…
bnjjj Sep 7, 2023
2915737
fix(deps): update rust crate bytes to 1.5.0
renovate[bot] Sep 7, 2023
81fc803
Add logs and extend metrics for `graphql_validation_mode: both` (#3674)
goto-bus-stop Sep 8, 2023
08c52db
fix(deps): update dependency dd-trace to v4.15.0
renovate[bot] Sep 8, 2023
f25aa0e
chore(deps): update all non-major packages >= 1.0
renovate[bot] Sep 11, 2023
ba109e0
Fix metrics typos (#3798)
BrynCooke Sep 11, 2023
9481e8e
Subgraph authentication: Make sure Request signing happens after Comp…
o0Ignition0o Sep 11, 2023
619e284
Fix: deal with interface inheritance when retrieving selectionset (#3…
o0Ignition0o Sep 11, 2023
fba9670
docs: fix auth rhai example and link (#3795)
parkerholladay Sep 11, 2023
904b309
Update tokio-tungstenite (#3643)
Geal Sep 11, 2023
970d39d
Update Changelog for #3586 (#3804)
abernix Sep 12, 2023
a791fdd
update the documentation for extraLabels
garypen Sep 12, 2023
6999a65
Merge branch 'dev' into garypen/helm-extra-labels
garypen Sep 12, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fix(subscription): force the deduplication to be enabled by default a…
…s it's documented (#3773)

`subscription.enable_deduplication` was documented to be `true` by
default but it wasn't really the case.

---------

Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
Co-authored-by: Jeremy Lempereur <jeremy.lempereur@iomentum.com>
2 people authored and garypen committed Sep 12, 2023

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
commit 44cfc9678867919ed7ddfefb1a463feeb4d5c56f
8 changes: 8 additions & 0 deletions .changesets/fix_bnjjj_subscription_default_configuration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
### fix(subscription): force the deduplication to be enabled by default as it's documented ([PR #3773](https://github.com/apollographql/router/pull/3773))

A bug was introduced in router v1.25.0 which caused [subscription deduplication](https://www.apollographql.com/docs/router/executing-operations/subscription-support#subscription-deduplication) to be disabled by default.
As documented, the router will enable deduplication by default, providing you with subscriptions that scale.

Should you decide to disable it, you can still explicitly set `enable_deduplication` to `false`.

By [@bnjjj](https://github.com/bnjjj) in https://github.com/apollographql/router/pull/3773
Original file line number Diff line number Diff line change
@@ -1641,17 +1641,15 @@ expression: "&schema"
"subscription": {
"description": "Subscriptions configuration",
"type": "object",
"required": [
"enabled"
],
"properties": {
"enable_deduplication": {
"description": "Enable the deduplication of subscription (for example if we detect the exact same request to subgraph we won't open a new websocket to the subgraph in passthrough mode) (default: true)",
"default": false,
"default": true,
"type": "boolean"
},
"enabled": {
"description": "Enable subscription",
"default": true,
"type": "boolean"
},
"max_opened_subscriptions": {
29 changes: 23 additions & 6 deletions apollo-router/src/plugins/subscription.rs
Original file line number Diff line number Diff line change
@@ -56,31 +56,32 @@ pub(crate) struct Subscription {

/// Subscriptions configuration
#[derive(Debug, Clone, Deserialize, Serialize, JsonSchema)]
#[serde(deny_unknown_fields)]
#[serde(deny_unknown_fields, default)]
pub(crate) struct SubscriptionConfig {
/// Enable subscription
pub(crate) enabled: bool,
/// Select a subscription mode (callback or passthrough)
#[serde(default)]
pub(crate) mode: SubscriptionModeConfig,
/// Enable the deduplication of subscription (for example if we detect the exact same request to subgraph we won't open a new websocket to the subgraph in passthrough mode)
/// (default: true)
#[serde(default)]
#[serde(default = "enable_deduplication_default")]
pub(crate) enable_deduplication: bool,
/// This is a limit to only have maximum X opened subscriptions at the same time. By default if it's not set there is no limit.
#[serde(default)]
pub(crate) max_opened_subscriptions: Option<usize>,
/// It represent the capacity of the in memory queue to know how many events we can keep in a buffer
#[serde(default)]
pub(crate) queue_capacity: Option<usize>,
}

fn enable_deduplication_default() -> bool {
true
}

impl Default for SubscriptionConfig {
fn default() -> Self {
Self {
enabled: true,
mode: Default::default(),
enable_deduplication: true,
enable_deduplication: enable_deduplication_default(),
max_opened_subscriptions: None,
queue_capacity: None,
}
@@ -1268,6 +1269,22 @@ mod tests {

let subgraph_cfg = config_without_mode.mode.get_subgraph_config("test");
assert_eq!(subgraph_cfg, None);

let sub_config: SubscriptionConfig = serde_json::from_value(serde_json::json!({
"mode": {
"preview_callback": {
"public_url": "http://localhost:4000",
"path": "/subscription/callback",
"subgraphs": ["test"]
}
}
}))
.unwrap();

assert!(sub_config.enabled);
assert!(sub_config.enable_deduplication);
assert!(sub_config.max_opened_subscriptions.is_none());
assert!(sub_config.queue_capacity.is_none());
}
}