Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
99 commits
Select commit Hold shift + click to select a range
9fdae84
wip
aaron-congo Oct 21, 2025
739c421
Remove flaky and unstable suggested clusterId functionality (#1570)
sergiyvamz Oct 21, 2025
ce45f9a
remove deprecated code (#1572)
sergiyvamz Oct 21, 2025
9ce95e5
wip
aaron-congo Oct 22, 2025
3e87ebb
adopt GDB (#1573)
sergiyvamz Oct 22, 2025
db03a0a
respect AWS region connecting with cluster reader endpoint for GDB (#…
sergiyvamz Oct 22, 2025
73e94e5
fix javadocs (#1576)
sergiyvamz Oct 22, 2025
3ba3efa
chore: remove mutable keys from HostSpec#hashCode and document immuta…
aaron-congo Oct 24, 2025
2829aff
deprecate enableGreenNodeReplacement parameter (#1578)
sergiyvamz Oct 24, 2025
2fe376a
Remove deprecated configuration parameters (#1577)
sergiyvamz Oct 24, 2025
b993e25
dialect cleanup wip
aaron-congo Oct 27, 2025
9df6e1d
wip
aaron-congo Oct 28, 2025
980ea01
Builds successfully
aaron-congo Oct 29, 2025
227eac9
Remove unnecessary classes
aaron-congo Oct 29, 2025
9332a7a
Fix messages
aaron-congo Oct 29, 2025
b5b7f5c
Move HostListProvider/HostListProviderService to hostlistprovider pac…
aaron-congo Oct 29, 2025
15c9a47
node -> instance, suggestedWriter -> writer
aaron-congo Oct 29, 2025
d021e00
Remove getWriterId from TopologyDialect
aaron-congo Oct 29, 2025
2cb200a
Revert "wip"
aaron-congo Oct 30, 2025
286e98c
Revert "wip"
aaron-congo Oct 30, 2025
b103715
fix wrong nodeId in HostSpec (#1579)
sergiyvamz Oct 30, 2025
39a589b
feat: add support of RDS Proxy custom endpoints (#1583)
sergiyvamz Oct 30, 2025
eec89ff
feat: pooled flag for connect (#1581)
sergiyvamz Oct 30, 2025
c1ef2c0
Detailed cleanup
aaron-congo Oct 31, 2025
8098165
getHostListProvider -> getHostListProviderSupplier, RdsMultiAzDb -> M…
aaron-congo Oct 31, 2025
983722c
Checkstyle passing
aaron-congo Oct 31, 2025
3608e73
wip unit tests failing
aaron-congo Oct 31, 2025
73a9b87
Move TopologyUtils to hostlistprovider package
aaron-congo Oct 31, 2025
da67081
RdsHostListProviderTest passing
aaron-congo Oct 31, 2025
c6e1957
Unit tests passing
aaron-congo Oct 31, 2025
bca6291
Fix integ tests
aaron-congo Oct 31, 2025
cf7755b
wip
aaron-congo Oct 21, 2025
b41de7b
wip
aaron-congo Oct 22, 2025
af99dab
Merge branch 'main' into host-list-provider-cleanup
aaron-congo Oct 31, 2025
292b05f
Merge branch 'main-3.x' into host-list-provider-cleanup
aaron-congo Oct 31, 2025
b4a4e4b
Global endpoints wip
aaron-congo Nov 3, 2025
6c7071d
build passing
aaron-congo Nov 4, 2025
faf4394
Adjusting for Global wip
aaron-congo Nov 4, 2025
58a456f
Build passing
aaron-congo Nov 5, 2025
66dc4fc
Fix formatting, error messages
aaron-congo Nov 5, 2025
f283575
docs: deprecate auroraStaleDns plugin (#1590)
sergiyvamz Nov 5, 2025
820f155
feat: add initialConnection plugin to default plugin list (#1592)
sergiyvamz Nov 5, 2025
0a537b3
Cleanup comments
aaron-congo Nov 5, 2025
29057d8
Add DialectUtils#checkExistenceQueries
aaron-congo Nov 5, 2025
e57bf03
Change getInstanceId return value from Pair to String
aaron-congo Nov 6, 2025
9ca3948
Unit tests passing
aaron-congo Nov 6, 2025
ce88de1
Merge branch 'main-3.x' into dialects-original
aaron-congo Nov 6, 2025
2e154f8
Cleanup
aaron-congo Nov 6, 2025
f890569
Update javadocs
aaron-congo Nov 6, 2025
2318980
Merge branch 'host-list-provider-cleanup' into host-list-provider
aaron-congo Nov 6, 2025
56aa059
Revert "Change getInstanceId return value from Pair to String"
aaron-congo Nov 6, 2025
cd09a2d
cleanup
aaron-congo Nov 6, 2025
d0d49fe
Fix unit test
aaron-congo Nov 6, 2025
274ca55
Revert "ci: scope down GitHub Token permissions (#1571)"
aaron-congo Nov 6, 2025
5b748ad
Revert "add support of the following domains: eu, au, uk (#1587)"
aaron-congo Nov 6, 2025
b238463
Revert "chore: fix standard integration tests (#1594)"
aaron-congo Nov 6, 2025
a460ec6
ci: scope down GitHub Token permissions (#1571)
AdnaneKhan Oct 21, 2025
c0b3bd3
chore: fix standard integration tests (#1594)
sergiyvamz Nov 5, 2025
e74734a
Merge branch 'host-list-provider-cleanup' into host-list-provider
aaron-congo Nov 6, 2025
fd26cd3
Remove remaining calls to refresh/forceRefresh(Connection)
aaron-congo Nov 6, 2025
fc7a868
wip
aaron-congo Nov 6, 2025
e885438
Fix Aurora dialect instance ID queries
aaron-congo Nov 6, 2025
2fab544
Fix bug where isWriterInstance didn't work properly
aaron-congo Nov 7, 2025
9a6cd8a
Merge branch 'host-list-provider-cleanup' into host-list-provider
aaron-congo Nov 7, 2025
3c2287c
forceRefresh changes compiling
aaron-congo Nov 7, 2025
890f5c7
refresh changes compiling
aaron-congo Nov 7, 2025
bcca2fe
Fix failing integ test
aaron-congo Nov 8, 2025
f5185b7
fix bug wip
aaron-congo Nov 11, 2025
709e5ac
Fix integ test
aaron-congo Nov 11, 2025
438ab14
getHostListProviderSupplier -> createHostListProvider
aaron-congo Nov 11, 2025
400295b
unit test wip
aaron-congo Nov 12, 2025
5432dcb
Unit tests passing
aaron-congo Nov 12, 2025
550f23b
cleanup
aaron-congo Nov 12, 2025
2a59bdf
chore: remove unused StorageService method (#1597)
aaron-congo Nov 13, 2025
2baa307
Fix failing integration test
aaron-congo Nov 13, 2025
7bc6bdb
Fix bug where some monitors were not using PartialPluginService
aaron-congo Nov 14, 2025
f283dd3
Fix bug where topology monitors were created before the dialect was c…
aaron-congo Nov 14, 2025
af4c763
chore: remove deprecated ConnectionService classes (#1598)
aaron-congo Nov 14, 2025
32e0997
Avoid using monitoring host list provider in ClusterAwareWriterFailov…
aaron-congo Nov 19, 2025
070b79b
chore: logging improvement for RW Splitting plugin (#1604)
sergiyvamz Nov 20, 2025
20f2f25
feat: allow to override IAM token property name (#1603)
sergiyvamz Nov 20, 2025
8df2a3f
Refactor: dialects and host list providers to reduce code duplication…
aaron-congo Nov 20, 2025
efd6c12
docs: permissions for non-admin users accessing MultiAZ clusters (#1602)
sergiyvamz Nov 20, 2025
f584fd1
Merge branch 'main-3.x' into host-list-provider
aaron-congo Nov 21, 2025
084d003
Revert "getHostListProviderSupplier -> createHostListProvider"
aaron-congo Nov 21, 2025
58c165a
wip
aaron-congo Nov 22, 2025
51bfd14
Fix unit tests
aaron-congo Dec 4, 2025
f1eb325
Merge branch 'main' into host-list-provider
aaron-congo Dec 9, 2025
98f0df8
gradlew check passing
aaron-congo Dec 9, 2025
011d540
fix: refresh host list after failover in failover1 plugin
aaron-congo Dec 10, 2025
9688ea8
Cleanup
aaron-congo Dec 10, 2025
6032a36
Merge branch 'main' into host-list-provider
aaron-congo Dec 10, 2025
fecace8
PR comments
aaron-congo Dec 11, 2025
f00e301
PR suggestions
aaron-congo Dec 11, 2025
0c35408
PR suggestions
aaron-congo Dec 11, 2025
a16594b
PR suggestions
aaron-congo Dec 11, 2025
8f073ec
PR suggestions
aaron-congo Dec 11, 2025
809cac3
PR suggestions
aaron-congo Dec 12, 2025
43fdc81
PR suggestions
aaron-congo Dec 12, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

2 changes: 0 additions & 2 deletions wrapper/src/main/java/software/amazon/jdbc/Driver.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,6 @@
import software.amazon.jdbc.dialect.Dialect;
import software.amazon.jdbc.dialect.DialectManager;
import software.amazon.jdbc.exceptions.ExceptionHandler;
import software.amazon.jdbc.hostlistprovider.RdsHostListProvider;
import software.amazon.jdbc.hostlistprovider.monitoring.MonitoringRdsHostListProvider;
import software.amazon.jdbc.plugin.AwsSecretsManagerCacheHolder;
import software.amazon.jdbc.plugin.DataCacheConnectionPlugin;
import software.amazon.jdbc.plugin.OpenedConnectionTracker;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ public class PartialPluginService implements PluginService, CanReleaseResources,

private static final Logger LOGGER = Logger.getLogger(PartialPluginService.class.getName());
protected static final long DEFAULT_HOST_AVAILABILITY_CACHE_EXPIRE_NANO = TimeUnit.MINUTES.toNanos(5);
protected static final int DEFAULT_TOPOLOGY_QUERY_TIMEOUT_MS = 5000;

protected static final CacheMap<String, HostAvailability> hostAvailabilityExpiringCache = new CacheMap<>();
protected final FullServicesContainer servicesContainer;
Expand All @@ -92,7 +93,7 @@ public PartialPluginService(
@NonNull final String originalUrl,
@NonNull final String targetDriverProtocol,
@NonNull final TargetDriverDialect targetDriverDialect,
@NonNull final Dialect dbDialect) {
@NonNull final Dialect dbDialect) throws SQLException {
this(
servicesContainer,
new ExceptionManager(),
Expand All @@ -112,7 +113,7 @@ public PartialPluginService(
@NonNull final String targetDriverProtocol,
@NonNull final TargetDriverDialect targetDriverDialect,
@NonNull final Dialect dbDialect,
@Nullable final ConfigurationProfile configurationProfile) {
@Nullable final ConfigurationProfile configurationProfile) throws SQLException {
this.servicesContainer = servicesContainer;
this.servicesContainer.setHostListProviderService(this);
this.servicesContainer.setPluginService(this);
Expand Down Expand Up @@ -361,6 +362,12 @@ public boolean isInTransaction() {
Messages.get("PartialPluginService.unexpectedMethodCall", new Object[] {"isInTransaction"}));
}

@Override
public boolean isDialectConfirmed() {
throw new UnsupportedOperationException(
Messages.get("PartialPluginService.unexpectedMethodCall", new Object[] {"isDialectConfirmed"}));
}

@Override
public void setInTransaction(final boolean inTransaction) {
this.isInTransaction = inTransaction;
Expand All @@ -380,47 +387,18 @@ public void refreshHostList() throws SQLException {
}
}

@Override
public void refreshHostList(final Connection connection) throws SQLException {
final List<HostSpec> updatedHostList = this.getHostListProvider().refresh(connection);
if (!Objects.equals(updatedHostList, this.allHosts)) {
updateHostAvailability(updatedHostList);
setNodeList(this.allHosts, updatedHostList);
}
}

@Override
public void forceRefreshHostList() throws SQLException {
final List<HostSpec> updatedHostList = this.getHostListProvider().forceRefresh();
if (updatedHostList != null) {
updateHostAvailability(updatedHostList);
setNodeList(this.allHosts, updatedHostList);
}
}

@Override
public void forceRefreshHostList(final Connection connection) throws SQLException {
final List<HostSpec> updatedHostList = this.getHostListProvider().forceRefresh(connection);
if (updatedHostList != null) {
updateHostAvailability(updatedHostList);
setNodeList(this.allHosts, updatedHostList);
}
this.forceRefreshHostList(false, DEFAULT_TOPOLOGY_QUERY_TIMEOUT_MS);
}

@Override
public boolean forceRefreshHostList(final boolean shouldVerifyWriter, final long timeoutMs)
throws SQLException {

final HostListProvider hostListProvider = this.getHostListProvider();
if (!(hostListProvider instanceof BlockingHostListProvider)) {
throw new UnsupportedOperationException(
Messages.get("PluginServiceImpl.requiredBlockingHostListProvider",
new Object[] {hostListProvider.getClass().getName()}));
}

try {
final List<HostSpec> updatedHostList =
((BlockingHostListProvider) hostListProvider).forceRefresh(shouldVerifyWriter, timeoutMs);
final List<HostSpec> updatedHostList = hostListProvider.forceRefresh(shouldVerifyWriter, timeoutMs);
if (updatedHostList != null) {
updateHostAvailability(updatedHostList);
setNodeList(this.allHosts, updatedHostList);
Expand Down
6 changes: 2 additions & 4 deletions wrapper/src/main/java/software/amazon/jdbc/PluginService.java
Original file line number Diff line number Diff line change
Expand Up @@ -156,16 +156,14 @@ HostSpec getHostSpecByStrategy(List<HostSpec> hosts, HostRole role, String strat

boolean isInTransaction();

boolean isDialectConfirmed();

HostListProvider getHostListProvider();

void refreshHostList() throws SQLException;

void refreshHostList(Connection connection) throws SQLException;

void forceRefreshHostList() throws SQLException;

void forceRefreshHostList(Connection connection) throws SQLException;

/**
* Initiates a topology update.
*
Expand Down
52 changes: 16 additions & 36 deletions wrapper/src/main/java/software/amazon/jdbc/PluginServiceImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -66,13 +66,11 @@ public class PluginServiceImpl implements PluginService, CanReleaseResources,

private static final Logger LOGGER = Logger.getLogger(PluginServiceImpl.class.getName());
protected static final long DEFAULT_HOST_AVAILABILITY_CACHE_EXPIRE_NANO = TimeUnit.MINUTES.toNanos(5);
protected static final int DEFAULT_TOPOLOGY_QUERY_TIMEOUT_MS = 5000;

protected static final CacheMap<String, HostAvailability> hostAvailabilityExpiringCache = new CacheMap<>();
protected final FullServicesContainer servicesContainer;

protected static final CacheMap<String, Object> statusesExpiringCache = new CacheMap<>();
protected static final long DEFAULT_STATUS_CACHE_EXPIRE_NANO = TimeUnit.MINUTES.toNanos(60);

protected final ConnectionPluginManager pluginManager;
private final Properties props;
private final String originalUrl;
Expand All @@ -83,6 +81,7 @@ public class PluginServiceImpl implements PluginService, CanReleaseResources,
protected HostSpec currentHostSpec;
protected HostSpec initialConnectionHostSpec;
private boolean isInTransaction;
private boolean isDialectConfirmed;
private final ExceptionManager exceptionManager;
protected final @Nullable ExceptionHandler exceptionHandler;
protected final DialectProvider dialectProvider;
Expand Down Expand Up @@ -482,6 +481,11 @@ public void setInTransaction(final boolean inTransaction) {
this.isInTransaction = inTransaction;
}

@Override
public boolean isDialectConfirmed() {
return this.isDialectConfirmed;
}

@Override
public HostListProvider getHostListProvider() {
return this.hostListProvider;
Expand All @@ -496,55 +500,26 @@ public void refreshHostList() throws SQLException {
}
}

@Override
public void refreshHostList(final Connection connection) throws SQLException {
final List<HostSpec> updatedHostList = this.getHostListProvider().refresh(connection);
if (!Objects.equals(updatedHostList, this.allHosts)) {
updateHostAvailability(updatedHostList);
setNodeList(this.allHosts, updatedHostList);
}
}

@Override
public void forceRefreshHostList() throws SQLException {
final List<HostSpec> updatedHostList = this.getHostListProvider().forceRefresh();
if (updatedHostList != null) {
updateHostAvailability(updatedHostList);
setNodeList(this.allHosts, updatedHostList);
}
}

@Override
public void forceRefreshHostList(final Connection connection) throws SQLException {
final List<HostSpec> updatedHostList = this.getHostListProvider().forceRefresh(connection);
if (updatedHostList != null) {
updateHostAvailability(updatedHostList);
setNodeList(this.allHosts, updatedHostList);
}
this.forceRefreshHostList(false, DEFAULT_TOPOLOGY_QUERY_TIMEOUT_MS);
}

@Override
public boolean forceRefreshHostList(final boolean shouldVerifyWriter, final long timeoutMs)
throws SQLException {

final HostListProvider hostListProvider = this.getHostListProvider();
if (!(hostListProvider instanceof BlockingHostListProvider)) {
throw new UnsupportedOperationException(
Messages.get("PluginServiceImpl.requiredBlockingHostListProvider",
new Object[]{hostListProvider.getClass().getName()}));
}

try {
final List<HostSpec> updatedHostList =
((BlockingHostListProvider) hostListProvider).forceRefresh(shouldVerifyWriter, timeoutMs);
final List<HostSpec> updatedHostList = hostListProvider.forceRefresh(shouldVerifyWriter, timeoutMs);
if (updatedHostList != null) {
updateHostAvailability(updatedHostList);
setNodeList(this.allHosts, updatedHostList);
return true;
}
} catch (TimeoutException ex) {
// do nothing.
LOGGER.finest(Messages.get("PluginServiceImpl.forceRefreshTimeout", new Object[]{timeoutMs}));
LOGGER.finest(Messages.get("PluginServiceImpl.forceRefreshTimeout", new Object[] {timeoutMs}));
}
return false;
}
Expand Down Expand Up @@ -723,13 +698,18 @@ public void updateDialect(final @NonNull Connection connection) throws SQLExcept
this.originalUrl,
this.initialConnectionHostSpec,
connection);
this.isDialectConfirmed = true;
if (originalDialect == this.dialect) {
return;
}

updateHostListProvider();
}

protected void updateHostListProvider() throws SQLException {
final HostListProviderSupplier supplier = this.dialect.getHostListProviderSupplier();
this.setHostListProvider(supplier.getProvider(this.props, this.originalUrl, this.servicesContainer));
this.refreshHostList(connection);
this.refreshHostList();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,9 @@
import java.sql.Connection;
import java.util.Collections;
import java.util.List;
import software.amazon.jdbc.PluginService;
import software.amazon.jdbc.hostlistprovider.AuroraTopologyUtils;
import software.amazon.jdbc.hostlistprovider.RdsHostListProvider;
import software.amazon.jdbc.hostlistprovider.TopologyUtils;
import software.amazon.jdbc.hostlistprovider.monitoring.MonitoringRdsHostListProvider;
import software.amazon.jdbc.plugin.failover2.FailoverConnectionPlugin;

public class AuroraMysqlDialect extends MysqlDialect implements TopologyDialect, BlueGreenDialect {

Expand Down Expand Up @@ -60,11 +57,8 @@ public boolean isDialect(final Connection connection) {
@Override
public HostListProviderSupplier getHostListProviderSupplier() {
return (properties, initialUrl, servicesContainer) -> {
final PluginService pluginService = servicesContainer.getPluginService();
final TopologyUtils topologyUtils = new AuroraTopologyUtils(this, pluginService.getHostSpecBuilder());
if (pluginService.isPluginInUse(FailoverConnectionPlugin.class)) {
return new MonitoringRdsHostListProvider(topologyUtils, properties, initialUrl, servicesContainer);
}
final TopologyUtils topologyUtils =
new AuroraTopologyUtils(this, servicesContainer.getPluginService().getHostSpecBuilder());
return new RdsHostListProvider(topologyUtils, properties, initialUrl, servicesContainer);
};
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,9 @@
import java.util.Arrays;
import java.util.List;
import java.util.logging.Logger;
import software.amazon.jdbc.PluginService;
import software.amazon.jdbc.hostlistprovider.AuroraTopologyUtils;
import software.amazon.jdbc.hostlistprovider.RdsHostListProvider;
import software.amazon.jdbc.hostlistprovider.TopologyUtils;
import software.amazon.jdbc.hostlistprovider.monitoring.MonitoringRdsHostListProvider;
import software.amazon.jdbc.plugin.failover2.FailoverConnectionPlugin;
import software.amazon.jdbc.util.DriverInfo;
import software.amazon.jdbc.util.Messages;

Expand Down Expand Up @@ -107,11 +104,8 @@ public List<String> getDialectUpdateCandidates() {
@Override
public HostListProviderSupplier getHostListProviderSupplier() {
return (properties, initialUrl, servicesContainer) -> {
final PluginService pluginService = servicesContainer.getPluginService();
final TopologyUtils topologyUtils = new AuroraTopologyUtils(this, pluginService.getHostSpecBuilder());
if (pluginService.isPluginInUse(FailoverConnectionPlugin.class)) {
return new MonitoringRdsHostListProvider(topologyUtils, properties, initialUrl, servicesContainer);
}
final TopologyUtils topologyUtils =
new AuroraTopologyUtils(this, servicesContainer.getPluginService().getHostSpecBuilder());
return new RdsHostListProvider(topologyUtils, properties, initialUrl, servicesContainer);
};
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,8 @@
import java.sql.Statement;
import java.util.Collections;
import java.util.List;
import software.amazon.jdbc.PluginService;
import software.amazon.jdbc.hostlistprovider.GlobalAuroraHostListProvider;
import software.amazon.jdbc.hostlistprovider.GlobalAuroraTopologyUtils;
import software.amazon.jdbc.hostlistprovider.monitoring.MonitoringGlobalAuroraHostListProvider;
import software.amazon.jdbc.plugin.failover2.FailoverConnectionPlugin;

public class GlobalAuroraMysqlDialect extends AuroraMysqlDialect implements GlobalAuroraTopologyDialect {

Expand Down Expand Up @@ -75,12 +72,8 @@ public boolean isDialect(final Connection connection) {
@Override
public HostListProviderSupplier getHostListProviderSupplier() {
return (properties, initialUrl, servicesContainer) -> {
final PluginService pluginService = servicesContainer.getPluginService();
final GlobalAuroraTopologyUtils topologyUtils =
new GlobalAuroraTopologyUtils(this, pluginService.getHostSpecBuilder());
if (pluginService.isPluginInUse(FailoverConnectionPlugin.class)) {
return new MonitoringGlobalAuroraHostListProvider(topologyUtils, properties, initialUrl, servicesContainer);
}
new GlobalAuroraTopologyUtils(this, servicesContainer.getPluginService().getHostSpecBuilder());
return new GlobalAuroraHostListProvider(topologyUtils, properties, initialUrl, servicesContainer);
};
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,8 @@
import java.util.Collections;
import java.util.List;
import java.util.logging.Logger;
import software.amazon.jdbc.PluginService;
import software.amazon.jdbc.hostlistprovider.GlobalAuroraHostListProvider;
import software.amazon.jdbc.hostlistprovider.GlobalAuroraTopologyUtils;
import software.amazon.jdbc.hostlistprovider.monitoring.MonitoringGlobalAuroraHostListProvider;
import software.amazon.jdbc.plugin.failover2.FailoverConnectionPlugin;
import software.amazon.jdbc.util.Messages;

public class GlobalAuroraPgDialect extends AuroraPgDialect implements GlobalAuroraTopologyDialect {
Expand Down Expand Up @@ -90,12 +87,8 @@ public boolean isDialect(final Connection connection) {
@Override
public HostListProviderSupplier getHostListProviderSupplier() {
return (properties, initialUrl, servicesContainer) -> {
final PluginService pluginService = servicesContainer.getPluginService();
final GlobalAuroraTopologyUtils topologyUtils =
new GlobalAuroraTopologyUtils(this, pluginService.getHostSpecBuilder());
if (pluginService.isPluginInUse(FailoverConnectionPlugin.class)) {
return new MonitoringGlobalAuroraHostListProvider(topologyUtils, properties, initialUrl, servicesContainer);
}
new GlobalAuroraTopologyUtils(this, servicesContainer.getPluginService().getHostSpecBuilder());
return new GlobalAuroraHostListProvider(topologyUtils, properties, initialUrl, servicesContainer);
};
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

package software.amazon.jdbc.dialect;

import java.sql.SQLException;
import java.util.Properties;
import org.checkerframework.checker.nullness.qual.NonNull;
import software.amazon.jdbc.hostlistprovider.HostListProvider;
Expand All @@ -26,5 +27,5 @@ public interface HostListProviderSupplier {
@NonNull HostListProvider getProvider(
final @NonNull Properties properties,
final String initialUrl,
final @NonNull FullServicesContainer servicesContainer);
final @NonNull FullServicesContainer servicesContainer) throws SQLException;
}
Loading
Loading