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

Rebase custom changes over Patroni 4 #9

Merged
merged 2 commits into from
Sep 17, 2024

Commits on Sep 17, 2024

  1. Make member xlog updates frequency configurable in K8s

    In the past, Patroni had to update the member key every `loop_wait` interval to prevent its disappearance due to TTL. In Kubernetes, the member key won't disappear, however, Patroni still updates it regularly to propagate current xlog location.
    
    Make those updates configurable. If `kubernetes.xlog_cache_ttl` is set to a positive value and no other member data (i.e. role or timeline) changes, do not update the member pod annotation more frequently than the value of `xlog_cache_ttl` seconds.
    
    This reduces the load on the K8s API, as we don't have to update the pod every loop_wait interval.
    
    If the member needs to be updated due to other reasons (i.e. role change), the xlog position is set to the up-to-date one received from Postgres.
    
    When DEBUG logging is turned on, Patroni will emit log messages similar to the one below when the xlog-only update is withheld because of this parameter:
    
    ```
    2024-06-06 11:34:36,308 DEBUG: prevented pod update, keeping cached xlog value for up to 10 seconds
    ```
    
    This parameter is set to 0 by default, so this feature is disabled unless turned on explicitly by the user. The maximum value is 3600s.
    alexeyklyukin committed Sep 17, 2024
    Configuration menu
    Copy the full SHA
    34ca26b View commit details
    Browse the repository at this point in the history
  2. Log repeated "no action" messages at a DEBUG level

    Many people have to tune Patroni log level to WARNING, since messages like "no action: I am (patroni1), the leader with the lock" are emitted every HA loop run at an INFO level. Those are noisy and not terribly useful, as Patroni emits a different message anyway when the status quo changes.
    
    This commit changes the default behavior by showing the "no action" message as an INFO for the first time, demoting subsequent repeated "no action" messages to DEBUG.
    alexeyklyukin committed Sep 17, 2024
    Configuration menu
    Copy the full SHA
    25ff390 View commit details
    Browse the repository at this point in the history