Skip to content

Commit 139a57d

Browse files
authored
docs: compatibility guide (#1567)
1 parent 3a02656 commit 139a57d

20 files changed

+324
-3
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Plugins compatibility
2+
3+
The AWS JDBC Driver uses plugins to execute JDBC methods. You can think of a plugin as an extensible code module that adds additional logic around JDBC method calls. Plugins are designed with the intention of being compatible with each other; however, there are logical constraints related to database type or database features that can make plugins inefficient in certain configurations.
4+
5+
For example, RDS Single-AZ Instance deployments do not support failover, so the `failover` and `failover2` plugins are marked as incompatible. If either of these plugins is included in the driver configuration, there will be no added value. However, these unnecessary plugins will function without errors and will simply consume additional resources.
6+
7+
The following matrices help verify plugin compatibility with other plugins and with various database types. Some plugins are sensitive to the database URL provided in the connection string, and this is also presented below.
8+
9+
We encourage users to verify their configurations and ensure that their configuration contains no incompatible components.
10+
11+
- [Database type compatibility](./CompatibilityDatabaseTypes.md)
12+
- [Database URL type compatibility](./CompatibilityEndpoints.md)
13+
- [Cross Plugins compatibility](./CompatibilityCrossPlugins.md)
14+
15+
16+

docs/using-the-jdbc-driver/CompatibilityCrossPlugins.md

Lines changed: 96 additions & 0 deletions
Large diffs are not rendered by default.

docs/using-the-jdbc-driver/CompatibilityDatabaseTypes.md

Lines changed: 53 additions & 0 deletions
Large diffs are not rendered by default.

docs/using-the-jdbc-driver/CompatibilityEndpoints.md

Lines changed: 126 additions & 0 deletions
Large diffs are not rendered by default.

docs/using-the-jdbc-driver/UsingTheJdbcDriver.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,8 @@ The AWS JDBC Driver has several built-in plugins that are available to use. Plea
225225
In addition to the built-in plugins, you can also create custom plugins more suitable for your needs.
226226
For more information, see [Custom Plugins](../development-guide/LoadablePlugins.md#using-custom-plugins).
227227

228+
Some plugins, database types and database URL types may be incompatible. For more information see the [compatibility guide](./Compatibility.md).
229+
228230
### Using a Snapshot of the Driver
229231
If there is an unreleased feature you would like to try, it may be available in a snapshot build of the driver.
230232
To use a snapshot build in your project, check the following examples. More information available within this [documentation](https://central.sonatype.org/publish/publish-portal-snapshots/#publishing-via-other-methods).

docs/using-the-jdbc-driver/using-plugins/UsingTheAuroraConnectionTrackerPlugin.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
This plugin tracks all the opened connections. In the event of a cluster failover, this plugin will close all the impacted connections.
44
If no plugins are explicitly specified, this plugin is enabled by default.
55

6+
Verify plugin compatibility within your driver configuration using the [compatibility guide](../Compatibility.md).
7+
68
## Use Case
79
User applications can have two types of connections:
810

@@ -15,3 +17,4 @@ When the application tries to continue the workflow with the idle connection tha
1517

1618
Since the Aurora Connection Tracker Plugin keeps track of all the open connections, the plugin can close all impacted connections after failover.
1719
When the application tries to use the outdated idle connection, the application will get a `connection's closed` error instead.
20+

docs/using-the-jdbc-driver/using-plugins/UsingTheAuroraInitialConnectionStrategyPlugin.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ When this plugin is enabled, if the initial connection is to a reader cluster en
55

66
This plugin also helps retrieve connections more reliably. When a user connects to a cluster endpoint, the actual instance for a new connection is resolved by DNS. During failover, the cluster elects another instance to be the writer. While DNS is updating, which can take up to 40-60 seconds, if a user tries to connect to the cluster endpoint, they may be connecting to an old node. This plugin helps by replacing the out of date endpoint if DNS is updating.
77

8+
Verify plugin compatibility within your driver configuration using the [compatibility guide](../Compatibility.md).
9+
810
## Enabling the Aurora Initial Connection Strategy Plugin
911

1012
To enable the Aurora Initial Connection Strategy Plugin, add `initialConnection` to the [`wrapperPlugins`](../UsingTheJdbcDriver.md#connection-plugin-manager-parameters) value.

docs/using-the-jdbc-driver/using-plugins/UsingTheAwsSecretsManagerPlugin.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ To enable the AWS Secrets Manager Connection Plugin, add the plugin code `awsSec
99

1010
This plugin requires valid AWS credentials. See more details at [AWS Credentials Configuration](../custom-configuration/AwsCredentialsConfiguration.md)
1111

12+
Verify plugin compatibility within your driver configuration using the [compatibility guide](../Compatibility.md).
13+
1214
## AWS Secrets Manager Connection Plugin Parameters
1315
The following properties are required for the AWS Secrets Manager Connection Plugin to retrieve database credentials from the AWS Secrets Manager.
1416

docs/using-the-jdbc-driver/using-plugins/UsingTheBlueGreenPlugin.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ All factors mentioned above may cause application disruption. The AWS Advanced J
5959
- Automatically rejects new connection requests to green nodes when the switchover is completed but DNS entries for green nodes remain temporarily available
6060
- Intelligently detects switchover failures and rollbacks to the original state, implementing appropriate connection handling measures to maintain application stability
6161
62+
Verify plugin compatibility within your driver configuration using the [compatibility guide](../Compatibility.md).
6263
6364
## How do I use Blue/Green Deployment Plugin with the AWS JDBC Driver?
6465

docs/using-the-jdbc-driver/using-plugins/UsingTheCustomEndpointPlugin.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
The Custom Endpoint Plugin adds support for RDS custom endpoints. When the Custom Endpoint Plugin is in use, the driver will analyse custom endpoint information to ensure instances used in connections are part of the custom endpoint being used. This includes connections used in failover and read-write splitting.
44

5+
Verify plugin compatibility within your driver configuration using the [compatibility guide](../Compatibility.md).
6+
57
## Prerequisites
68
- This plugin requires the following runtime dependencies to be registered separately in the classpath:
79
- [AWS Java SDK RDS v2.7.x](https://central.sonatype.com/artifact/software.amazon.awssdk/rds)

0 commit comments

Comments
 (0)