Skip to content

Commit fa3e349

Browse files
jroachgolf84shubham-pyc
authored andcommitted
Changing triggerer config option default_capacity to capacity (apache#48032)
1 parent 1e83e47 commit fa3e349

File tree

8 files changed

+18
-7
lines changed

8 files changed

+18
-7
lines changed

airflow-core/src/airflow/cli/commands/remote_commands/config_command.py

+5
Original file line numberDiff line numberDiff line change
@@ -499,6 +499,11 @@ def message(self) -> str | None:
499499
ConfigChange(
500500
config=ConfigParameter("database", "load_default_connections"),
501501
),
502+
# triggerer
503+
ConfigChange(
504+
config=ConfigParameter("triggerer", "default_capacity"),
505+
renamed_to=ConfigParameter("triggerer", "capacity"),
506+
),
502507
]
503508

504509

airflow-core/src/airflow/config_templates/config.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2587,7 +2587,7 @@ scheduler:
25872587
triggerer:
25882588
description: ~
25892589
options:
2590-
default_capacity:
2590+
capacity:
25912591
description: |
25922592
How many triggers a single Triggerer will run at once, by default.
25932593
version_added: 2.2.0

airflow-core/src/airflow/configuration.py

+1
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,7 @@ def sensitive_config_values(self) -> set[tuple[str, str]]:
332332
("api", "ssl_cert"): ("webserver", "web_server_ssl_cert", "3.0"),
333333
("api", "ssl_key"): ("webserver", "web_server_ssl_key", "3.0"),
334334
("api", "access_logfile"): ("webserver", "access_logfile", "3.0"),
335+
("triggerer", "capacity"): ("triggerer", "default_capacity", "3.0"),
335336
}
336337

337338
# A mapping of new section -> (old section, since_version).

airflow-core/src/airflow/jobs/triggerer_job_runner.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ def __init__(
9595
):
9696
super().__init__(job)
9797
if capacity is None:
98-
self.capacity = conf.getint("triggerer", "default_capacity", fallback=1000)
98+
self.capacity = conf.getint("triggerer", "capacity")
9999
elif isinstance(capacity, int) and capacity > 0:
100100
self.capacity = capacity
101101
else:

chart/templates/_helpers.yaml

+6
Original file line numberDiff line numberDiff line change
@@ -664,6 +664,12 @@ server_tls_key_file = /etc/pgbouncer/server.key
664664
{{- include "_serviceAccountName" (merge (dict "key" "triggerer") .) -}}
665665
{{- end }}
666666

667+
{{/* Determine trigger capacity, taking Airflow 2 and 3 config option differences into account */}}
668+
{{- define "triggerer.capacity" -}}
669+
{{- $triggerer_section := .Values.config.triggerer | default dict }}
670+
{{- $triggerer_section.capacity | default $triggerer_section.default_capacity | default 1000 | int -}}
671+
{{- end -}}
672+
667673
{{/* Create the name of the dag processor service account to use */}}
668674
{{- define "dagProcessor.serviceAccountName" -}}
669675
{{- include "_serviceAccountName" (merge (dict "key" "dagProcessor" "nameSuffix" "dag-processor") .) -}}

chart/values.schema.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -3580,7 +3580,7 @@
35803580
"query": {
35813581
"description": "Query to use for KEDA autoscaling. Must return a single integer.",
35823582
"type": "string",
3583-
"default": "SELECT ceil(COUNT(*)::decimal / {{ .Values.config.triggerer.default_capacity }}) FROM trigger"
3583+
"default": "SELECT ceil(COUNT(*)::decimal / {{ include \"triggerer.capacity\" . }}) FROM trigger"
35843584
},
35853585
"usePgbouncer": {
35863586
"description": "Whether to use PGBouncer to connect to the database or not when it is enabled. This configuration will be ignored if PGBouncer is not enabled.",

chart/values.yaml

+2-3
Original file line numberDiff line numberDiff line change
@@ -1806,7 +1806,7 @@ triggerer:
18061806

18071807
# Query to use for KEDA autoscaling. Must return a single integer.
18081808
query: >-
1809-
SELECT ceil(COUNT(*)::decimal / {{ .Values.config.triggerer.default_capacity }})
1809+
SELECT ceil(COUNT(*)::decimal / {{ include "triggerer.capacity" . }})
18101810
FROM trigger
18111811
18121812
# Whether to use PGBouncer to connect to the database or not when it is enabled
@@ -2710,8 +2710,7 @@ config:
27102710
worker_container_repository: '{{ .Values.images.airflow.repository | default .Values.defaultAirflowRepository }}'
27112711
worker_container_tag: '{{ .Values.images.airflow.tag | default .Values.defaultAirflowTag }}'
27122712
multi_namespace_mode: '{{ ternary "True" "False" .Values.multiNamespaceMode }}'
2713-
triggerer:
2714-
default_capacity: 1000
2713+
27152714
# yamllint enable rule:line-length
27162715

27172716
# Whether Airflow can launch workers and/or pods in multiple namespaces

helm_tests/airflow_core/test_triggerer.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -812,7 +812,7 @@ def test_include_event_source_container_name_in_scaled_object_for_triggerer(self
812812
),
813813
# test custom template query
814814
(
815-
"SELECT ceil(COUNT(*)::decimal / {{ mul .Values.config.triggerer.default_capacity 2 }})"
815+
'SELECT ceil(COUNT(*)::decimal / {{ mul (include "triggerer.capacity" . | int) 2 }})'
816816
" FROM trigger",
817817
"SELECT ceil(COUNT(*)::decimal / 2000) FROM trigger",
818818
),

0 commit comments

Comments
 (0)