From d8c69e42e68b47a755515068118f6f2cb7931990 Mon Sep 17 00:00:00 2001 From: Bobby Bissett Date: Mon, 18 Sep 2023 15:46:23 -0400 Subject: [PATCH 01/23] Initial updates for efm 4.8. There are still some things marked "TODO" and more work needed on the release notes (including a release date). --- .../products/failover-manager/base.njk | 14 ++++----- .../01_cluster_properties.mdx | 4 +-- .../02_encrypting_database_password.mdx | 10 +++---- .../04_configuring_efm/03_cluster_members.mdx | 2 +- .../04_extending_efm_permissions.mdx | 16 +++++----- product_docs/docs/efm/4/05_using_efm.mdx | 15 +++++----- .../docs/efm/4/07_using_efm_utility.mdx | 11 +++++++ .../docs/efm/4/08_controlling_efm_service.mdx | 14 ++++----- .../docs/efm/4/13_troubleshooting.mdx | 12 ++++++-- .../14_configuring_streaming_replication.mdx | 2 +- .../docs/efm/4/efm_quick_start/index.mdx | 18 +++++------ .../4/efm_rel_notes/02_efm_48_rel_notes.mdx | 19 ++++++++++++ .../docs/efm/4/efm_rel_notes/index.mdx | 1 + .../4/installing/linux_ppc64le/efm_rhel_8.mdx | 2 +- .../4/installing/linux_ppc64le/efm_rhel_9.mdx | 2 +- .../installing/linux_ppc64le/efm_sles_12.mdx | 2 +- .../installing/linux_ppc64le/efm_sles_15.mdx | 2 +- .../installing/linux_x86_64/efm_centos_7.mdx | 2 +- .../installing/linux_x86_64/efm_debian_10.mdx | 2 +- .../installing/linux_x86_64/efm_debian_11.mdx | 2 +- .../linux_x86_64/efm_other_linux_8.mdx | 2 +- .../linux_x86_64/efm_other_linux_9.mdx | 2 +- .../4/installing/linux_x86_64/efm_rhel_7.mdx | 2 +- .../4/installing/linux_x86_64/efm_rhel_8.mdx | 2 +- .../4/installing/linux_x86_64/efm_rhel_9.mdx | 2 +- .../4/installing/linux_x86_64/efm_sles_12.mdx | 2 +- .../4/installing/linux_x86_64/efm_sles_15.mdx | 2 +- .../installing/linux_x86_64/efm_ubuntu_18.mdx | 2 +- .../installing/linux_x86_64/efm_ubuntu_20.mdx | 2 +- .../installing/linux_x86_64/efm_ubuntu_22.mdx | 2 +- .../docs/efm/4/installing/prerequisites.mdx | 8 ++--- product_docs/docs/efm/4/upgrading.mdx | 30 +++++++++---------- 32 files changed, 124 insertions(+), 86 deletions(-) create mode 100644 product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx diff --git a/install_template/templates/products/failover-manager/base.njk b/install_template/templates/products/failover-manager/base.njk index 7004f34dd2d..e543d9be41e 100644 --- a/install_template/templates/products/failover-manager/base.njk +++ b/install_template/templates/products/failover-manager/base.njk @@ -2,10 +2,10 @@ {% set packageName %}edb-efm<4x>{% endset %} {% import "platformBase/_deploymentConstants.njk" as deploy %} {% block frontmatter %} -{# +{# If you modify deployment path here, please first copy the old expression - and add it to the list under "redirects:" below - this ensures we don't - break any existing links. + and add it to the list under "redirects:" below - this ensures we don't + break any existing links. #} deployPath: efm/{{ product.version }}/installing/linux_{{platform.arch}}/efm_{{deploy.map_platform[platform.name]}}.mdx redirects: @@ -16,12 +16,12 @@ redirects: - Install Postgres on the same host (not needed for witness nodes). - See [Installing EDB Postgres Advanced Server](/epas/latest/epas_inst_linux) - + - See [PostgreSQL Downloads](https://www.postgresql.org/download/) {{ super() }} {% endblock product_prerequisites %} {% block postinstall %} -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. @@ -35,8 +35,8 @@ After installing on each node of the cluster: 2. Modify the [cluster members file](../../04_configuring_efm/03_cluster_members/#cluster_members) on each node. 3. If applicable, configure and test virtual IP address settings and any scripts that are identified in the cluster properties file. 4. Start the agent on each node of the cluster. For more information, see [Controlling the Failover Manager service](../../08_controlling_efm_service/). -{% endblock postinstall %} +{% endblock postinstall %} -xxxxxx \ No newline at end of file +xxxxxx diff --git a/product_docs/docs/efm/4/04_configuring_efm/01_cluster_properties.mdx b/product_docs/docs/efm/4/04_configuring_efm/01_cluster_properties.mdx index 744369e89f2..1113b74e799 100644 --- a/product_docs/docs/efm/4/04_configuring_efm/01_cluster_properties.mdx +++ b/product_docs/docs/efm/4/04_configuring_efm/01_cluster_properties.mdx @@ -15,7 +15,7 @@ Each node in a Failover Manager cluster has a properties file (by default, named After completing the Failover Manager installation, make a working copy of the template before modifying the file contents: ```text -# cp /etc/edb/efm-4.7/efm.properties.in /etc/edb/efm-4.7/efm.properties +# cp /etc/edb/efm-4.8/efm.properties.in /etc/edb/efm-4.8/efm.properties ``` After copying the template file, change the owner of the file to efm: @@ -690,7 +690,7 @@ auto.failover=true -Use the `auto.reconfigure` property to instruct Failover Manager to enable or disable automatic reconfiguration of remaining standby servers after the primary standby is promoted to primary. Set the property to `true` (the default) to enable automatic reconfiguration or `false` to disable automatic reconfiguration. This property isn't required on a dedicated witness node. If you're using EDB Postgres Advanced Server or PostgreSQL version 11 or earlier, the `recovery.conf` file is backed up during the reconfiguration process. +Use the `auto.reconfigure` property to instruct Failover Manager to enable or disable automatic reconfiguration of remaining standby servers after the primary standby is promoted to primary. Set the property to `true` (the default) to enable automatic reconfiguration or `false` to disable automatic reconfiguration. This property isn't required on a dedicated witness node. If you're using EDB Postgres Advanced Server or PostgreSQL version 11, the `recovery.conf` file is backed up during the reconfiguration process. ```ini # After a standby is promoted, Failover Manager will attempt to diff --git a/product_docs/docs/efm/4/04_configuring_efm/02_encrypting_database_password.mdx b/product_docs/docs/efm/4/04_configuring_efm/02_encrypting_database_password.mdx index 1b6ecdf8a5a..55a32440c2f 100644 --- a/product_docs/docs/efm/4/04_configuring_efm/02_encrypting_database_password.mdx +++ b/product_docs/docs/efm/4/04_configuring_efm/02_encrypting_database_password.mdx @@ -35,7 +35,7 @@ This example shows using the `encrypt` utility to encrypt a password for the `ac # efm encrypt acctg This utility will generate an encrypted password for you to place in your Failover Manager cluster property file: -/etc/edb/efm-4.7/acctg.properties +/etc/edb/efm-4.8/acctg.properties Please enter the password and hit enter: Please enter the password again to confirm: The encrypted password is: 516b36fb8031da17cfbc010f7d09359c @@ -49,16 +49,16 @@ db.password.encrypted=516b36fb8031da17cfbc010f7d09359c After receiving your encrypted password, paste the password into the properties file and start the Failover Manager service. If there's a problem with the encrypted password, the Failover Manager service doesn't start: ```text -[witness@localhost ~]# systemctl start edb-efm-4.7 -Job for edb-efm-4.7.service failed because the control process exited with error code. See "systemctl status edb-efm-4.7.service" and "journalctl -xe" for details. +[witness@localhost ~]# systemctl start edb-efm-4.8 +Job for edb-efm-4.8.service failed because the control process exited with error code. See "systemctl status edb-efm-4.8.service" and "journalctl -xe" for details. ``` -If you receive this message when starting the Failover Manager service, see the startup log `/var/log/efm-4.7/startup-efm.log` for more information. +If you receive this message when starting the Failover Manager service, see the startup log `/var/log/efm-4.8/startup-efm.log` for more information. If you are using RHEL/CentOS 7.x or RHEL/Rocky Linux/AlmaLinux 8.x, startup information is also available with the following command: ```shell -systemctl status edb-efm-4.7 +systemctl status edb-efm-4.8 ``` To prevent a cluster from inadvertently connecting to the database of another cluster, the cluster name is incorporated into the encrypted password. If you modify the cluster name, you must re-encrypt the database password and update the cluster properties file. diff --git a/product_docs/docs/efm/4/04_configuring_efm/03_cluster_members.mdx b/product_docs/docs/efm/4/04_configuring_efm/03_cluster_members.mdx index 134b071df39..aae28ced623 100644 --- a/product_docs/docs/efm/4/04_configuring_efm/03_cluster_members.mdx +++ b/product_docs/docs/efm/4/04_configuring_efm/03_cluster_members.mdx @@ -15,7 +15,7 @@ Each node in a Failover Manager cluster has a cluster members file (by default n After completing the Failover Manager installation, make a working copy of the template: ```shell -cp /etc/edb/efm-4.7/efm.nodes.in /etc/edb/efm-4.7/efm.nodes +cp /etc/edb/efm-4.8/efm.nodes.in /etc/edb/efm-4.8/efm.nodes ``` After copying the template file, change the owner of the file to efm: diff --git a/product_docs/docs/efm/4/04_configuring_efm/04_extending_efm_permissions.mdx b/product_docs/docs/efm/4/04_configuring_efm/04_extending_efm_permissions.mdx index 59d7e9ce6ec..004880724b2 100644 --- a/product_docs/docs/efm/4/04_configuring_efm/04_extending_efm_permissions.mdx +++ b/product_docs/docs/efm/4/04_configuring_efm/04_extending_efm_permissions.mdx @@ -36,18 +36,18 @@ The `efm-42` file is located in `/etc/sudoers.d` and contains the following entr # If you run your db service under a non-default account, you will need to copy # this file to grant the proper permissions and specify the account in your efm # cluster properties file by changing the 'db.service.owner' property. -efm ALL=(postgres) NOPASSWD: /usr/edb/efm-4.7/bin/efm_db_functions -efm ALL=(enterprisedb) NOPASSWD: /usr/edb/efm-4.7/bin/efm_db_functions +efm ALL=(postgres) NOPASSWD: /usr/edb/efm-4.8/bin/efm_db_functions +efm ALL=(enterprisedb) NOPASSWD: /usr/edb/efm-4.8/bin/efm_db_functions # Allow user 'efm' to sudo efm_root_functions as 'root' to write/delete the PID file, # validate the db.service.owner property, etc. -efm ALL=(ALL) NOPASSWD: /usr/edb/efm-4.7/bin/efm_root_functions +efm ALL=(ALL) NOPASSWD: /usr/edb/efm-4.8/bin/efm_root_functions # Allow user 'efm' to sudo efm_address as root for VIP tasks. -efm ALL=(ALL) NOPASSWD: /usr/edb/efm-4.7/bin/efm_address +efm ALL=(ALL) NOPASSWD: /usr/edb/efm-4.8/bin/efm_address # Allow user 'efm' to sudo efm_pgpool_functions as root for pgpool tasks. -efm ALL=(ALL) NOPASSWD: /usr/edb/efm-4.7/bin/efm_pgpool_functions +efm ALL=(ALL) NOPASSWD: /usr/edb/efm-4.8/bin/efm_pgpool_functions # relax tty requirement for user 'efm' Defaults:efm !requiretty @@ -89,9 +89,9 @@ To run Failover Manager without sudo, you must select a database process owner w ```shell su - enterprisedb - cp /etc/edb/efm-4.7/efm.properties.in .properties + cp /etc/edb/efm-4.8/efm.properties.in .properties - cp /etc/edb/efm-4.7/efm.nodes.in /.nodes + cp /etc/edb/efm-4.8/efm.nodes.in /.nodes ``` Then, modify the cluster properties file, providing the name of the user in the `db.service.owner` property. Also make sure that the `db.service.name` property is blank. Without sudo, you can't run services without root access. @@ -99,7 +99,7 @@ Then, modify the cluster properties file, providing the name of the user in the After modifying the configuration, the new user can control Failover Manager with the following command: ```shell -/usr/edb/efm-4.7/bin/runefm.sh start|stop .properties +/usr/edb/efm-4.8/bin/runefm.sh start|stop .properties ``` Where `` specifies the full path of the cluster properties file. The user provides the full path to the properties file whenever the nondefault user is controlling agents or using the `efm` script. diff --git a/product_docs/docs/efm/4/05_using_efm.mdx b/product_docs/docs/efm/4/05_using_efm.mdx index e12d056f786..85597bd7c55 100644 --- a/product_docs/docs/efm/4/05_using_efm.mdx +++ b/product_docs/docs/efm/4/05_using_efm.mdx @@ -23,6 +23,7 @@ By default, [some of the efm commands](07_using_efm_utility/#using_efm_utility) - [efm allow-node](07_using_efm_utility/#efm_allow_node) - [efm disallow-node](07_using_efm_utility/#efm_disallow_node) - [efm promote](07_using_efm_utility/#efm_promote) +- [efm reset-members](07_using_efm_utility/#efm_reset_members) - [efm resume](07_using_efm_utility/#efm_resume) - [efm set-priority](07_using_efm_utility/#efm_set_priority) - [efm stop-cluster](07_using_efm_utility/#efm_stop_cluster) @@ -129,7 +130,7 @@ Where: During switchover: -- For server versions 11 and prior, the `recovery.conf` file is copied from an existing standby to the primary node. For server version 12 and later, the `primary_conninfo` and `restore_command` parameters are copied and stored in memory. +- For server versions 11, the `recovery.conf` file is copied from an existing standby to the primary node. For server version 12 and later, the `primary_conninfo` and `restore_command` parameters are copied and stored in memory. - The primary database is stopped. - If you are using a VIP, the address is released from the primary node. - A standby is promoted to replace the primary node and acquires the VIP. @@ -166,7 +167,7 @@ To stop the Failover Manager agent on RHEL/CentOS 7.x or RHEL/Rocky Linux/AlmaLi `systemctl stop edb-efm-4.` -Until you invoke the `efm disallow-node` command (removing the node's address from the Allowed Node host list), you can use the `service edb-efm-4. start` command to restart the node later without first running the `efm allow-node` command again. +Until you invoke the `efm disallow-node` or `efm reset-members` command (removing the node's address from the Allowed Node host list), you can use the `service edb-efm-4. start` command to restart the agent later without first running the `efm allow-node` command again. If you are not planning to add the agent back to the cluster, it is recommended to use the [efm reset-members](07_using_efm_utility/#efm_reset_members) command after this agent has stopped. Stopping an agent doesn't signal the cluster that the agent has failed unless the [primary.shutdown.as.failure](04_configuring_efm/01_cluster_properties/#primary_shutdown_as_failure) property is set to `true`. @@ -267,11 +268,11 @@ After creating the `acctg.properties` and `sales.properties` files, create a ser If you're using RHEL/CentOS 7.x or RHEL/Rocky Linux/AlmaLinux 8.x, copy the service file `/usr/lib/systemd/system/edb-efm-4..service` to `/etc/systemd/system` with a new name that's unique for each cluster. -For example, if you have two clusters named `acctg` and `sales` managed by Failover Manager 4.7, the unit file names might be `efm-acctg.service` and `efm-sales.service`. You can create them with: +For example, if you have two clusters named `acctg` and `sales` managed by Failover Manager 4.8, the unit file names might be `efm-acctg.service` and `efm-sales.service`. You can create them with: ```shell -cp /usr/lib/systemd/system/edb-efm-4.7.service /etc/systemd/system/efm-acctg.service -cp /usr/lib/systemd/system/edb-efm-4.7.service /etc/systemd/system/efm-sales.service +cp /usr/lib/systemd/system/edb-efm-4.8.service /etc/systemd/system/efm-acctg.service +cp /usr/lib/systemd/system/edb-efm-4.8.service /etc/systemd/system/efm-sales.service ``` Then use `systemctl edit` to edit the `CLUSTER` variable in each unit file, changing the specified cluster name from `efm` to the new cluster name. @@ -282,7 +283,7 @@ In this example, edit the `acctg` cluster by running `systemctl edit efm-acctg.s ```ini [Service] Environment=CLUSTER=acctg -PIDFile=/run/efm-4.7/acctg.pid +PIDFile=/run/efm-4.8/acctg.pid ``` Edit the `sales` cluster by running `systemctl edit efm-sales.service` and write: @@ -290,7 +291,7 @@ Edit the `sales` cluster by running `systemctl edit efm-sales.service` and write ```ini [Service] Environment=CLUSTER=sales -PIDFile=/run/efm-4.7/sales.pid +PIDFile=/run/efm-4.8/sales.pid ``` !!!Note diff --git a/product_docs/docs/efm/4/07_using_efm_utility.mdx b/product_docs/docs/efm/4/07_using_efm_utility.mdx index 8669da1a3cc..6da5b4e1fdd 100644 --- a/product_docs/docs/efm/4/07_using_efm_utility.mdx +++ b/product_docs/docs/efm/4/07_using_efm_utility.mdx @@ -30,6 +30,9 @@ This command must be invoked by efm, a member of the efm group, or root. Invoke the `efm disallow-node` command to remove the specified node from the allowed hosts list and prevent the node from joining a cluster. Provide the name of the cluster and the address of the node when calling the `efm disallow-node` command. This command must be invoked by efm, a member of the efm group, or root. +!!! Note + If you have removed the node from the cluster and are not planning to add it again, the [efm reset-members](07_using_efm_utility/#efm_reset_members) command can be used instead. + ## efm cluster-status @@ -117,6 +120,14 @@ This command must be invoked by efm, a member of the efm group, or root. !!! Note This command instructs the service to ignore the value specified in the `auto.failover` parameter in the cluster properties file. +## efm reset-members + + + +`efm reset-members ` + +Invoke the `efm reset-members` command to TODO. update .nodes files, update allowed nodes. standby priority list may need to be updated. + ## efm resume diff --git a/product_docs/docs/efm/4/08_controlling_efm_service.mdx b/product_docs/docs/efm/4/08_controlling_efm_service.mdx index 384354d2d06..3a9ddfc1005 100644 --- a/product_docs/docs/efm/4/08_controlling_efm_service.mdx +++ b/product_docs/docs/efm/4/08_controlling_efm_service.mdx @@ -40,12 +40,12 @@ Stop the Failover Manager on the current node. This command must be invoked by r The `status` command returns the status of the Failover Manager agent on which it is invoked. You can invoke the status command on any node to instruct Failover Manager to return status and server startup information. ```text -[root@ONE ~]}> systemctl status edb-efm-4.7 - edb-efm-4.7.service - EnterpriseDB Failover Manager 4.7 - Loaded: loaded (/usr/lib/systemd/system/edb-efm-4.7.service; disabled; vendor preset: disabled) - Active: active (running) since Wed 2013-02-14 14:02:16 EST; 4s ago - Process: 58125 ExecStart=/bin/bash -c /usr/edb/edb-efm-4.7/bin/runefm.sh start ${CLUSTER} (code=exited, status=0/SUCCESS) +[root@ONE ~]}> systemctl status edb-efm-4.8 + edb-efm-4.8.service - EnterpriseDB Failover Manager 4.8 + Loaded: loaded (/usr/lib/systemd/system/edb-efm-4.8.service; disabled; vendor preset: disabled) + Active: active (running) since Mon 2023-09-18 09:57:13 EDT; 1min 32s ago + Process: 58125 ExecStart=/bin/bash -c /usr/edb/edb-efm-4.8/bin/runefm.sh start ${CLUSTER} (code=exited, status=0/SUCCESS) Main PID: 58180 (java) - CGroup: /system.slice/edb-efm-4.7.service - └─58180 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre/bin/java -cp /usr/edb/edb-efm-4.7/lib/EFM-4.7.jar -Xmx128m... + CGroup: /system.slice/edb-efm-4.8.service + └─58180 /usr/lib/jvm/java-11-openjdk-11.0.20.0.8-1.el7_9.x86_64/bin/java -cp /usr/edb/efm-4.8/lib/EFM-4.8.jar -Xmx128m... ``` diff --git a/product_docs/docs/efm/4/13_troubleshooting.mdx b/product_docs/docs/efm/4/13_troubleshooting.mdx index b7242de3b7c..1467b3ff838 100644 --- a/product_docs/docs/efm/4/13_troubleshooting.mdx +++ b/product_docs/docs/efm/4/13_troubleshooting.mdx @@ -43,9 +43,9 @@ Failover Manager is tested with OpenJDK. We strongly recommend using OpenJDK. Yo ```shell # java -version -openjdk version "1.8.0_191" -OpenJDK Runtime Environment (build 1.8.0_191-b12) -OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode) +openjdk version "11.0.20" 2023-07-18 LTS +OpenJDK Runtime Environment (Red_Hat-11.0.20.0.8-1.el7_9) (build 11.0.20+8-LTS) +OpenJDK 64-Bit Server VM (Red_Hat-11.0.20.0.8-1.el7_9) (build 11.0.20+8-LTS, mixed mode, sharing) ``` !!! Note There's a temporary issue with OpenJDK version 11 on RHEL and its derivatives. When starting Failover Manager, you might see an error like the following: @@ -53,3 +53,9 @@ OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode) `java.lang.Error: java.io.FileNotFoundException: /usr/lib/jvm/java-11-openjdk-11.0.20.0.8-2.el8.x86_64/lib/tzdb.dat (No such file or directory)` If you see this message, the workaround is to manually install the missing package using the command `sudo dnf install tzdata-java`. + +## Unexpected connection attempts from outside the cluster + +TODO: something outside the cluster attempts to connect, Failover Manager will show source address. Need example.Manager + +TODO: if from another running cluster, run reset-members there. need example output diff --git a/product_docs/docs/efm/4/14_configuring_streaming_replication.mdx b/product_docs/docs/efm/4/14_configuring_streaming_replication.mdx index f7e722ea2ac..531e5773671 100644 --- a/product_docs/docs/efm/4/14_configuring_streaming_replication.mdx +++ b/product_docs/docs/efm/4/14_configuring_streaming_replication.mdx @@ -15,7 +15,7 @@ Configuring a replication scenario can be complex. For detailed information abou You might want to use a `.pgpass` file to enable md5 authentication for the replication user. This might not be the safest authentication method for your environment. For more information about the supported authentication options, see the [PostgreSQL core documentation](https://www.postgresql.org/docs/current/client-authentication.html). !!! Note - From Version 3.10 onwards, Failover Manager uses `pg_ctl` utility for standby promotion. You don't need to set the `trigger_file` or `promote_trigger_file` parameter for promotion of a standby server. + Failover Manager uses `pg_ctl` utility for standby promotion. You don't need to set the `trigger_file` or `promote_trigger_file` parameter for promotion of a standby server. ## Limited support for cascading replication diff --git a/product_docs/docs/efm/4/efm_quick_start/index.mdx b/product_docs/docs/efm/4/efm_quick_start/index.mdx index abd3e1eb16a..dbdf46b95c7 100644 --- a/product_docs/docs/efm/4/efm_quick_start/index.mdx +++ b/product_docs/docs/efm/4/efm_quick_start/index.mdx @@ -31,7 +31,7 @@ Start the configuration process on a primary or standby node. Then, copy the con 1. Create working configuration files. Copy the provided sample files to create Failover Manager configuration files, and correct the ownership and version number if you are installing a different version: ```shell - cd /etc/edb/efm-4.7 + cd /etc/edb/efm-4.8 cp efm.properties.in efm.properties @@ -45,7 +45,7 @@ Start the configuration process on a primary or standby node. Then, copy the con 1. Create an [encrypted password](/efm/latest/04_configuring_efm/02_encrypting_database_password/) needed for the properties file: ```shell - /usr/edb/efm-4.7/bin/efm encrypt efm + /usr/edb/efm-4.8/bin/efm encrypt efm ``` Follow the onscreen instructions to produce the encrypted version of your database password. @@ -83,22 +83,22 @@ Start the configuration process on a primary or standby node. Then, copy the con The Failover Manager agent doesn't validate the addresses in the `efm.nodes` file. The agent expects that some of the addresses in the file can't be reached (for example, that another agent hasn’t been started yet). -1. Configure the other nodes. Copy the `efm.properties` and `efm.nodes` files to `/etc/edb/efm-4.7` on the other nodes in your sample cluster. After copying the files, change the file ownership so the files are owned by efm:efm. The `efm.properties` file can be the same on every node, except for the following properties: +1. Configure the other nodes. Copy the `efm.properties` and `efm.nodes` files to `/etc/edb/efm-4.8` on the other nodes in your sample cluster. After copying the files, change the file ownership so the files are owned by efm:efm. The `efm.properties` file can be the same on every node, except for the following properties: - Modify the `bind.address` property to use the node’s local address. - Set `is.witness` to `true` if the node is a witness node. If the node is a witness node, the properties relating to a local database installation are ignored. -1. Start the Failover Manager cluster. On any node, start the Failover Manager agent. The agent is named `edb-efm-4.7`; you can use your platform-specific service command to control the service. For example, on a RHEL 7.x or Rocky Linux/AlmaLinux/RHEL 8.x host, use the command: +1. Start the Failover Manager cluster. On any node, start the Failover Manager agent. The agent is named `edb-efm-4.8`; you can use your platform-specific service command to control the service. For example, on a RHEL 7.x or Rocky Linux/AlmaLinux/RHEL 8.x host, use the command: ```shell - systemctl start edb-efm-4.7 + systemctl start edb-efm-4.8 ``` 1. After the agent starts, run the following command to see the status of the single-node cluster. The addresses of the other nodes appear in the `Allowed node host` list. ```shell - /usr/edb/efm-4.7/bin/efm cluster-status efm + /usr/edb/efm-4.8/bin/efm cluster-status efm ``` 1. Start the agent on the other nodes. Run the `efm cluster-status efm` command on any node to see the cluster status. @@ -106,7 +106,7 @@ Start the configuration process on a primary or standby node. Then, copy the con If any agent fails to start, see the startup log for information about what went wrong: ```shell - cat /var/log/efm-4.7/startup-efm.log + cat /var/log/efm-4.8/startup-efm.log ``` ## Perform a switchover @@ -114,7 +114,7 @@ Start the configuration process on a primary or standby node. Then, copy the con If the cluster status output shows that the primary and standby nodes are in sync, you can perform a switchover: ```shell - /usr/edb/efm-4.7/bin/efm promote efm -switchover + /usr/edb/efm-4.8/bin/efm promote efm -switchover ``` The command promotes a standby and reconfigures the primary database as a new standby in the cluster. To switch back, run the command again. @@ -124,5 +124,5 @@ The command promotes a standby and reconfigures the primary database as a new st For quick access to online help, use: ```shell -/usr/edb/efm-4.7/bin/efm --help +/usr/edb/efm-4.8/bin/efm --help ``` diff --git a/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx b/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx new file mode 100644 index 00000000000..89ffbf818cd --- /dev/null +++ b/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx @@ -0,0 +1,19 @@ +--- +title: "Version 4.8" +--- + +Enhancements, bug fixes, and other changes in EFM 4.8 include: + +| Type | Description | +| ---- |------------ | +| Enhancement | The minimum Java version required to run Failover Manager is now version 11 instead of 8. | +| Enhancement | The minimum database server version now supported is 11. | +| Enhancement | New CLI command 'efm reset-members added' to remove cached node addreses after a node is removed from a cluster. | +| Enhancement | Changed the order to retrieve WAL replay/receive queries from a standby during a cluster status call. This can help avoid confusing output when the database cluster is under load. | +| Enhancement | Failover Manager agents can be started before the local database has been initialized. | +| Enhancement | Failover Manager will now log more information about outside processes attempting to connect to a running agent's address/port. | +| Enhancement | Failover Manager will no longer start if ping==VIP. (TODO: want this one?). | +| Enhancement | Placeholder text. [Support tickets: #12345, #12346] | +| Bug Fix | Fixed an edge case that could result in two primary nodes in the case of an even split of a cluster (e.g. between two data centers with equal number of nodes). | +| Bug Fix | TODO: During a cluster shutdown, the coordinator will wait a couple seconds before exiting to prevent edge cases of other nodes logging warnings about cluster communication problems. | +| Bug Fix | Placeholder text. [Support ticket #23456]| diff --git a/product_docs/docs/efm/4/efm_rel_notes/index.mdx b/product_docs/docs/efm/4/efm_rel_notes/index.mdx index 6eb796f3255..3bee068dc5b 100644 --- a/product_docs/docs/efm/4/efm_rel_notes/index.mdx +++ b/product_docs/docs/efm/4/efm_rel_notes/index.mdx @@ -9,6 +9,7 @@ about the release that introduced the feature. | Version | Release Date | | ------- | ------------ | +| [4.8](02_efm_48_rel_notes) | TODO Sep 2023| | [4.7](03_efm_47_rel_notes) | 20 Jun 2023| | [4.6](04_efm_46_rel_notes) | 14 Feb 2023| | [4.5](05_efm_45_rel_notes) | 30 Aug 2022| diff --git a/product_docs/docs/efm/4/installing/linux_ppc64le/efm_rhel_8.mdx b/product_docs/docs/efm/4/installing/linux_ppc64le/efm_rhel_8.mdx index cd5bb9276a5..aa8338803ae 100644 --- a/product_docs/docs/efm/4/installing/linux_ppc64le/efm_rhel_8.mdx +++ b/product_docs/docs/efm/4/installing/linux_ppc64le/efm_rhel_8.mdx @@ -54,7 +54,7 @@ Before you begin the installation process: sudo dnf -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_ppc64le/efm_rhel_9.mdx b/product_docs/docs/efm/4/installing/linux_ppc64le/efm_rhel_9.mdx index 9f24c34c58d..69a4ac393d5 100644 --- a/product_docs/docs/efm/4/installing/linux_ppc64le/efm_rhel_9.mdx +++ b/product_docs/docs/efm/4/installing/linux_ppc64le/efm_rhel_9.mdx @@ -54,7 +54,7 @@ Before you begin the installation process: sudo dnf -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_ppc64le/efm_sles_12.mdx b/product_docs/docs/efm/4/installing/linux_ppc64le/efm_sles_12.mdx index a72db4dc70b..10e013007cf 100644 --- a/product_docs/docs/efm/4/installing/linux_ppc64le/efm_sles_12.mdx +++ b/product_docs/docs/efm/4/installing/linux_ppc64le/efm_sles_12.mdx @@ -56,7 +56,7 @@ Before you begin the installation process: sudo zypper -n install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_ppc64le/efm_sles_15.mdx b/product_docs/docs/efm/4/installing/linux_ppc64le/efm_sles_15.mdx index 548ad0f3d5d..d913753f7d8 100644 --- a/product_docs/docs/efm/4/installing/linux_ppc64le/efm_sles_15.mdx +++ b/product_docs/docs/efm/4/installing/linux_ppc64le/efm_sles_15.mdx @@ -57,7 +57,7 @@ Before you begin the installation process: sudo zypper -n install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_centos_7.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_centos_7.mdx index 406f537e858..0e606cc6c3b 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_centos_7.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_centos_7.mdx @@ -50,7 +50,7 @@ Before you begin the installation process: sudo yum -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_debian_10.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_debian_10.mdx index b37428d5abb..4823af7fe01 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_debian_10.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_debian_10.mdx @@ -45,7 +45,7 @@ Before you begin the installation process: sudo apt-get -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_debian_11.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_debian_11.mdx index 91945fd53a6..aed926c23cc 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_debian_11.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_debian_11.mdx @@ -45,7 +45,7 @@ Before you begin the installation process: sudo apt-get -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_other_linux_8.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_other_linux_8.mdx index a3aa26bd88c..7d413d9584a 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_other_linux_8.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_other_linux_8.mdx @@ -56,7 +56,7 @@ Before you begin the installation process: sudo dnf -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_other_linux_9.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_other_linux_9.mdx index dc548b84296..57b907d622d 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_other_linux_9.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_other_linux_9.mdx @@ -56,7 +56,7 @@ Before you begin the installation process: sudo dnf -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_7.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_7.mdx index f33e3ea5e8c..97b91e3d00c 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_7.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_7.mdx @@ -56,7 +56,7 @@ Before you begin the installation process: sudo yum -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_8.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_8.mdx index a4c7f824031..8f7bbed1b19 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_8.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_8.mdx @@ -50,7 +50,7 @@ Before you begin the installation process: sudo dnf -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_9.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_9.mdx index a4cca2907dc..8367e274bcd 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_9.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_9.mdx @@ -50,7 +50,7 @@ Before you begin the installation process: sudo dnf -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_sles_12.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_sles_12.mdx index 70d00690261..0ae8a903ac9 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_sles_12.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_sles_12.mdx @@ -56,7 +56,7 @@ Before you begin the installation process: sudo zypper -n install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_sles_15.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_sles_15.mdx index c55f201fdd5..cfc27aade83 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_sles_15.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_sles_15.mdx @@ -57,7 +57,7 @@ Before you begin the installation process: sudo zypper -n install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_18.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_18.mdx index d859af00fdb..7ac3915948b 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_18.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_18.mdx @@ -45,7 +45,7 @@ Before you begin the installation process: sudo apt-get -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_20.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_20.mdx index 14f30ae98f1..39c512770de 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_20.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_20.mdx @@ -45,7 +45,7 @@ Before you begin the installation process: sudo apt-get -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_22.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_22.mdx index 46b1218bbe3..1c0323cc738 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_22.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_22.mdx @@ -45,7 +45,7 @@ Before you begin the installation process: sudo apt-get -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/prerequisites.mdx b/product_docs/docs/efm/4/installing/prerequisites.mdx index a4206bac8c0..463aadb538a 100644 --- a/product_docs/docs/efm/4/installing/prerequisites.mdx +++ b/product_docs/docs/efm/4/installing/prerequisites.mdx @@ -1,6 +1,6 @@ --- title: "Prerequisites" -redirects: +redirects: - ../../efm_user/02_failover_manager_overview/01_prerequisites - /efm/latest/01_prerequisites/ legacyRedirectsGenerated: @@ -13,9 +13,9 @@ legacyRedirectsGenerated: Before configuring a Failover Manager cluster, you must satisfy the prerequisites described below. -## Install Java 1.8 (or later) +## Install Java 11 (or later) -Before using Failover Manager, you must first install Java (version 1.8 or later). Failover Manager is tested with OpenJDK, and we strongly recommend installing that version of Java. [Installation instructions for Java](https://openjdk.java.net/install/) are platform specific. +Before using Failover Manager, you must first install Java (version 11 or later). Failover Manager is tested with OpenJDK, and we strongly recommend installing that version of Java. [Installation instructions for Java](https://openjdk.java.net/install/) are platform specific. !!! Note There's a temporary issue with OpenJDK version 11 on RHEL and its derivatives. When starting Failover Manager, you might see an error like the following: @@ -98,7 +98,7 @@ The database user specified by the `db.user` property in the `efm.properties` fi If the `reconfigure.num.sync` or `reconfigure.sync.primary` property is set to `true`, then: -- For database versions 10 and later, the db.user requires `pg_read_all_stats` privilege and permissions to run `pg_reload_conf()`. +- For database versions 11 and later, the db.user requires `pg_read_all_stats` privilege and permissions to run `pg_reload_conf()`. For detailed information about each of these functions, see the [PostgreSQL core documentation](https://www.postgresql.org/docs/current/index.html). diff --git a/product_docs/docs/efm/4/upgrading.mdx b/product_docs/docs/efm/4/upgrading.mdx index 939d8175781..0bdc743e1af 100644 --- a/product_docs/docs/efm/4/upgrading.mdx +++ b/product_docs/docs/efm/4/upgrading.mdx @@ -14,35 +14,35 @@ legacyRedirectsGenerated: Failover Manager provides a utility to assist you when upgrading a cluster managed by Failover Manager. To upgrade an existing cluster, you must: -1. Install Failover Manager 4.7 on each node of the cluster. For detailed information about installing Failover Manager, see [Installing Failover Manager](installing). +1. Install Failover Manager 4.8 on each node of the cluster. For detailed information about installing Failover Manager, see [Installing Failover Manager](installing). -2. After installing Failover Manager, invoke the `efm upgrade-conf` utility to create the `.properties` and `.nodes` files for Failover Manager 4.7. The Failover Manager installer installs the upgrade utility ([efm upgrade-conf](07_using_efm_utility/#efm_upgrade_conf)) to the `/usr/edb/efm-4.7/bin directory`. To invoke the utility, assume root privileges, and invoke the command: +2. After installing Failover Manager, invoke the `efm upgrade-conf` utility to create the `.properties` and `.nodes` files for Failover Manager 4.8. The Failover Manager installer installs the upgrade utility ([efm upgrade-conf](07_using_efm_utility/#efm_upgrade_conf)) to the `/usr/edb/efm-4.8/bin directory`. To invoke the utility, assume root privileges, and invoke the command: ```shell efm upgrade-conf ``` - The efm `upgrade-conf` utility locates the `.properties` and `.nodes` files of preexisting clusters and copies the parameter values to a new configuration file for use by Failover Manager. The utility saves the updated copy of the configuration files in the `/etc/edb/efm-4.7` directory. + The efm `upgrade-conf` utility locates the `.properties` and `.nodes` files of preexisting clusters and copies the parameter values to a new configuration file for use by Failover Manager. The utility saves the updated copy of the configuration files in the `/etc/edb/efm-4.8` directory. -3. Modify the `.properties` and `.nodes` files for Failover Manager 4.7, specifying any new preferences. Use your choice of editor to modify any additional properties in the properties file (located in the `/etc/edb/efm-4.7` directory) before starting the service for that node. For detailed information about property settings, see [The cluster properties file](04_configuring_efm/01_cluster_properties/#cluster_properties). +3. Modify the `.properties` and `.nodes` files for Failover Manager 4.8, specifying any new preferences. Use your choice of editor to modify any additional properties in the properties file (located in the `/etc/edb/efm-4.8` directory) before starting the service for that node. For detailed information about property settings, see [The cluster properties file](04_configuring_efm/01_cluster_properties/#cluster_properties). 4. If you're using Eager Failover, you must disable it before stopping the Failover Manager cluster. For more information, see [Disabling Eager Failover](04_configuring_efm/06_configuring_for_eager_failover/#disabling-eager-failover). -5. Use a version-specific command to stop the old Failover Manager cluster. For example, you can use the following command to stop a version 4.4 cluster: +5. Use a version-specific command to stop the old Failover Manager cluster. For example, you can use the following command to stop a version 4.7 cluster: ```shell - /usr/efm-4.4/bin/efm stop-cluster efm + /usr/efm-4.7/bin/efm stop-cluster efm ``` -6. Start the new [Failover Manager service](08_controlling_efm_service/#controlling_efm_service) (`edb-efm-4.7`) on each node of the cluster. +6. Start the new [Failover Manager service](08_controlling_efm_service/#controlling_efm_service) (`edb-efm-4.8`) on each node of the cluster. The following example shows invoking the upgrade utility to create the `.properties` and `.nodes` files for a Failover Manager installation: ```text -[root@hostname ~]# /usr/edb/efm-4.7/bin/efm upgrade-conf efm -Checking directory /etc/edb/efm-4.6 +[root@hostname ~]# /usr/edb/efm-4.8/bin/efm upgrade-conf efm +Checking directory /etc/edb/efm-4.7 Processing efm.properties file -Checking directory /etc/edb/efm-4.5 +Checking directory /etc/edb/efm-4.7 Processing efm.nodes file Upgrade of files is finished. The owner and group for properties and nodes files have been set as 'efm'. @@ -56,30 +56,30 @@ If you're [using a Failover Manager configuration without sudo](04_configuring_e !!! Note If you are using custom scripts, check to see if they are calling any Failover Manager scripts. For example, a script that runs after promotion to perform various tasks and then calls Failover Manager's `efm_address` script to acquire a virtual IP address. If you have any custom scripts calling Failover Manager scripts, update the custom scripts to use the newly installed version of the Failover Manager script before uninstalling the older version of the Failover Manager script. -After upgrading to Failover Manager 4.7, you can use your native package manager to remove previous installations of Failover Manager. For example, use the following command to remove Failover Manager 4.4 and any unneeded dependencies: +After upgrading to Failover Manager 4.8, you can use your native package manager to remove previous installations of Failover Manager. For example, use the following command to remove Failover Manager 4.7 and any unneeded dependencies: - On RHEL or CentOS 7.x: ```shell -yum remove edb-efm45 +yum remove edb-efm47 ``` - On RHEL or Rocky Linux or AlmaLinux 8.x: ```shell -dnf remove edb-efm45 +dnf remove edb-efm47 ``` - On Debian or Ubuntu: ```shell -apt-get remove edb-efm45 +apt-get remove edb-efm47 ``` - On SLES: ```shell -zypper remove edb-efm45 +zypper remove edb-efm47 ``` ## Performing a maintenance task From 3937bea781d92a80de2029557ad7458966276ef5 Mon Sep 17 00:00:00 2001 From: Bobby Bissett Date: Wed, 20 Sep 2023 14:49:31 -0400 Subject: [PATCH 02/23] Some updates to release notes. Added information about external connection attempts to Troubleshooting section. --- product_docs/docs/efm/4/13_troubleshooting.mdx | 14 ++++++++++++-- .../efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx | 8 +++----- product_docs/docs/efm/4/efm_rel_notes/index.mdx | 2 +- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/product_docs/docs/efm/4/13_troubleshooting.mdx b/product_docs/docs/efm/4/13_troubleshooting.mdx index 1467b3ff838..e44d6a0531d 100644 --- a/product_docs/docs/efm/4/13_troubleshooting.mdx +++ b/product_docs/docs/efm/4/13_troubleshooting.mdx @@ -56,6 +56,16 @@ OpenJDK 64-Bit Server VM (Red_Hat-11.0.20.0.8-1.el7_9) (build 11.0.20+8-LTS, mix ## Unexpected connection attempts from outside the cluster -TODO: something outside the cluster attempts to connect, Failover Manager will show source address. Need example.Manager +If an external process tries to connect to an agent on the `bind.address` port, Failover Manager will log a warning containing the source of the connection attempt. These warnings should not affect the Failover Manager cluster, but the source address can be used to stop or configure the outside process to not try to connect to a Failover Manager agent. An example of something outside of the cluster attempting to connect to the agent process from : -TODO: if from another running cluster, run reset-members there. need example output +```text +org.jgroups.protocols.TCP warn WARN: JGRP000006: failed accepting connection from peer Socket[addr=/<>,port=56046,localport=7800]: java.net.SocketTimeoutException: Read timed out +``` + +If you are running an agent with an address that used to be part of a different cluster, the original cluster may still be trying to connect to this address to re-form the cluster. In this example, the cluster 'oldcluster' is still trying to connect to an address that is now part of 'newcluster': + +```text +org.jgroups.protocols.TCP warn WARN: JGRP000012: discarded message from different cluster oldcluster (our cluster is newcluster). Sender was 93cb99c7-bf3f-4243-b582-faf25aced49e() +``` + +The cluster name and information can be used to find the original cluster. Using the [efm reset-members](07_using_efm_utility/#efm-reset-members) command with that cluster should clear the address from its cache. diff --git a/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx b/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx index 89ffbf818cd..dc4fab284b3 100644 --- a/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx +++ b/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx @@ -8,12 +8,10 @@ Enhancements, bug fixes, and other changes in EFM 4.8 include: | ---- |------------ | | Enhancement | The minimum Java version required to run Failover Manager is now version 11 instead of 8. | | Enhancement | The minimum database server version now supported is 11. | -| Enhancement | New CLI command 'efm reset-members added' to remove cached node addreses after a node is removed from a cluster. | +| Enhancement | New CLI command 'efm reset-members added' to remove cached node addreses after a node is removed from a cluster. [Support ticket: #1047118]| | Enhancement | Changed the order to retrieve WAL replay/receive queries from a standby during a cluster status call. This can help avoid confusing output when the database cluster is under load. | -| Enhancement | Failover Manager agents can be started before the local database has been initialized. | | Enhancement | Failover Manager will now log more information about outside processes attempting to connect to a running agent's address/port. | +| Enhancement | Failover Manager agents can be started before the local database has been initialized. (TODO: want this one?) | | Enhancement | Failover Manager will no longer start if ping==VIP. (TODO: want this one?). | -| Enhancement | Placeholder text. [Support tickets: #12345, #12346] | | Bug Fix | Fixed an edge case that could result in two primary nodes in the case of an even split of a cluster (e.g. between two data centers with equal number of nodes). | -| Bug Fix | TODO: During a cluster shutdown, the coordinator will wait a couple seconds before exiting to prevent edge cases of other nodes logging warnings about cluster communication problems. | -| Bug Fix | Placeholder text. [Support ticket #23456]| +| Bug Fix | During a cluster shutdown, the coordinator will wait a couple seconds before exiting to prevent edge cases of other nodes logging warnings about cluster communication problems. [Support ticket #96840]| diff --git a/product_docs/docs/efm/4/efm_rel_notes/index.mdx b/product_docs/docs/efm/4/efm_rel_notes/index.mdx index 3bee068dc5b..6902747ed0d 100644 --- a/product_docs/docs/efm/4/efm_rel_notes/index.mdx +++ b/product_docs/docs/efm/4/efm_rel_notes/index.mdx @@ -9,7 +9,7 @@ about the release that introduced the feature. | Version | Release Date | | ------- | ------------ | -| [4.8](02_efm_48_rel_notes) | TODO Sep 2023| +| [4.8](02_efm_48_rel_notes) | 14 Nov 2023| | [4.7](03_efm_47_rel_notes) | 20 Jun 2023| | [4.6](04_efm_46_rel_notes) | 14 Feb 2023| | [4.5](05_efm_45_rel_notes) | 30 Aug 2022| From 7117fddce564736c25aeef43d11d735780bed6c2 Mon Sep 17 00:00:00 2001 From: Bobby Bissett Date: Wed, 20 Sep 2023 15:29:39 -0400 Subject: [PATCH 03/23] Trying to fix syntax that broke page rendering. --- product_docs/docs/efm/4/13_troubleshooting.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/product_docs/docs/efm/4/13_troubleshooting.mdx b/product_docs/docs/efm/4/13_troubleshooting.mdx index e44d6a0531d..144121468fb 100644 --- a/product_docs/docs/efm/4/13_troubleshooting.mdx +++ b/product_docs/docs/efm/4/13_troubleshooting.mdx @@ -56,10 +56,10 @@ OpenJDK 64-Bit Server VM (Red_Hat-11.0.20.0.8-1.el7_9) (build 11.0.20+8-LTS, mix ## Unexpected connection attempts from outside the cluster -If an external process tries to connect to an agent on the `bind.address` port, Failover Manager will log a warning containing the source of the connection attempt. These warnings should not affect the Failover Manager cluster, but the source address can be used to stop or configure the outside process to not try to connect to a Failover Manager agent. An example of something outside of the cluster attempting to connect to the agent process from : +If an external process tries to connect to an agent on the `bind.address` port, Failover Manager will log a warning containing the source of the connection attempt. These warnings should not affect the Failover Manager cluster, but the source address can be used to stop or configure the outside process to not try to connect to a Failover Manager agent. An example of something outside of the cluster attempting to connect to the agent process from ``: ```text -org.jgroups.protocols.TCP warn WARN: JGRP000006: failed accepting connection from peer Socket[addr=/<>,port=56046,localport=7800]: java.net.SocketTimeoutException: Read timed out +org.jgroups.protocols.TCP warn WARN: JGRP000006: failed accepting connection from peer Socket[addr=/,port=56046,localport=7800]: java.net.SocketTimeoutException: Read timed out ``` If you are running an agent with an address that used to be part of a different cluster, the original cluster may still be trying to connect to this address to re-form the cluster. In this example, the cluster 'oldcluster' is still trying to connect to an address that is now part of 'newcluster': @@ -68,4 +68,4 @@ If you are running an agent with an address that used to be part of a different org.jgroups.protocols.TCP warn WARN: JGRP000012: discarded message from different cluster oldcluster (our cluster is newcluster). Sender was 93cb99c7-bf3f-4243-b582-faf25aced49e() ``` -The cluster name and information can be used to find the original cluster. Using the [efm reset-members](07_using_efm_utility/#efm-reset-members) command with that cluster should clear the address from its cache. +The cluster name and `` information can be used to find the original cluster. Using the [efm reset-members](07_using_efm_utility/#efm-reset-members) command with that cluster should clear the address from its cache. From 0b0a05441b1090c88a661c0a807a6bffb80eed02 Mon Sep 17 00:00:00 2001 From: Bobby Bissett Date: Wed, 20 Sep 2023 16:42:49 -0400 Subject: [PATCH 04/23] Add underscores to source_address --- product_docs/docs/efm/4/13_troubleshooting.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/product_docs/docs/efm/4/13_troubleshooting.mdx b/product_docs/docs/efm/4/13_troubleshooting.mdx index 144121468fb..66072a4bdd2 100644 --- a/product_docs/docs/efm/4/13_troubleshooting.mdx +++ b/product_docs/docs/efm/4/13_troubleshooting.mdx @@ -56,16 +56,16 @@ OpenJDK 64-Bit Server VM (Red_Hat-11.0.20.0.8-1.el7_9) (build 11.0.20+8-LTS, mix ## Unexpected connection attempts from outside the cluster -If an external process tries to connect to an agent on the `bind.address` port, Failover Manager will log a warning containing the source of the connection attempt. These warnings should not affect the Failover Manager cluster, but the source address can be used to stop or configure the outside process to not try to connect to a Failover Manager agent. An example of something outside of the cluster attempting to connect to the agent process from ``: +If an external process tries to connect to an agent on the `bind.address` port, Failover Manager will log a warning containing the source of the connection attempt. These warnings should not affect the Failover Manager cluster, but the source address can be used to stop or configure the outside process to not try to connect to a Failover Manager agent. An example of something outside of the cluster attempting to connect to the agent process from ``: ```text -org.jgroups.protocols.TCP warn WARN: JGRP000006: failed accepting connection from peer Socket[addr=/,port=56046,localport=7800]: java.net.SocketTimeoutException: Read timed out +org.jgroups.protocols.TCP warn WARN: JGRP000006: failed accepting connection from peer Socket[addr=/,port=56046,localport=7800]: java.net.SocketTimeoutException: Read timed out ``` If you are running an agent with an address that used to be part of a different cluster, the original cluster may still be trying to connect to this address to re-form the cluster. In this example, the cluster 'oldcluster' is still trying to connect to an address that is now part of 'newcluster': ```text -org.jgroups.protocols.TCP warn WARN: JGRP000012: discarded message from different cluster oldcluster (our cluster is newcluster). Sender was 93cb99c7-bf3f-4243-b582-faf25aced49e() +org.jgroups.protocols.TCP warn WARN: JGRP000012: discarded message from different cluster oldcluster (our cluster is newcluster). Sender was 93cb99c7-bf3f-4243-b582-faf25aced49e() ``` -The cluster name and `` information can be used to find the original cluster. Using the [efm reset-members](07_using_efm_utility/#efm-reset-members) command with that cluster should clear the address from its cache. +The cluster name and `` information can be used to find the original cluster. Using the [efm reset-members](07_using_efm_utility/#efm-reset-members) command with that cluster should clear the address from its cache. From 29aeaccbcbc5cdbc9b9cf6aa64232e1671bb6948 Mon Sep 17 00:00:00 2001 From: Bobby Bissett Date: Thu, 21 Sep 2023 11:49:08 -0400 Subject: [PATCH 05/23] Added reset-members description along with new notification. Fixed a notification that didn't have the correct text. --- product_docs/docs/efm/4/07_using_efm_utility.mdx | 10 +++++++++- product_docs/docs/efm/4/10_notifications.mdx | 3 ++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/product_docs/docs/efm/4/07_using_efm_utility.mdx b/product_docs/docs/efm/4/07_using_efm_utility.mdx index 6da5b4e1fdd..b95153dee9c 100644 --- a/product_docs/docs/efm/4/07_using_efm_utility.mdx +++ b/product_docs/docs/efm/4/07_using_efm_utility.mdx @@ -126,7 +126,15 @@ This command must be invoked by efm, a member of the efm group, or root. `efm reset-members ` -Invoke the `efm reset-members` command to TODO. update .nodes files, update allowed nodes. standby priority list may need to be updated. +Invoke the `efm reset-members` command to remove cached node addresses from a Failover Manager cluster. This should be run after a node has been permanently removed from the cluster to prevent the cluster from trying to connect to the removed node's address. Running this command will do the following on each node in the cluster: + +1. Reset the addresses in the .nodes file to the current cluster members (even if the `stable.nodes.file` property is set to true). + +2. Update the Allowed node host list to include only the current members. + +3. Disconnect all agents from each other briefly, then reconnect. + +Running databases will not be affected by this operation. The standby priority list may need to be updated after it has completed. See the [efm set-priority](07_using_efm_utility/#efm_set_priority) command for more information. ## efm resume diff --git a/product_docs/docs/efm/4/10_notifications.mdx b/product_docs/docs/efm/4/10_notifications.mdx index 867e8cebd6b..8443f5efb5a 100644 --- a/product_docs/docs/efm/4/10_notifications.mdx +++ b/product_docs/docs/efm/4/10_notifications.mdx @@ -66,6 +66,7 @@ The conditions listed in this table trigger an INFO level notification: | Starting auto resume check for cluster *cluster_name* | The agent on this node checks every *auto.resume.period* seconds to see if it can resume monitoring the failed database. Check the cluster during this time and stop the agent if the database won't be started again. See the agent log for more details. | | Executed agent resumed script | Executed agent resumed script script_name Results: script_results | | WAL logs backed up during promotion | When reconfiguring this standby to follow the new primary, the pg_wal contents were backed up in the pgdata directory. Remove this backup when convenient to free up disk space. | +| Reset members completed | The agent has rejoined the cluster after a call to reset the cluster members. | The conditions listed in this table below trigger a WARNING level notification: @@ -82,7 +83,7 @@ The conditions listed in this table below trigger a WARNING level notification: | Agent exited for cluster *cluster name* | The agent has exited. This notification is usually generated during startup when an agent exits before startup has completed. | | Virtual IP address assigned to non-primary node | The virtual IP address appears to be assigned to a nonprimary node. To avoid any conflicts, Failover Manager will release the VIP. Confirm that the VIP is assigned to your primary node and manually reassign the address if it isn't. | | Virtual IP address not assigned to primary node. | The virtual IP address appears not to be assigned to a primary node. Failover Manager will attempt to reacquire the VIP. | -| Standby failed in cluster *cluster name* | The standbys on *cluster_name* have left the cluster. | +| Standby failed in cluster *cluster name* | The standby on *address* has left the cluster. | | Standby agent failed for cluster *cluster name* | A standby agent on *cluster_name* has left the cluster, but the coordinator has detected that the standby database is still running. | | Standby database failed for cluster *cluster name* | A standby agent has signaled that its database has failed. The other nodes also can't reach the standby database. | | Standby agent cannot reach database for cluster *cluster name* | A standby agent has signaled database failure, but the other nodes have detected that the standby database is still running. | From f5579e1795fe707b0c6993795735582aef7ab873 Mon Sep 17 00:00:00 2001 From: Bobby Bissett Date: Mon, 30 Oct 2023 15:42:37 -0400 Subject: [PATCH 06/23] Adding a couple more items that were missed previously. --- product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx b/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx index dc4fab284b3..dda22fe028f 100644 --- a/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx +++ b/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx @@ -9,9 +9,12 @@ Enhancements, bug fixes, and other changes in EFM 4.8 include: | Enhancement | The minimum Java version required to run Failover Manager is now version 11 instead of 8. | | Enhancement | The minimum database server version now supported is 11. | | Enhancement | New CLI command 'efm reset-members added' to remove cached node addreses after a node is removed from a cluster. [Support ticket: #1047118]| +| Enhancement | Encryption/decryption of database password will now work in a FIPS environment. [Support ticket: #90803, #90805] | | Enhancement | Changed the order to retrieve WAL replay/receive queries from a standby during a cluster status call. This can help avoid confusing output when the database cluster is under load. | | Enhancement | Failover Manager will now log more information about outside processes attempting to connect to a running agent's address/port. | +| Enhancement | Failover Manager has been upgraded to use PostgreSQL JDBC Driver version 42.6.0. | | Enhancement | Failover Manager agents can be started before the local database has been initialized. (TODO: want this one?) | | Enhancement | Failover Manager will no longer start if ping==VIP. (TODO: want this one?). | | Bug Fix | Fixed an edge case that could result in two primary nodes in the case of an even split of a cluster (e.g. between two data centers with equal number of nodes). | | Bug Fix | During a cluster shutdown, the coordinator will wait a couple seconds before exiting to prevent edge cases of other nodes logging warnings about cluster communication problems. [Support ticket #96840]| +| Bug Fix | Fixed a rare timing case that could result in a primary database failure being ignored because of a simultaneous cluster status check. [Support ticket: #98428] | From e4f22d580a4ad3f67044d79aae725cf351a0d1bf Mon Sep 17 00:00:00 2001 From: Bobby Bissett Date: Tue, 31 Oct 2023 11:45:56 -0400 Subject: [PATCH 07/23] Updated text for log level properties. Small updates to release notes. --- .../docs/efm/4/04_configuring_efm/01_cluster_properties.mdx | 2 ++ product_docs/docs/efm/4/09_controlling_logging.mdx | 4 +++- product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx | 4 ++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/product_docs/docs/efm/4/04_configuring_efm/01_cluster_properties.mdx b/product_docs/docs/efm/4/04_configuring_efm/01_cluster_properties.mdx index 1113b74e799..248d2010f50 100644 --- a/product_docs/docs/efm/4/04_configuring_efm/01_cluster_properties.mdx +++ b/product_docs/docs/efm/4/04_configuring_efm/01_cluster_properties.mdx @@ -1318,6 +1318,8 @@ Use the `jgroups.loglevel` and `efm.loglevel` parameters to specify the level of # startup, increasing the jgroups level to DEBUG will show # information about the TCP connection attempts that may help # diagnose the connection failures. +# TRACE level logging should be used for diagnosing problems only. +# It is not supported for production use. jgroups.loglevel=INFO efm.loglevel=INFO ``` diff --git a/product_docs/docs/efm/4/09_controlling_logging.mdx b/product_docs/docs/efm/4/09_controlling_logging.mdx index e485d578fec..9bdb7fe23ed 100644 --- a/product_docs/docs/efm/4/09_controlling_logging.mdx +++ b/product_docs/docs/efm/4/09_controlling_logging.mdx @@ -1,6 +1,6 @@ --- title: "Controlling logging" -redirects: +redirects: - ../efm_user/09_controlling_logging legacyRedirectsGenerated: # This list is generated by a script. If you need add entries, use the `legacyRedirects` key. @@ -23,6 +23,8 @@ You can control the level of detail written to the agent log by modifying the `j # startup, increasing the jgroups level to DEBUG will show # information about the TCP connection attempts that may help # diagnose the connection failures. +# TRACE level logging should be used for diagnosing problems only. +# It is not supported for production use. jgroups.loglevel=INFO efm.loglevel=INFO ``` diff --git a/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx b/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx index dda22fe028f..3d8dfcf2e90 100644 --- a/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx +++ b/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx @@ -13,8 +13,8 @@ Enhancements, bug fixes, and other changes in EFM 4.8 include: | Enhancement | Changed the order to retrieve WAL replay/receive queries from a standby during a cluster status call. This can help avoid confusing output when the database cluster is under load. | | Enhancement | Failover Manager will now log more information about outside processes attempting to connect to a running agent's address/port. | | Enhancement | Failover Manager has been upgraded to use PostgreSQL JDBC Driver version 42.6.0. | -| Enhancement | Failover Manager agents can be started before the local database has been initialized. (TODO: want this one?) | -| Enhancement | Failover Manager will no longer start if ping==VIP. (TODO: want this one?). | +| Enhancement | Failover Manager agents can be started before the local database has been initialized. | +| Enhancement | Failover Manager will warn the user and not start if the ping.server.ip property has been set to the virtual IP address. Setting these to the same value will break network connectivity checks when the VIP is dropped during a switchover. | | Bug Fix | Fixed an edge case that could result in two primary nodes in the case of an even split of a cluster (e.g. between two data centers with equal number of nodes). | | Bug Fix | During a cluster shutdown, the coordinator will wait a couple seconds before exiting to prevent edge cases of other nodes logging warnings about cluster communication problems. [Support ticket #96840]| | Bug Fix | Fixed a rare timing case that could result in a primary database failure being ignored because of a simultaneous cluster status check. [Support ticket: #98428] | From e2170525fc7cca38658f8093074b2337fcb4ecdc Mon Sep 17 00:00:00 2001 From: Betsy Gitelman <93718720+ebgitelman@users.noreply.github.com> Date: Tue, 7 Nov 2023 10:24:50 -0500 Subject: [PATCH 08/23] Update base.njk --- install_template/templates/products/failover-manager/base.njk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install_template/templates/products/failover-manager/base.njk b/install_template/templates/products/failover-manager/base.njk index e543d9be41e..3d8dc4d8cd7 100644 --- a/install_template/templates/products/failover-manager/base.njk +++ b/install_template/templates/products/failover-manager/base.njk @@ -21,13 +21,13 @@ redirects: {{ super() }} {% endblock product_prerequisites %} {% block postinstall %} -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. +Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.8, the package name is `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. ## Initial configuration -If you are using Failover Manager to monitor a cluster owned by a user other than enterprisedb or postgres, see [Extending Failover Manager permissions](../../04_configuring_efm/04_extending_efm_permissions/#extending_efm_permissions). +If you're using Failover Manager to monitor a cluster owned by a user other than enterprisedb or postgres, see [Extending Failover Manager permissions](../../04_configuring_efm/04_extending_efm_permissions/#extending_efm_permissions). After installing on each node of the cluster: From b39f1f8b23154797ce5c01fab9df58a673da845f Mon Sep 17 00:00:00 2001 From: Bobby Bissett <70302203+EFM-Bobby@users.noreply.github.com> Date: Thu, 9 Nov 2023 07:51:44 -0500 Subject: [PATCH 09/23] Update product_docs/docs/efm/4/05_using_efm.mdx Co-authored-by: Betsy Gitelman <93718720+ebgitelman@users.noreply.github.com> --- product_docs/docs/efm/4/05_using_efm.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/efm/4/05_using_efm.mdx b/product_docs/docs/efm/4/05_using_efm.mdx index 85597bd7c55..ff7663d55f9 100644 --- a/product_docs/docs/efm/4/05_using_efm.mdx +++ b/product_docs/docs/efm/4/05_using_efm.mdx @@ -167,7 +167,7 @@ To stop the Failover Manager agent on RHEL/CentOS 7.x or RHEL/Rocky Linux/AlmaLi `systemctl stop edb-efm-4.` -Until you invoke the `efm disallow-node` or `efm reset-members` command (removing the node's address from the Allowed Node host list), you can use the `service edb-efm-4. start` command to restart the agent later without first running the `efm allow-node` command again. If you are not planning to add the agent back to the cluster, it is recommended to use the [efm reset-members](07_using_efm_utility/#efm_reset_members) command after this agent has stopped. +Until you invoke the `efm disallow-node` or `efm reset-members` command (removing the node's address from the Allowed Node host list), you can use the `service edb-efm-4. start` command to restart the agent later without first running the `efm allow-node` command again. If you aren't planning to add the agent back to the cluster, we recommend using the [efm reset-members](07_using_efm_utility/#efm_reset_members) command after this agent has stopped. Stopping an agent doesn't signal the cluster that the agent has failed unless the [primary.shutdown.as.failure](04_configuring_efm/01_cluster_properties/#primary_shutdown_as_failure) property is set to `true`. From 84f86ab3e1b33e54e4a9052e8dd39742ced83026 Mon Sep 17 00:00:00 2001 From: Bobby Bissett <70302203+EFM-Bobby@users.noreply.github.com> Date: Thu, 9 Nov 2023 07:52:41 -0500 Subject: [PATCH 10/23] Update product_docs/docs/efm/4/07_using_efm_utility.mdx Co-authored-by: Betsy Gitelman <93718720+ebgitelman@users.noreply.github.com> --- product_docs/docs/efm/4/07_using_efm_utility.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/efm/4/07_using_efm_utility.mdx b/product_docs/docs/efm/4/07_using_efm_utility.mdx index b95153dee9c..45a3da81053 100644 --- a/product_docs/docs/efm/4/07_using_efm_utility.mdx +++ b/product_docs/docs/efm/4/07_using_efm_utility.mdx @@ -31,7 +31,7 @@ This command must be invoked by efm, a member of the efm group, or root. Invoke the `efm disallow-node` command to remove the specified node from the allowed hosts list and prevent the node from joining a cluster. Provide the name of the cluster and the address of the node when calling the `efm disallow-node` command. This command must be invoked by efm, a member of the efm group, or root. !!! Note - If you have removed the node from the cluster and are not planning to add it again, the [efm reset-members](07_using_efm_utility/#efm_reset_members) command can be used instead. + If you removed the node from the cluster and aren't planning to add it again, you can use the [efm reset-members](07_using_efm_utility/#efm_reset_members) command instead. ## efm cluster-status From 7ba7967823a94e2f8de3b9c9d0171a54d4657d14 Mon Sep 17 00:00:00 2001 From: Bobby Bissett <70302203+EFM-Bobby@users.noreply.github.com> Date: Thu, 9 Nov 2023 07:53:11 -0500 Subject: [PATCH 11/23] Update product_docs/docs/efm/4/07_using_efm_utility.mdx Co-authored-by: Betsy Gitelman <93718720+ebgitelman@users.noreply.github.com> --- product_docs/docs/efm/4/07_using_efm_utility.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/efm/4/07_using_efm_utility.mdx b/product_docs/docs/efm/4/07_using_efm_utility.mdx index 45a3da81053..cd7c196b44c 100644 --- a/product_docs/docs/efm/4/07_using_efm_utility.mdx +++ b/product_docs/docs/efm/4/07_using_efm_utility.mdx @@ -128,7 +128,7 @@ This command must be invoked by efm, a member of the efm group, or root. Invoke the `efm reset-members` command to remove cached node addresses from a Failover Manager cluster. This should be run after a node has been permanently removed from the cluster to prevent the cluster from trying to connect to the removed node's address. Running this command will do the following on each node in the cluster: -1. Reset the addresses in the .nodes file to the current cluster members (even if the `stable.nodes.file` property is set to true). +1. Resets the addresses in the `.nodes` file to the current cluster members. This occurs even if the `stable.nodes.file` property is set to `true`. 2. Update the Allowed node host list to include only the current members. From 2112c237bd1c355038b232207b40de91e48cf055 Mon Sep 17 00:00:00 2001 From: Bobby Bissett <70302203+EFM-Bobby@users.noreply.github.com> Date: Thu, 9 Nov 2023 07:53:22 -0500 Subject: [PATCH 12/23] Update product_docs/docs/efm/4/07_using_efm_utility.mdx Co-authored-by: Betsy Gitelman <93718720+ebgitelman@users.noreply.github.com> --- product_docs/docs/efm/4/07_using_efm_utility.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/efm/4/07_using_efm_utility.mdx b/product_docs/docs/efm/4/07_using_efm_utility.mdx index cd7c196b44c..fbd6264e62c 100644 --- a/product_docs/docs/efm/4/07_using_efm_utility.mdx +++ b/product_docs/docs/efm/4/07_using_efm_utility.mdx @@ -130,7 +130,7 @@ Invoke the `efm reset-members` command to remove cached node addresses from a Fa 1. Resets the addresses in the `.nodes` file to the current cluster members. This occurs even if the `stable.nodes.file` property is set to `true`. -2. Update the Allowed node host list to include only the current members. +2. Updates the Allowed Node host list to include only the current members. 3. Disconnect all agents from each other briefly, then reconnect. From ef46d58b5b271221e1c54779c551fc790c033627 Mon Sep 17 00:00:00 2001 From: Bobby Bissett <70302203+EFM-Bobby@users.noreply.github.com> Date: Thu, 9 Nov 2023 07:53:46 -0500 Subject: [PATCH 13/23] Update product_docs/docs/efm/4/05_using_efm.mdx Co-authored-by: Betsy Gitelman <93718720+ebgitelman@users.noreply.github.com> --- product_docs/docs/efm/4/05_using_efm.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/efm/4/05_using_efm.mdx b/product_docs/docs/efm/4/05_using_efm.mdx index ff7663d55f9..b7bf6e9aa2d 100644 --- a/product_docs/docs/efm/4/05_using_efm.mdx +++ b/product_docs/docs/efm/4/05_using_efm.mdx @@ -130,7 +130,7 @@ Where: During switchover: -- For server versions 11, the `recovery.conf` file is copied from an existing standby to the primary node. For server version 12 and later, the `primary_conninfo` and `restore_command` parameters are copied and stored in memory. +- For server version 11, the `recovery.conf` file is copied from an existing standby to the primary node. For server version 12 and later, the `primary_conninfo` and `restore_command` parameters are copied and stored in memory. - The primary database is stopped. - If you are using a VIP, the address is released from the primary node. - A standby is promoted to replace the primary node and acquires the VIP. From 14305b06081ce5c08c6bc81763465b4dbe7cdad4 Mon Sep 17 00:00:00 2001 From: Bobby Bissett <70302203+EFM-Bobby@users.noreply.github.com> Date: Thu, 9 Nov 2023 07:54:08 -0500 Subject: [PATCH 14/23] Update product_docs/docs/efm/4/07_using_efm_utility.mdx Co-authored-by: Betsy Gitelman <93718720+ebgitelman@users.noreply.github.com> --- product_docs/docs/efm/4/07_using_efm_utility.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/efm/4/07_using_efm_utility.mdx b/product_docs/docs/efm/4/07_using_efm_utility.mdx index fbd6264e62c..251ff1b553e 100644 --- a/product_docs/docs/efm/4/07_using_efm_utility.mdx +++ b/product_docs/docs/efm/4/07_using_efm_utility.mdx @@ -132,7 +132,7 @@ Invoke the `efm reset-members` command to remove cached node addresses from a Fa 2. Updates the Allowed Node host list to include only the current members. -3. Disconnect all agents from each other briefly, then reconnect. +3. Disconnects all agents from each other briefly and then reconnects. Running databases will not be affected by this operation. The standby priority list may need to be updated after it has completed. See the [efm set-priority](07_using_efm_utility/#efm_set_priority) command for more information. From 4db399e6635c3eccaf420988ab0ec5afba475158 Mon Sep 17 00:00:00 2001 From: Bobby Bissett <70302203+EFM-Bobby@users.noreply.github.com> Date: Thu, 9 Nov 2023 07:54:29 -0500 Subject: [PATCH 15/23] Update product_docs/docs/efm/4/07_using_efm_utility.mdx Co-authored-by: Betsy Gitelman <93718720+ebgitelman@users.noreply.github.com> --- product_docs/docs/efm/4/07_using_efm_utility.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/efm/4/07_using_efm_utility.mdx b/product_docs/docs/efm/4/07_using_efm_utility.mdx index 251ff1b553e..0db8b00bd51 100644 --- a/product_docs/docs/efm/4/07_using_efm_utility.mdx +++ b/product_docs/docs/efm/4/07_using_efm_utility.mdx @@ -134,7 +134,7 @@ Invoke the `efm reset-members` command to remove cached node addresses from a Fa 3. Disconnects all agents from each other briefly and then reconnects. -Running databases will not be affected by this operation. The standby priority list may need to be updated after it has completed. See the [efm set-priority](07_using_efm_utility/#efm_set_priority) command for more information. +Running databases aren't affected by this operation. After the operation completes, you might need to update the standby priority list. See the [efm set-priority](07_using_efm_utility/#efm_set_priority) command for more information. ## efm resume From 17f2a93b1d12ecd578d494425b9abde1c9125b0d Mon Sep 17 00:00:00 2001 From: Bobby Bissett <70302203+EFM-Bobby@users.noreply.github.com> Date: Thu, 9 Nov 2023 07:55:49 -0500 Subject: [PATCH 16/23] Update product_docs/docs/efm/4/07_using_efm_utility.mdx Co-authored-by: Betsy Gitelman <93718720+ebgitelman@users.noreply.github.com> --- product_docs/docs/efm/4/07_using_efm_utility.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/efm/4/07_using_efm_utility.mdx b/product_docs/docs/efm/4/07_using_efm_utility.mdx index 0db8b00bd51..b33d7ed4eb1 100644 --- a/product_docs/docs/efm/4/07_using_efm_utility.mdx +++ b/product_docs/docs/efm/4/07_using_efm_utility.mdx @@ -126,7 +126,7 @@ This command must be invoked by efm, a member of the efm group, or root. `efm reset-members ` -Invoke the `efm reset-members` command to remove cached node addresses from a Failover Manager cluster. This should be run after a node has been permanently removed from the cluster to prevent the cluster from trying to connect to the removed node's address. Running this command will do the following on each node in the cluster: +Invoke the `efm reset-members` command to remove cached node addresses from a Failover Manager cluster. Run this command after a node is permanently removed from the cluster to prevent the cluster from trying to connect to the removed node's address. Running this command does the following on each node in the cluster: 1. Resets the addresses in the `.nodes` file to the current cluster members. This occurs even if the `stable.nodes.file` property is set to `true`. From 4481475dab864cc8eec270927a943971c53d035f Mon Sep 17 00:00:00 2001 From: Bobby Bissett <70302203+EFM-Bobby@users.noreply.github.com> Date: Thu, 9 Nov 2023 15:53:09 -0500 Subject: [PATCH 17/23] Update product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx Co-authored-by: Betsy Gitelman <93718720+ebgitelman@users.noreply.github.com> --- product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx b/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx index 3d8dfcf2e90..7020afb6bfc 100644 --- a/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx +++ b/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx @@ -14,7 +14,7 @@ Enhancements, bug fixes, and other changes in EFM 4.8 include: | Enhancement | Failover Manager will now log more information about outside processes attempting to connect to a running agent's address/port. | | Enhancement | Failover Manager has been upgraded to use PostgreSQL JDBC Driver version 42.6.0. | | Enhancement | Failover Manager agents can be started before the local database has been initialized. | -| Enhancement | Failover Manager will warn the user and not start if the ping.server.ip property has been set to the virtual IP address. Setting these to the same value will break network connectivity checks when the VIP is dropped during a switchover. | +| Enhancement | Failover Manager warns the user and doesn't start if the `ping.server.ip` property is set to the virtual IP address. Setting these to the same value breaks network connectivity checks when the VIP is dropped during a switchover. | | Bug Fix | Fixed an edge case that could result in two primary nodes in the case of an even split of a cluster (e.g. between two data centers with equal number of nodes). | | Bug Fix | During a cluster shutdown, the coordinator will wait a couple seconds before exiting to prevent edge cases of other nodes logging warnings about cluster communication problems. [Support ticket #96840]| | Bug Fix | Fixed a rare timing case that could result in a primary database failure being ignored because of a simultaneous cluster status check. [Support ticket: #98428] | From 77cb1386322e54e9b6095c728dd056ef21149184 Mon Sep 17 00:00:00 2001 From: Bobby Bissett <70302203+EFM-Bobby@users.noreply.github.com> Date: Thu, 9 Nov 2023 15:53:39 -0500 Subject: [PATCH 18/23] Update product_docs/docs/efm/4/13_troubleshooting.mdx Co-authored-by: Betsy Gitelman <93718720+ebgitelman@users.noreply.github.com> --- product_docs/docs/efm/4/13_troubleshooting.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/efm/4/13_troubleshooting.mdx b/product_docs/docs/efm/4/13_troubleshooting.mdx index 66072a4bdd2..c83eef8fd7e 100644 --- a/product_docs/docs/efm/4/13_troubleshooting.mdx +++ b/product_docs/docs/efm/4/13_troubleshooting.mdx @@ -56,7 +56,7 @@ OpenJDK 64-Bit Server VM (Red_Hat-11.0.20.0.8-1.el7_9) (build 11.0.20+8-LTS, mix ## Unexpected connection attempts from outside the cluster -If an external process tries to connect to an agent on the `bind.address` port, Failover Manager will log a warning containing the source of the connection attempt. These warnings should not affect the Failover Manager cluster, but the source address can be used to stop or configure the outside process to not try to connect to a Failover Manager agent. An example of something outside of the cluster attempting to connect to the agent process from ``: +If an external process tries to connect to an agent on the `bind.address` port, Failover Manager logs a warning containing the source of the connection attempt. These warnings don't affect the Failover Manager cluster. However, you can use the source address to stop or configure the outside process to not try to connect to a Failover Manager agent. The following is an example of the message that appears when something outside of the cluster attempts to connect to the agent process from ``: ```text org.jgroups.protocols.TCP warn WARN: JGRP000006: failed accepting connection from peer Socket[addr=/,port=56046,localport=7800]: java.net.SocketTimeoutException: Read timed out From 6f39d578a4c239851e7795cade2f27e7d71fda2b Mon Sep 17 00:00:00 2001 From: Bobby Bissett <70302203+EFM-Bobby@users.noreply.github.com> Date: Thu, 9 Nov 2023 15:53:47 -0500 Subject: [PATCH 19/23] Update product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx Co-authored-by: Betsy Gitelman <93718720+ebgitelman@users.noreply.github.com> --- product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx b/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx index 7020afb6bfc..5a395ddce71 100644 --- a/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx +++ b/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx @@ -15,6 +15,6 @@ Enhancements, bug fixes, and other changes in EFM 4.8 include: | Enhancement | Failover Manager has been upgraded to use PostgreSQL JDBC Driver version 42.6.0. | | Enhancement | Failover Manager agents can be started before the local database has been initialized. | | Enhancement | Failover Manager warns the user and doesn't start if the `ping.server.ip` property is set to the virtual IP address. Setting these to the same value breaks network connectivity checks when the VIP is dropped during a switchover. | -| Bug Fix | Fixed an edge case that could result in two primary nodes in the case of an even split of a cluster (e.g. between two data centers with equal number of nodes). | +| Bug Fix | Fixed an edge case that could result in two primary nodes in the case of an even split of a cluster (for example, between two data centers with equal number of nodes). | | Bug Fix | During a cluster shutdown, the coordinator will wait a couple seconds before exiting to prevent edge cases of other nodes logging warnings about cluster communication problems. [Support ticket #96840]| | Bug Fix | Fixed a rare timing case that could result in a primary database failure being ignored because of a simultaneous cluster status check. [Support ticket: #98428] | From b36cb62777658fc49bd83b1ac198aabfa92d1606 Mon Sep 17 00:00:00 2001 From: Bobby Bissett <70302203+EFM-Bobby@users.noreply.github.com> Date: Thu, 9 Nov 2023 15:54:06 -0500 Subject: [PATCH 20/23] Update product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx Co-authored-by: Betsy Gitelman <93718720+ebgitelman@users.noreply.github.com> --- product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx b/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx index 5a395ddce71..c6d8dbca11b 100644 --- a/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx +++ b/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx @@ -16,5 +16,5 @@ Enhancements, bug fixes, and other changes in EFM 4.8 include: | Enhancement | Failover Manager agents can be started before the local database has been initialized. | | Enhancement | Failover Manager warns the user and doesn't start if the `ping.server.ip` property is set to the virtual IP address. Setting these to the same value breaks network connectivity checks when the VIP is dropped during a switchover. | | Bug Fix | Fixed an edge case that could result in two primary nodes in the case of an even split of a cluster (for example, between two data centers with equal number of nodes). | -| Bug Fix | During a cluster shutdown, the coordinator will wait a couple seconds before exiting to prevent edge cases of other nodes logging warnings about cluster communication problems. [Support ticket #96840]| +| Bug Fix | To prevent edge cases of other nodes logging warnings about cluster communication problems, during a cluster shutdown, the coordinator waits a couple of seconds before exiting . [Support ticket #96840]| | Bug Fix | Fixed a rare timing case that could result in a primary database failure being ignored because of a simultaneous cluster status check. [Support ticket: #98428] | From 5c9a71820bf2dd9a179d8300e8ffb26d93eadf39 Mon Sep 17 00:00:00 2001 From: Bobby Bissett <70302203+EFM-Bobby@users.noreply.github.com> Date: Thu, 9 Nov 2023 15:54:30 -0500 Subject: [PATCH 21/23] Update product_docs/docs/efm/4/upgrading.mdx Co-authored-by: Betsy Gitelman <93718720+ebgitelman@users.noreply.github.com> --- product_docs/docs/efm/4/upgrading.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/efm/4/upgrading.mdx b/product_docs/docs/efm/4/upgrading.mdx index 0bdc743e1af..03eaf61c44f 100644 --- a/product_docs/docs/efm/4/upgrading.mdx +++ b/product_docs/docs/efm/4/upgrading.mdx @@ -16,7 +16,7 @@ Failover Manager provides a utility to assist you when upgrading a cluster manag 1. Install Failover Manager 4.8 on each node of the cluster. For detailed information about installing Failover Manager, see [Installing Failover Manager](installing). -2. After installing Failover Manager, invoke the `efm upgrade-conf` utility to create the `.properties` and `.nodes` files for Failover Manager 4.8. The Failover Manager installer installs the upgrade utility ([efm upgrade-conf](07_using_efm_utility/#efm_upgrade_conf)) to the `/usr/edb/efm-4.8/bin directory`. To invoke the utility, assume root privileges, and invoke the command: +2. After installing Failover Manager, invoke the efm upgrade-conf utility to create the `.properties` and `.nodes` files for Failover Manager 4.8. The Failover Manager installer installs the upgrade utility ([efm upgrade-conf](07_using_efm_utility/#efm_upgrade_conf)) to the `/usr/edb/efm-4.8/bin` directory. To invoke the utility, assume root privileges, and invoke the command: ```shell efm upgrade-conf From 88468f9adc2196a41cffb66cdab126c1c3ae9827 Mon Sep 17 00:00:00 2001 From: Betsy Gitelman <93718720+ebgitelman@users.noreply.github.com> Date: Thu, 9 Nov 2023 16:16:38 -0500 Subject: [PATCH 22/23] Update product_docs/docs/efm/4/13_troubleshooting.mdx --- product_docs/docs/efm/4/13_troubleshooting.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/efm/4/13_troubleshooting.mdx b/product_docs/docs/efm/4/13_troubleshooting.mdx index c83eef8fd7e..74fff13d648 100644 --- a/product_docs/docs/efm/4/13_troubleshooting.mdx +++ b/product_docs/docs/efm/4/13_troubleshooting.mdx @@ -62,7 +62,7 @@ If an external process tries to connect to an agent on the `bind.address` port, org.jgroups.protocols.TCP warn WARN: JGRP000006: failed accepting connection from peer Socket[addr=/,port=56046,localport=7800]: java.net.SocketTimeoutException: Read timed out ``` -If you are running an agent with an address that used to be part of a different cluster, the original cluster may still be trying to connect to this address to re-form the cluster. In this example, the cluster 'oldcluster' is still trying to connect to an address that is now part of 'newcluster': +If you're running an agent with an address that used to be part of a different cluster, the original cluster might still be trying to connect to this address to re-form the cluster. In this example, the cluster `oldcluster` is still trying to connect to an address that's now part of `newcluster`: ```text org.jgroups.protocols.TCP warn WARN: JGRP000012: discarded message from different cluster oldcluster (our cluster is newcluster). Sender was 93cb99c7-bf3f-4243-b582-faf25aced49e() From 271e67ad29de5e0c38b8a425b6c40b40c80e6af5 Mon Sep 17 00:00:00 2001 From: Bobby Bissett Date: Tue, 14 Nov 2023 15:59:01 -0500 Subject: [PATCH 23/23] Update release date from 14 to 15 of November. Hopefully releasing officially tomorrow. --- product_docs/docs/efm/4/efm_rel_notes/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/efm/4/efm_rel_notes/index.mdx b/product_docs/docs/efm/4/efm_rel_notes/index.mdx index 6902747ed0d..0d1e8d7c6a6 100644 --- a/product_docs/docs/efm/4/efm_rel_notes/index.mdx +++ b/product_docs/docs/efm/4/efm_rel_notes/index.mdx @@ -9,7 +9,7 @@ about the release that introduced the feature. | Version | Release Date | | ------- | ------------ | -| [4.8](02_efm_48_rel_notes) | 14 Nov 2023| +| [4.8](02_efm_48_rel_notes) | 15 Nov 2023| | [4.7](03_efm_47_rel_notes) | 20 Jun 2023| | [4.6](04_efm_46_rel_notes) | 14 Feb 2023| | [4.5](05_efm_45_rel_notes) | 30 Aug 2022|