bnspopi opened a new pull request, #74593: URL: https://github.com/apache/airflow/pull/74593
The chart sets a preStop hook on PgBouncer by default: `killall -INT pgbouncer && sleep 120`. Since PgBouncer 1.23 SIGINT means "close the database connections and exit now", so the process is gone in well under a second. The pod stops accepting connections before Kubernetes has taken it out of the Service endpoints, and during a rolling restart new connections still get routed to it and fail with `Connection refused`. That is what #69571 reports. The `sleep 120` after it never runs for long because the container exits first. This removes the default hook, as @Miretpl suggested in #69608. With no hook Kubernetes sends SIGTERM. On SIGTERM PgBouncer keeps serving the clients that are already connected and exits when they have all disconnected. In the meantime the terminating pod is removed from the endpoints, so new connections go to the other replicas. `terminationGracePeriodSeconds` (120 by default since #71237) caps how long the drain can take. Nothing changes for users who set `pgbouncer.containerLifecycleHooks` themselves. The schema default and the lifecycle test are updated to match, and the comment on `terminationGracePeriodSeconds` no longer refers to the removed hook. I have not been able to try this on a busy cluster, so it would be good if @andrew-stein-sp could confirm it fixes the dropped connections he saw. closes: #69571 related: #69608, #71237 --- ##### Was generative AI tooling used to co-author this PR? - [X] Yes (Claude Code) Generated-by: Claude Code following [the guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions) --- * Read the **[Pull Request Guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#pull-request-guidelines)** for more information. Note: commit author/co-author name and email in commits become permanently public when merged. * For fundamental code changes, an Airflow Improvement Proposal ([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvement+Proposals)) is needed. * When adding dependency, check compliance with the [ASF 3rd Party License Policy](https://www.apache.org/legal/resolved.html#category-x). * For significant user-facing changes create newsfragment: `{pr_number}.significant.rst`, in [airflow-core/newsfragments](https://github.com/apache/airflow/tree/main/airflow-core/newsfragments). You can add this file in a follow-up commit after the PR is created so you know the PR number. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
