Skip to content

Commit 89a4d17

Browse files
authored
docs: efm2 (#402)
1 parent 3aeabeb commit 89a4d17

2 files changed

Lines changed: 21 additions & 6 deletions

File tree

docs/using-the-nodejs-wrapper/UsingTheNodejsWrapper.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,11 @@ Plugins are loaded and managed through the Connection Plugin Manager and may be
7676

7777
### Connection Plugin Manager Parameters
7878

79-
| Parameter | Value | Required | Description | Default Value |
80-
| ---------------------------- | --------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- |
81-
| `plugins` | `String` | No | Comma separated list of connection plugin codes. <br><br>Example: `failover,efm` | `auroraConnectionTracker,failover,efm` |
82-
| `autoSortWrapperPluginOrder` | `Boolean` | No | Allows the AWS Advanced NodeJS Wrapper to sort connection plugins to prevent plugin misconfiguration. Allows a user to provide a custom plugin order if needed. | `true` |
83-
| `profileName` | `String` | No | Driver configuration profile name. Instead of listing plugin codes with `plugins`, the driver profile can be set with this parameter. <br><br> Example: See [below](#configuration-profiles). | `null` |
79+
| Parameter | Value | Required | Description | Default Value |
80+
| ---------------------------- | --------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- |
81+
| `plugins` | `String` | No | Comma separated list of connection plugin codes. <br><br>Example: `failover,efm` | `auroraConnectionTracker,failover,efm2` |
82+
| `autoSortWrapperPluginOrder` | `Boolean` | No | Allows the AWS Advanced NodeJS Wrapper to sort connection plugins to prevent plugin misconfiguration. Allows a user to provide a custom plugin order if needed. | `true` |
83+
| `profileName` | `String` | No | Driver configuration profile name. Instead of listing plugin codes with `plugins`, the driver profile can be set with this parameter. <br><br> Example: See [below](#configuration-profiles). | `null` |
8484

8585
To use a built-in plugin, specify its relevant plugin code for the `plugins` .
8686
The default value for `plugins` is `failover`. These plugins are enabled by default. To read more about these plugins, see the [List of Available Plugins](#list-of-available-plugins) section.
@@ -121,7 +121,8 @@ The AWS Advanced NodeJS Wrapper has several built-in plugins that are available
121121
| ------------------------------------------------------------------------------------------------------------- | ------------------------- | ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
122122
| [Failover Connection Plugin](./using-plugins/UsingTheFailoverPlugin.md) | `failover` | Aurora, RDS Multi-AZ DB Cluster | Enables the failover functionality supported by Amazon Aurora clusters and RDS Multi-AZ DB clusters. Prevents opening a wrong connection to an old writer instance due to stale DNS after a failover event. This plugin is enabled by default. | None |
123123
| [Failover2 Connection Plugin](./using-plugins/UsingTheFailover2Plugin.md) | `failover2` | Aurora | Enables the failover functionality supported by Amazon Aurora clusters. Prevents opening a wrong connection to an old writer instance due to stale DNS after a failover event. This is the next version of the Failover Plugin. | None |
124-
| [Host Monitoring Plugin](./using-plugins/UsingTheHostMonitoringPlugin.md) | `efm` | Aurora, RDS Multi-AZ DB Cluster | Enables enhanced host connection failure monitoring, allowing faster failure detection rates. This plugin is enabled by default. | None |
124+
| [Host Monitoring Plugin](./using-plugins/UsingTheHostMonitoringPlugin.md) | `efm` | Aurora, RDS Multi-AZ DB Cluster | Enables enhanced host connection failure monitoring, allowing faster failure detection rates. | None |
125+
| [Host Monitoring 2 Plugin](./using-plugins/UsingTheHostMonitoringPlugin.md#host-monitoring-plugin-v2) | `efm2` | Aurora, RDS Multi-AZ DB Cluster | Enables enhanced host connection failure monitoring, allowing faster failure detection rates. Split monitoring logic into two separate tasks and simlified monitoring logic to increase overall monitoring stability. This plugin is enabled by default. | None |
125126
| Execution Time Connection Plugin | `executeTime` | Any database | Logs the time taken to execute any client method. | None |
126127
| [IAM Authentication Connection Plugin](./using-plugins/UsingTheIamAuthenticationPlugin.md) | `iam` | Aurora | Enables users to connect to their Amazon Aurora clusters using AWS Identity and Access Management (IAM). | See the IAM Authentication Connection Plugin [prerequisites](./using-plugins/UsingTheIamAuthenticationPlugin.md#Prerequisites) |
127128
| [AWS Secrets Manager Connection Plugin](./using-plugins/UsingTheAwsSecretsManagerPlugin.md) | `secretsManager` | Any database | Enables fetching database credentials from the AWS Secrets Manager service. | See the IAM Authentication Connection Plugin [prerequisites](./using-plugins/UsingTheAwsSecretsManagerPlugin.md#Prerequisites) |

docs/using-the-nodejs-wrapper/using-plugins/UsingTheHostMonitoringPlugin.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,3 +86,17 @@ await client.connect();
8686
8787
> [!WARNING]
8888
> Connections with the Host Monitoring Connection Plugin may have cached resources used throughout multiple connections. To clean up any resources used by the plugins at the end of the application call `await PluginManager.releaseResources()`.
89+
90+
> # Host Monitoring Plugin v2
91+
92+
Host Monitoring Plugin v2, also known as `efm2`, is an alternative implementation of enhanced failure monitoring and it is functionally equal to the Host Monitoring Plugin described above. Both plugins share the same set of [configuration parameters](#enhanced-failure-monitoring-parameters). The `efm2` plugin is designed to be a drop-in replacement for the `efm` plugin.
93+
The `efm2` plugin can be used in any scenario where the `efm` plugin is mentioned. This plugin is enabled by default since [version 1.2.0](https://github.com/aws/aws-advanced-nodejs-wrapper/releases/tag/1.2.0) of the driver. The original EFM plugin can still be used by specifying `efm` in the `wrapperPlugins` parameter.
94+
95+
> [!NOTE]\
96+
> Since these two plugins are separate plugins, users may decide to use them together with a single connection. While this should not have any negative side effects, it is not recommended. It is recommended to use either the `efm` plugin, or the `efm2` plugin where it's needed.
97+
98+
The `efm2` plugin implements the following changes:
99+
100+
- Split monitoring logic into two separate tasks to increase overall monitoring stability
101+
- Reviewed and redesigned stopping of idle monitoring tasks
102+
- Reviewed and simplified monitoring logic

0 commit comments

Comments
 (0)