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 to upstream v3.3.1 #8

Merged
merged 16 commits into from
Jun 20, 2024
Merged

Rebase to upstream v3.3.1 #8

merged 16 commits into from
Jun 20, 2024

Commits on May 24, 2024

  1. Configuration menu
    Copy the full SHA
    0a6c09e View commit details
    Browse the repository at this point in the history

Commits on Jun 11, 2024

  1. Configuration menu
    Copy the full SHA
    0a91948 View commit details
    Browse the repository at this point in the history
  2. Refactor format_dsn() method (patroni#3069)

    so that it doesn't take any decisions about which keywords should appear in the connection string and just uses a provided dict.
    CyberDem0n authored Jun 11, 2024
    Configuration menu
    Copy the full SHA
    1b7b8e6 View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2024

  1. Fix infinite recursion in in replicatefrom tags (patroni#3072)

    Besides that:
    1. fix problem with is_physical_slot() methods, it was returning false positives for logical slots.
    2. Fix a little issue with replicatefrom docs.
    
    Close patroni#3068
    CyberDem0n authored Jun 12, 2024
    Configuration menu
    Copy the full SHA
    b6c5a12 View commit details
    Browse the repository at this point in the history
  2. Compatibility with 17-beta1 (patroni#3076)

    - updated list of GUCs
    - updated regex for filtering backend processes by name
    - `primary_conninfo` will contain `dbname` parameter
    
    The last one is required for synchronizing logical replication slots by slotsync worker and doesn't create problems on older versions.
    CyberDem0n authored Jun 12, 2024
    Configuration menu
    Copy the full SHA
    1ed207c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    dc7ba3f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    14a44e1 View commit details
    Browse the repository at this point in the history

Commits on Jun 14, 2024

  1. Standby cluster can't have synchronous nodes (patroni#3079)

    `synchronous_standby_names` and synchronous replication only work on a real primary node and in case of cascading replication simply ignored by Postgres.
    This fact was already addressed by `global_config.is_synchronous_mode`, but in case if in a standby cluster the `/sync` key in DCS is not empty, `patronictl list` and `GET /cluster` were falsely reporting some nodes as synchronous because this check was missing.
    
    Close patroni#3078
    CyberDem0n authored Jun 14, 2024
    Configuration menu
    Copy the full SHA
    af03c61 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2a003a3 View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2024

  1. Don't socket.getaddrinfo() from config_generator.py (patroni#3082)

    the get_address() function was called when config_generator.py is loaded because it was required to initialize `_HOSTNAME` and `_IP` properties of `AbstractConfigGenerator` and in some cases making unit tests very slow.
    CyberDem0n authored Jun 17, 2024
    Configuration menu
    Copy the full SHA
    a5d095e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6e1f9f7 View commit details
    Browse the repository at this point in the history
  3. Change all links and org references (patroni#3086)

    * Change all links and org references
    
    * Update coverage status badge
    hughcapet authored Jun 17, 2024
    Configuration menu
    Copy the full SHA
    d4fd782 View commit details
    Browse the repository at this point in the history
  4. Release v3.3.1 (patroni#3087)

    * Update release notes
    * Bump version
    * Bump pyright version and solve reported issues
    
    ---------
    
    Co-authored-by: Alexander Kukushkin <[email protected]>
    hughcapet and CyberDem0n authored Jun 17, 2024
    Configuration menu
    Copy the full SHA
    6b7ec49 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7067d74 View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 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 Jun 20, 2024
    Configuration menu
    Copy the full SHA
    568aedb 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 Jun 20, 2024
    Configuration menu
    Copy the full SHA
    db1b134 View commit details
    Browse the repository at this point in the history