From 2b5017495e5796610e4161187f2e6d208c600171 Mon Sep 17 00:00:00 2001 From: joyc-bq Date: Fri, 20 Dec 2024 11:18:48 -0800 Subject: [PATCH] formatting --- .../rds_host_list_provider.ts | 3 +- .../aurora_connection_tracker_plugin.ts | 1 - .../opened_connection_tracker.ts | 1 - .../lib/plugins/failover/failover_plugin.ts | 6 +- .../failover/writer_failover_handler.ts | 5 +- common/lib/utils/locales/en.json | 396 +++++++++--------- pg/lib/client.ts | 1 - pg/lib/dialect/aurora_pg_database_dialect.ts | 3 +- tests/plugin_manager_benchmarks.ts | 4 +- 9 files changed, 205 insertions(+), 215 deletions(-) diff --git a/common/lib/host_list_provider/rds_host_list_provider.ts b/common/lib/host_list_provider/rds_host_list_provider.ts index bc2c89ab..657467c6 100644 --- a/common/lib/host_list_provider/rds_host_list_provider.ts +++ b/common/lib/host_list_provider/rds_host_list_provider.ts @@ -143,8 +143,7 @@ export class RdsHostListProvider implements DynamicHostListProvider { } if (client) { - const val = await dialect.getHostRole(client); - return val; + return await dialect.getHostRole(client); } else { throw new AwsWrapperError(Messages.get("AwsClient targetClient not defined.")); } diff --git a/common/lib/plugins/connection_tracker/aurora_connection_tracker_plugin.ts b/common/lib/plugins/connection_tracker/aurora_connection_tracker_plugin.ts index c5c340a8..b2abacb2 100644 --- a/common/lib/plugins/connection_tracker/aurora_connection_tracker_plugin.ts +++ b/common/lib/plugins/connection_tracker/aurora_connection_tracker_plugin.ts @@ -57,7 +57,6 @@ export class AuroraConnectionTrackerPlugin extends AbstractConnectionPlugin impl isInitialConnection: boolean, connectFunc: () => Promise ): Promise { - return this.connectInternal(hostInfo, connectFunc); } diff --git a/common/lib/plugins/connection_tracker/opened_connection_tracker.ts b/common/lib/plugins/connection_tracker/opened_connection_tracker.ts index d94ad2d8..eb09b2a1 100644 --- a/common/lib/plugins/connection_tracker/opened_connection_tracker.ts +++ b/common/lib/plugins/connection_tracker/opened_connection_tracker.ts @@ -111,7 +111,6 @@ export class OpenedConnectionTracker { } } console.log(`Opened Connections Tracked: \n\t${str}`); - console.log(logTopology(this.pluginService.getHosts(), "logging connections topology : ")); } private logConnectionQueue(host: string, queue: Array>): void { diff --git a/common/lib/plugins/failover/failover_plugin.ts b/common/lib/plugins/failover/failover_plugin.ts index f26b59b5..09bf8b00 100644 --- a/common/lib/plugins/failover/failover_plugin.ts +++ b/common/lib/plugins/failover/failover_plugin.ts @@ -172,7 +172,7 @@ export class FailoverPlugin extends AbstractConnectionPlugin { } // Log changes - if (logger.level === "silly") { + if (logger.level === "debug") { let str = "Changes:"; for (const [key, values] of changes.entries()) { str = str.concat("\n"); @@ -189,7 +189,6 @@ export class FailoverPlugin extends AbstractConnectionPlugin { if (currentHost) { const url = currentHost.url; if (this.isHostStillValid(url, changes)) { - console.log("url still valid: " + url); return Promise.resolve(); } @@ -440,7 +439,7 @@ export class FailoverPlugin extends AbstractConnectionPlugin { await this.pluginService.abortCurrentClient(); await this.pluginService.setCurrentClient(result.client, writerHostInfo); - console.log(Messages.get("Failover.establishedConnection", this.pluginService.getCurrentHostInfo()?.host ?? "")); + logger.debug(Messages.get("Failover.establishedConnection", this.pluginService.getCurrentHostInfo()?.host ?? "")); await this.pluginService.refreshHostList(); this.failoverWriterSuccessCounter.inc(); } catch (error: any) { @@ -547,7 +546,6 @@ export class FailoverPlugin extends AbstractConnectionPlugin { } private canDirectExecute(methodName: string): boolean { - console.log("methodNamedirect " + methodName); return methodName === FailoverPlugin.METHOD_END; } diff --git a/common/lib/plugins/failover/writer_failover_handler.ts b/common/lib/plugins/failover/writer_failover_handler.ts index 03428a54..7d4cc5e3 100644 --- a/common/lib/plugins/failover/writer_failover_handler.ts +++ b/common/lib/plugins/failover/writer_failover_handler.ts @@ -20,14 +20,13 @@ import { ClusterAwareReaderFailoverHandler } from "./reader_failover_handler"; import { PluginService } from "../../plugin_service"; import { HostAvailability } from "../../host_availability/host_availability"; import { AwsWrapperError } from "../../utils/errors"; -import { getWriter, logTopology, maskProperties, sleep } from "../../utils/utils"; +import { getWriter, logTopology, maskProperties } from "../../utils/utils"; import { ReaderFailoverResult } from "./reader_failover_result"; import { Messages } from "../../utils/messages"; import { logger } from "../../../logutils"; import { WrapperProperties } from "../../wrapper_property"; import { ClientWrapper } from "../../client_wrapper"; import { FailoverRestriction } from "./failover_restriction"; -import { HostRole } from "../../host_role"; export interface WriterFailoverHandler { failover(currentTopology: HostInfo[]): Promise; @@ -269,7 +268,6 @@ class ReconnectToWriterHandlerTask { } finally { if (this.currentClient && (this.failoverCompletedDueToError || !success)) { await this.pluginService.abortTargetClient(this.currentClient); - } logger.info(Messages.get("ClusterAwareWriterFailoverHandler.taskAFinished")); } @@ -283,7 +281,6 @@ class ReconnectToWriterHandlerTask { // Task B was returned. if (selectedTask && selectedTask === ClusterAwareWriterFailoverHandler.WAIT_NEW_WRITER_TASK) { await this.pluginService.abortTargetClient(this.currentClient); - } } } diff --git a/common/lib/utils/locales/en.json b/common/lib/utils/locales/en.json index 2634dbb9..4b1bd431 100644 --- a/common/lib/utils/locales/en.json +++ b/common/lib/utils/locales/en.json @@ -1,199 +1,199 @@ { - "PluginManager.unknownPluginCode": "Unknown plugin code: '%s'", - "PluginManager.unknownPluginWeight": "Unknown plugin weight for %s.", - "PluginManager.pipelineNone": "A pipeline was requested but the created pipeline evaluated to undefined.", - "PluginManager.unableToRetrievePlugin": "Unable to retrieve plugin instance.", - "ConnectionProvider.unsupportedHostSelectorStrategy": "Unsupported host selection strategy '%s' specified for this connection provider '%s'. Please visit the documentation for all supported strategies.", - "ConnectionPluginChainBuilder.errorImportingPlugin": "The plugin could not be imported due to error '%s'. Please ensure the required dependencies have been installed. Plugin: '%s'", - "ClientUtils.queryTaskTimeout": "Client query task timed out, if a network error did not occur, please review the usage of the 'mysqlQueryTimeout' connection parameter.", - "ClientUtils.connectTimeout": "Client connect timed out.", - "DatabaseDialectManager.unknownDialectCode": "Unknown dialect code: '%s'.", - "DatabaseDialectManager.getDialectError": "Was not able to get a database dialect.", - "DatabaseDialectManager.wrongCustomDialect": "Provided custom database dialect should implement DatabaseDialect.", - "DefaultPlugin.executingMethod": "Executing method: %s", - "DefaultConnectionPlugin.unknownRoleRequested": "A HostInfo with a role of HostRole.UNKNOWN was requested via getHostInfoByStrategy. The requested role must be either HostRole.WRITER or HostRole.READER", - "DefaultConnectionPlugin.noHostsAvailable": "The default connection plugin received an empty host list from the plugin service.", - "HostSelector.noHostsMatchingRole": "No hosts were found matching the requested '%s' role.", - "HostListProviderService.notFound": "HostListProviderService not found.", - "HostInfo.noHostParameter": "Host parameter must be set, HostInfo not found or not provided.", - "HostInfo.weightLessThanZero": "A HostInfo object was created with a weight value less than 0.", - "AwsSecretsManagerConnectionPlugin.failedToFetchDbCredentials": "Was not able to either fetch or read the database credentials from AWS Secrets Manager. Ensure the correct secretId and region properties have been provided.", - "AwsSecretsManagerConnectionPlugin.missingRequiredConfigParameter": "Configuration parameter '%s' is required.", - "AwsSecretsManagerConnectionPlugin.unhandledException": "Unhandled exception: '%s'", - "AwsSecretsManagerConnectionPlugin.endpointOverrideInvalidConnection": "A connection to the provided endpoint could not be established: '%s'.", - "ClusterAwareReaderFailoverHandler.invalidTopology": "'%s' was called with an invalid (null or empty) topology", - "ClusterAwareReaderFailoverHandler.attemptingReaderConnection": "Trying to connect to reader: '%s', with properties '%s'", - "ClusterAwareReaderFailoverHandler.successfulReaderConnection": "Connected to reader: '%s'", - "ClusterAwareReaderFailoverHandler.failedReaderConnection": "Failed to connect to reader: '%s'", - "Utils.topology": "Topology: %s", - "RdsHostListProvider.incorrectDialect": "Dialect needs to be a topology aware dialect.", - "RdsHostListProvider.suggestedClusterId": "ClusterId '%s' is suggested for url '%s'.", - "ConnectionStringHostListProvider.parsedListEmpty": "Can't parse connection string: '%s'.", - "ConnectionStringHostListProvider.errorIdentifyConnection": "An error occurred while obtaining the connection's host ID.", - "ExecuteTimePlugin.executeTime": "Executed method '%s' in %s milliseconds.", - "ConnectTimePlugin.connectTime": "Connected to '%s' in %s milliseconds.", - "ClusterAwareWriterFailoverHandler.failoverCalledWithInvalidTopology": "Failover was called with an invalid (null or empty) topology.", - "ClusterAwareWriterFailoverHandler.failedToConnectToWriterInstance": "Failed to connect to the writer instance.", - "ClusterAwareWriterFailoverHandler.successfulConnectionInvalidTopology": "'%s' successfully established a connection but doesn't contain a valid topology.", - "ClusterAwareWriterFailoverHandler.successfullyConnectedToNewWriterInstance": "Successfully connected to the new writer instance: '%s'- '%s'", - "ClusterAwareWriterFailoverHandler.successfullyReconnectedToWriterInstance": "Successfully re-connected to the current writer instance: '%s'- '%s'", - "ClusterAwareWriterFailoverHandler.taskAAttemptReconnectToWriterInstance": "[TaskA] Attempting to re-connect to the current writer instance: '%s', with properties '%s'", - "ClusterAwareWriterFailoverHandler.taskAEncounteredException": "[TaskA] encountered an exception: '%s'", - "ClusterAwareWriterFailoverHandler.taskAFinished": "[TaskA] Finished", - "ClusterAwareWriterFailoverHandler.taskBAttemptConnectionToNewWriterInstance": "[TaskB] Attempting to connect to a new writer instance, with properties '%s'", - "ClusterAwareWriterFailoverHandler.taskBEncounteredException": "[TaskB] encountered an exception: '%s'", - "ClusterAwareWriterFailoverHandler.taskBFinished": "[TaskB] Finished", - "ClusterAwareWriterFailoverHandler.taskBConnectedToReader": "[TaskB] Connected to reader: '%s'", - "ClusterAwareWriterFailoverHandler.taskBFailedToConnectToAnyReader": "[TaskB] Failed to connect to any reader.", - "ClusterAwareWriterFailoverHandler.standaloneHost": "[TaskB] Host %s is not yet connected to a cluster. The cluster is still being reconfigured.", - "ClusterAwareWriterFailoverHandler.taskBAttemptConnectionToNewWriter": "[TaskB] Trying to connect to a new writer: '%s'", - "ClusterAwareWriterFailoverHandler.alreadyWriter": "Current reader connection is actually a new writer connection.", - "ClusterAwareReaderFailoverHandler.errorGettingHostRole": "An error occurred while trying to determine the role of the reader candidate: ", - "Failover.TransactionResolutionUnknownError": "Transaction resolution unknown. Please re-configure session state if required and try restarting the transaction.", - "Failover.connectionChangedError": "The active SQL connection has changed due to a connection failure. Please re-configure session state if required.", - "Failover.parameterValue": "%s = %s", - "Failover.unableToConnectToWriter": "Unable to establish SQL connection to the writer instance.", - "Failover.unableToConnectToReader": "Unable to establish SQL connection to the reader instance.", - "Failover.unableToDetermineWriter": "Unable to determine the current writer instance.", - "Failover.detectedException": "Detected an exception while executing a command: %s", - "Failover.failoverDisabled": "Cluster-aware failover is disabled.", - "Failover.establishedConnection": "Connected to %s", - "Failover.startWriterFailover": "Starting writer failover procedure.", - "Failover.startReaderFailover": "Starting reader failover procedure.", - "Failover.invalidHost": "Host is no longer available in the topology: %s", - "Failover.noOperationsAfterConnectionClosed": "No operations allowed after client ended.", - "Failover.transactionResolutionUnknownError": "Unknown transaction resolution error occurred during failover", - "StaleDnsHelper.clusterEndpointDns": "Cluster endpoint resolves to '%s'.", - "StaleDnsHelper.writerHostInfo": "Writer host: '%s'.", - "StaleDnsHelper.writerInetAddress": "Writer host address: '%s'", - "StaleDnsHelper.staleDnsDetected": "Stale DNS data detected. Opening a connection to '%s'.", - "StaleDnsHelper.reset": "Reset stored writer host.", - "StaleDnsPlugin.requireDynamicProvider": "Dynamic host list provider is required.", - "Client.methodNotSupported": "Method '%s' not supported.", - "Client.invalidTransactionIsolationLevel": "An invalid transaction isolation level was provided: '%s'.", - "AuroraStaleDnsHelper.clusterEndpointDns": "Cluster endpoint resolves to '%s'.", - "AuroraStaleDnsHelper.writerHostSpec": "Writer host: '%s'.", - "AuroraStaleDnsHelper.writerInetAddress": "Writer host address: '%s'", - "AuroraStaleDnsHelper.staleDnsDetected": "Stale DNS data detected. Opening a connection to '%s'.", - "ReadWriteSplittingPlugin.setReadOnlyOnClosedClient": "setReadOnly cannot be called on a closed client '%s'.", - "ReadWriteSplittingPlugin.errorSwitchingToCachedReader": "An error occurred while trying to switch to a cached reader client: '%s'. The driver will attempt to establish a new reader client.", - "ReadWriteSplittingPlugin.errorSwitchingToReader": "An error occurred while trying to switch to a reader client: '%s'.", - "ReadWriteSplittingPlugin.errorSwitchingToWriter": "An error occurred while trying to switch to a writer client: '%s'.", - "ReadWriteSplittingPlugin.closingInternalClients": "Closing all internal clients except for the current one.", - "ReadWriteSplittingPlugin.setReaderClient": "Reader client set to '%s'", - "ReadWriteSplittingPlugin.setWriterClient": "Writer client set to '%s'", - "ReadWriteSplittingPlugin.failedToConnectToWriter": "Failed to connect to the writer instance: '%s'", - "ReadWriteSplittingPlugin.setReadOnlyFalseInTransaction": "setReadOnly(false) was called on a read-only client inside a transaction. Please complete the transaction before calling setReadOnly(false).", - "ReadWriteSplittingPlugin.fallbackToWriter": "Failed to switch to a reader; the current writer will be used as a fallback: '%s'", - "ReadWriteSplittingPlugin.switchedFromWriterToReader": "Switched from a writer to a reader host. New reader host: '%s'", - "ReadWriteSplittingPlugin.switchedFromReaderToWriter": "Switched from a reader to a writer host. New writer host: '%s'", - "ReadWriteSplittingPlugin.settingCurrentClient": "Setting the current client to '%s' - '%s'", - "ReadWriteSplittingPlugin.noWriterFound": "No writer was found in the current host list.", - "ReadWriteSplittingPlugin.noReadersFound": "A reader instance was requested via setReadOnly, but there are no readers in the host list. The current writer will be used as a fallback: '%s'", - "ReadWriteSplittingPlugin.emptyHostList": "Host list is empty.", - "ReadWriteSplittingPlugin.exceptionWhileExecutingCommand": "[ReadWriteSplitting] Detected an exception while executing a command: '%s', '%s'", - "ReadWriteSplittingPlugin.failoverExceptionWhileExecutingCommand": "Detected a failover exception while executing a command: '%s'", - "ReadWriteSplittingPlugin.noReadersAvailable": "The plugin was unable to establish a reader client to any reader instance.", - "ReadWriteSplittingPlugin.successfullyConnectedToReader": "Successfully connected to a new reader host: '%s'", - "ReadWriteSplittingPlugin.failedToConnectToReader": "Failed to connect to reader host: '%s'", - "ReadWriteSplittingPlugin.unsupportedHostSelectorStrategy": "Unsupported host selection strategy '%s' specified in plugin configuration parameter 'readerHostSelectorStrategy'. Please visit the Read/Write Splitting Plugin documentation for all supported strategies.", - "ReadWriteSplittingPlugin.errorVerifyingInitialHostRole": "An error occurred while obtaining the connected host's role. This could occur if the client is broken or if you are not connected to an Aurora database.", - "ReadWriteSplittingPlugin.unavailableHostInfo": "ReadWriteSplittingPlugin.unavailableHostInfo", - "AdfsCredentialsProviderFactory.failedLogin": "Failed login. Could not obtain SAML Assertion from ADFS SignOn Page POST response: \n '%s'", - "AdfsCredentialsProviderFactory.invalidHttpsUrl": "Invalid HTTPS URL: '%s'", - "AdfsCredentialsProviderFactory.signOnPagePostActionUrl": "ADFS SignOn Action URL: '%s'", - "AdfsCredentialsProviderFactory.signOnPagePostActionRequestFailed": "ADFS SignOn Page POST action failed with HTTP status '%s', reason phrase '%s', and response '%s'", - "AdfsCredentialsProviderFactory.signOnPageRequestFailed": "ADFS SignOn Page Request Failed with HTTP status '%s', reason phrase '%s', and response '%s'", - "AdfsCredentialsProviderFactory.signOnPageUrl": "ADFS SignOn URL: '%s'", - "Authentication.unsupportedHostname": "Unsupported AWS hostname '%s'. Amazon domain name in format *.AWS-Region.rds.amazonaws.com or *.rds.AWS-Region.amazonaws.com.cn is expected.", - "Authentication.connectException": "Error occurred while opening a connection: %s", - "Authentication.unhandledException": "Unhandled exception: %s", - "Authentication.invalidPort": "Port number: %d is not valid. Port number should be greater than zero. Falling back to default port.", - "AuthenticationToken.tokenExpirationLessThanZero": "Authentication token expiration time must be a non-negative value.", - "AuthenticationToken.useCachedToken": "Use cached authentication token = '%s'", - "AuthenticationToken.generatedNewToken": "Generated new authentication token = '%s'", - "OktaCredentialsProviderFactory.samlAssertionUrl": "Okta SAML assertion URL: '%s'", - "OktaCredentialsProviderFactory.sessionTokenRequestFailed": "Failed to retrieve session token from Okta, please ensure the provided Okta username, password and endpoint are correct.", - "OktaCredentialsProviderFactory.invalidSessionToken": "Invalid response from session token request to Okta.", - "OktaCredentialsProviderFactory.invalidSamlResponse": "The SAML Assertion request did not return a valid response containing a SAMLResponse.", - "OktaCredentialsProviderFactory.samlRequestFailed": "Okta SAML Assertion request failed with HTTP status '%s', reason phrase '%s', and response '%s'", - "SamlCredentialsProviderFactory.getSamlAssertionFailed": "Failed to get SAML Assertion due to exception: '%s'", - "SamlAuthPlugin.unhandledException": "Unhandled exception: '%s'", - "HostAvailabilityStrategy.invalidMaxRetries": "Invalid value of '%s' for configuration parameter `hostAvailabilityStrategyMaxRetries`. It must be an integer greater or equal to 1.", - "HostAvailabilityStrategy.invalidInitialBackoffTime": "Invalid value of '%s' for configuration parameter `hostAvailabilityStrategyInitialBackoffTime`. It must be an integer greater or equal to 1.", - "MonitorConnectionContext.exceptionAbortingConnection": "Exception during aborting connection: %s.", - "MonitorConnectionContext.hostDead": "Host %s is *dead*.", - "MonitorConnectionContext.hostNotResponding": "Host %s is not *responding* %s", - "MonitorConnectionContext.hostAlive": "Host %s is *alive*.", - "MonitorImpl.contextNullWarning": "Parameter 'context' should not be null or undefined.", - "MonitorImpl.exceptionDuringMonitoringContinue": "Continuing monitoring after unhandled exception was thrown in monitoring for host %s.", - "MonitorImpl.exceptionDuringMonitoringStop": "Stopping monitoring after unhandled exception was thrown during monitoring for host %s.", - "MonitorImpl.monitorIsStopped": "Monitoring was already stopped for host %s.", - "MonitorImpl.stopped": "Stopped monitoring for host '%s'.", - "MonitorImpl.startMonitoring": "Start monitoring for %s.", - "MonitorImpl.stopMonitoring": "Stop monitoring for %s.", - "MonitorService.startMonitoringNullMonitor": "Start monitoring called but could not find monitor for host: '%s'.", - "MonitorService.emptyAliasSet": "Empty alias set passed for '%s'. Set should not be empty.", - "PluginService.hostListEmpty": "Current host list is empty.", - "PluginService.releaseResources": "Releasing resources.", - "PluginService.hostsChangelistEmpty": "There are no changes in the hosts' availability.", - "PluginService.failedToRetrieveHostPort": "Could not retrieve Host:Port for connection.", - "PluginService.nonEmptyAliases": "fillAliases called when HostInfo already contains the following aliases: '%s'.", - "HostMonitoringConnectionPlugin.activatedMonitoring": "Executing method '%s', monitoring is activated.", - "HostMonitoringConnectionPlugin.unableToIdentifyConnection": "Unable to identify the given connection: '%s', please ensure the correct host list provider is specified. The host list provider in use is: '%s'.", - "HostMonitoringConnectionPlugin.errorIdentifyingConnection": "Error occurred while identifying connection: '%s'.", - "HostMonitoringConnectionPlugin.unavailableHost": "Host '%s' is unavailable.", - "PluginServiceImpl.failedToRetrieveHostPort": "PluginServiceImpl.failedToRetrieveHostPort", - "AuroraInitialConnectionStrategyPlugin.unsupportedStrategy": "Unsupported host selection strategy '%s'.", - "AuroraInitialConnectionStrategyPlugin.requireDynamicProvider": "Dynamic host list provider is required.", - "OpenedConnectionTracker.unableToPopulateOpenedConnectionQueue": "The driver is unable to track this opened connection because the instance endpoint is unknown: '%s'", - "OpenedConnectionTracker.invalidatingConnections": "Invalidating opened connections to host: '%s'", - "HostSelector.roundRobinInvalidDefaultWeight": "The provided default weight value is not valid. Weight values must be an integer greater than or equal to the default weight value of 1.", - "HostSelector.roundRobinInvalidHostWeightPairs": "The provided host weight pairs have not been configured correctly. Please ensure the provided host weight pairs is a comma separated list of pairs, each pair in the format of :. Weight values must be an integer greater than or equal to the default weight value of 1.", - "HostSelector.roundRobinMissingClusterInfo": "Could not find a RoundRobinClusterInfo object for the specified host '%s'", - "RdsMultiAZMySQLDatabaseDialect.invalidQuery": "Error obtaining host list: %s. Provided database might not be a Multi-AZ RDS MySQL database cluster.", - "RdsMultiAZPgDatabaseDialect.invalidQuery": "Error obtaining host list: %s. Provided database might not be a Multi-AZ RDS PostgreSQL database cluster.", - "RdsMultiAzDatabaseDialect.invalidTopology": "Error retrieving a valid topology using the current database dialect: %s", - "DefaultTelemetryFactory.invalidBackend": "%s is not a valid %s backend. Available options for tracing are: OTLP, XRAY, NONE. Available options for metrics are: OTLP, NONE.", - "DefaultTelemetryFactory.importFailure": "A tracing backend could not be found.", - "DefaultTelemetryFactory.missingTracingBackend": "A tracing backend could not be found.", - "DefaultTelemetryFactory.missingMetricsBackend": "A metrics backend could not be found.", - "InternalPooledConnectionProvider.pooledConnectionFailed": "Internal pooled connection failed with message: '%s'", - "ErrorHandler.NoOpListener": "[%s] NoOp error event listener caught error: '%s'", - "ErrorHandler.TrackerListener": "[%s] Tracker error event listener caught error: '%s'", - "LimitlessConnectionPlugin.unsupportedDialectOrDatabase": "Unsupported dialect '%s' encountered. Please ensure connection parameters are correct, and refer to the documentation to ensure that the connecting database is compatible with the Limitless Connection Plugin.", - "LimitlessRouterMonitor.stopped": "Limitless Router Monitor task stopped on instance '%s'.", - "LimitlessRouterMonitor.running": "Limitless Router Monitor task running on instance '%s'.", - "LimitlessRouterMonitor.errorDuringMonitoringStop": "Unhandled error was thrown in Limitless Router Monitoring task for instance '%s'.", - "LimitlessRouterMonitor.openingConnection": "Opening Limitless Router Monitor connection to '%s'.", - "LimitlessRouterMonitor.openedConnection": "Opened Limitless Router Monitor connection to '%s'.", - "LimitlessRouterServiceImpl.nullLimitlessRouterMonitor": "Limitless Router Monitor can't be instantiated.", - "LimitlessQueryHelper.unsupportedDialectOrDatabase": "Unsupported dialect '%s' encountered. Please ensure connection parameters are correct, and refer to the documentation to ensure that the connecting database is compatible with the Limitless Connection Plugin.", - "LimitlessQueryHelper.invalidRouterLoad": "Invalid load metric value of %s from the transaction router query aurora_limitless_router_endpoints() for transaction router '%s'. The load metric value must be a decimal value between 0 and 1. Host weight be assigned a default weight of 1.", - "LimitlessRouterServiceImpl.limitlessRouterCacheEmpty": "Limitless Router cache is empty. This normal during application start up when the cache is not yet populated.", - "LimitlessRouterServiceImpl.usingProvidedConnectUrl": "Connecting using provided connection URL.", - "LimitlessRouterServiceImpl.connectWithHost": "Connecting to host '%s'", - "LimitlessRouterServiceImpl.selectedHost": "Host '%s' has been selected.", - "LimitlessRouterServiceImpl.failedToConnectToHost": "Failed to connect to host '%s'.", - "LimitlessRouterServiceImpl.noRoutersAvailableForRetry": "No transaction routers available for connection retry. Retrying with original connection.", - "LimitlessRouterServiceImpl.noRoutersAvailable": "No transaction routers available.", - "LimitlessRouterServiceImpl.selectedHostForRetry": "Host '%s' has been selected for connection retry.", - "LimitlessRouterServiceImpl.incorrectConfiguration": "Limitless Connection Plugin is unable to run. Please ensure the connection settings are correct.", - "LimitlessRouterServiceImpl.maxRetriesExceeded": "Max number of connection retries has been exceeded.", - "LimitlessRouterServiceImpl.synchronouslyGetLimitlessRouters": "Fetching Limitless Routers synchronously.", - "LimitlessRouterServiceImpl.getLimitlessRoutersException": "Exception encountered getting Limitless Routers. %s", - "LimitlessRouterServiceImpl.fetchedEmptyRouterList": "Empty router list was fetched.", - "LimitlessRouterServiceImpl.errorStartingMonitor": "An error occurred while starting Limitless Router Monitor. %s", - "AwsCredentialsManager.wrongHandler": "Provided AWS credential provider handler should implement AwsCredentialsProviderHandler.", - "HostResponseTimeMonitor.stopped": "Host Response Time Monitor task stopped on instance '%s'.", - "HostResponseTimeMonitor.responseTime": "Response time for '%s': '%s' ms.", - "HostResponseTimeMonitor.interruptedErrorDuringMonitoring": "Response time task for host '%s' was interrupted.", - "HostResponseTimeMonitor.openingConnection": "Opening a Response time connection to '%s'.", - "HostResponseTimeMonitor.openedConnection": "Opened Response time connection: '%s'.", - "FastestResponseStrategyPlugin.unsupportedHostSelectorStrategy": "Unsupported host selector strategy: '%s'. To use the fastest response strategy plugin, please ensure the property 'readerHostSelectorStrategy' is set to 'fastestResponse'.", - "ConfigurationProfileBuilder.notFound": "Configuration profile '%s' not found.", - "ConfigurationProfileBuilder.profileNameRequired": "Profile name is required.", - "ConfigurationProfileBuilder.canNotUpdateKnownPreset": "Can't add or update a built-in preset configuration profile '%s'.", - "AwsClient.configurationProfileNotFound": "Configuration profile '%s' not found.", - "AwsClient targetClient not defined.": "AwsClient targetClient not defined." -} \ No newline at end of file + "PluginManager.unknownPluginCode": "Unknown plugin code: '%s'", + "PluginManager.unknownPluginWeight": "Unknown plugin weight for %s.", + "PluginManager.pipelineNone": "A pipeline was requested but the created pipeline evaluated to undefined.", + "PluginManager.unableToRetrievePlugin": "Unable to retrieve plugin instance.", + "ConnectionProvider.unsupportedHostSelectorStrategy": "Unsupported host selection strategy '%s' specified for this connection provider '%s'. Please visit the documentation for all supported strategies.", + "ConnectionPluginChainBuilder.errorImportingPlugin": "The plugin could not be imported due to error '%s'. Please ensure the required dependencies have been installed. Plugin: '%s'", + "ClientUtils.queryTaskTimeout": "Client query task timed out, if a network error did not occur, please review the usage of the 'mysqlQueryTimeout' connection parameter.", + "ClientUtils.connectTimeout": "Client connect timed out.", + "DatabaseDialectManager.unknownDialectCode": "Unknown dialect code: '%s'.", + "DatabaseDialectManager.getDialectError": "Was not able to get a database dialect.", + "DatabaseDialectManager.wrongCustomDialect": "Provided custom database dialect should implement DatabaseDialect.", + "DefaultPlugin.executingMethod": "Executing method: %s", + "DefaultConnectionPlugin.unknownRoleRequested": "A HostInfo with a role of HostRole.UNKNOWN was requested via getHostInfoByStrategy. The requested role must be either HostRole.WRITER or HostRole.READER", + "DefaultConnectionPlugin.noHostsAvailable": "The default connection plugin received an empty host list from the plugin service.", + "HostSelector.noHostsMatchingRole": "No hosts were found matching the requested '%s' role.", + "HostListProviderService.notFound": "HostListProviderService not found.", + "HostInfo.noHostParameter": "Host parameter must be set, HostInfo not found or not provided.", + "HostInfo.weightLessThanZero": "A HostInfo object was created with a weight value less than 0.", + "AwsSecretsManagerConnectionPlugin.failedToFetchDbCredentials": "Was not able to either fetch or read the database credentials from AWS Secrets Manager. Ensure the correct secretId and region properties have been provided.", + "AwsSecretsManagerConnectionPlugin.missingRequiredConfigParameter": "Configuration parameter '%s' is required.", + "AwsSecretsManagerConnectionPlugin.unhandledException": "Unhandled exception: '%s'", + "AwsSecretsManagerConnectionPlugin.endpointOverrideInvalidConnection": "A connection to the provided endpoint could not be established: '%s'.", + "ClusterAwareReaderFailoverHandler.invalidTopology": "'%s' was called with an invalid (null or empty) topology", + "ClusterAwareReaderFailoverHandler.attemptingReaderConnection": "Trying to connect to reader: '%s', with properties '%s'", + "ClusterAwareReaderFailoverHandler.successfulReaderConnection": "Connected to reader: '%s'", + "ClusterAwareReaderFailoverHandler.failedReaderConnection": "Failed to connect to reader: '%s'", + "Utils.topology": "Topology: %s", + "RdsHostListProvider.incorrectDialect": "Dialect needs to be a topology aware dialect.", + "RdsHostListProvider.suggestedClusterId": "ClusterId '%s' is suggested for url '%s'.", + "ConnectionStringHostListProvider.parsedListEmpty": "Can't parse connection string: '%s'.", + "ConnectionStringHostListProvider.errorIdentifyConnection": "An error occurred while obtaining the connection's host ID.", + "ExecuteTimePlugin.executeTime": "Executed method '%s' in %s milliseconds.", + "ConnectTimePlugin.connectTime": "Connected to '%s' in %s milliseconds.", + "ClusterAwareWriterFailoverHandler.failoverCalledWithInvalidTopology": "Failover was called with an invalid (null or empty) topology.", + "ClusterAwareWriterFailoverHandler.failedToConnectToWriterInstance": "Failed to connect to the writer instance.", + "ClusterAwareWriterFailoverHandler.successfulConnectionInvalidTopology": "'%s' successfully established a connection but doesn't contain a valid topology.", + "ClusterAwareWriterFailoverHandler.successfullyConnectedToNewWriterInstance": "Successfully connected to the new writer instance: '%s'- '%s'", + "ClusterAwareWriterFailoverHandler.successfullyReconnectedToWriterInstance": "Successfully re-connected to the current writer instance: '%s'- '%s'", + "ClusterAwareWriterFailoverHandler.taskAAttemptReconnectToWriterInstance": "[TaskA] Attempting to re-connect to the current writer instance: '%s', with properties '%s'", + "ClusterAwareWriterFailoverHandler.taskAEncounteredException": "[TaskA] encountered an exception: '%s'", + "ClusterAwareWriterFailoverHandler.taskAFinished": "[TaskA] Finished", + "ClusterAwareWriterFailoverHandler.taskBAttemptConnectionToNewWriterInstance": "[TaskB] Attempting to connect to a new writer instance, with properties '%s'", + "ClusterAwareWriterFailoverHandler.taskBEncounteredException": "[TaskB] encountered an exception: '%s'", + "ClusterAwareWriterFailoverHandler.taskBFinished": "[TaskB] Finished", + "ClusterAwareWriterFailoverHandler.taskBConnectedToReader": "[TaskB] Connected to reader: '%s'", + "ClusterAwareWriterFailoverHandler.taskBFailedToConnectToAnyReader": "[TaskB] Failed to connect to any reader.", + "ClusterAwareWriterFailoverHandler.standaloneHost": "[TaskB] Host %s is not yet connected to a cluster. The cluster is still being reconfigured.", + "ClusterAwareWriterFailoverHandler.taskBAttemptConnectionToNewWriter": "[TaskB] Trying to connect to a new writer: '%s'", + "ClusterAwareWriterFailoverHandler.alreadyWriter": "Current reader connection is actually a new writer connection.", + "ClusterAwareReaderFailoverHandler.errorGettingHostRole": "An error occurred while trying to determine the role of the reader candidate: ", + "Failover.TransactionResolutionUnknownError": "Transaction resolution unknown. Please re-configure session state if required and try restarting the transaction.", + "Failover.connectionChangedError": "The active SQL connection has changed due to a connection failure. Please re-configure session state if required.", + "Failover.parameterValue": "%s = %s", + "Failover.unableToConnectToWriter": "Unable to establish SQL connection to the writer instance.", + "Failover.unableToConnectToReader": "Unable to establish SQL connection to the reader instance.", + "Failover.unableToDetermineWriter": "Unable to determine the current writer instance.", + "Failover.detectedException": "Detected an exception while executing a command: %s", + "Failover.failoverDisabled": "Cluster-aware failover is disabled.", + "Failover.establishedConnection": "Connected to %s", + "Failover.startWriterFailover": "Starting writer failover procedure.", + "Failover.startReaderFailover": "Starting reader failover procedure.", + "Failover.invalidHost": "Host is no longer available in the topology: %s", + "Failover.noOperationsAfterConnectionClosed": "No operations allowed after client ended.", + "Failover.transactionResolutionUnknownError": "Unknown transaction resolution error occurred during failover", + "StaleDnsHelper.clusterEndpointDns": "Cluster endpoint resolves to '%s'.", + "StaleDnsHelper.writerHostInfo": "Writer host: '%s'.", + "StaleDnsHelper.writerInetAddress": "Writer host address: '%s'", + "StaleDnsHelper.staleDnsDetected": "Stale DNS data detected. Opening a connection to '%s'.", + "StaleDnsHelper.reset": "Reset stored writer host.", + "StaleDnsPlugin.requireDynamicProvider": "Dynamic host list provider is required.", + "Client.methodNotSupported": "Method '%s' not supported.", + "Client.invalidTransactionIsolationLevel": "An invalid transaction isolation level was provided: '%s'.", + "AuroraStaleDnsHelper.clusterEndpointDns": "Cluster endpoint resolves to '%s'.", + "AuroraStaleDnsHelper.writerHostSpec": "Writer host: '%s'.", + "AuroraStaleDnsHelper.writerInetAddress": "Writer host address: '%s'", + "AuroraStaleDnsHelper.staleDnsDetected": "Stale DNS data detected. Opening a connection to '%s'.", + "ReadWriteSplittingPlugin.setReadOnlyOnClosedClient": "setReadOnly cannot be called on a closed client '%s'.", + "ReadWriteSplittingPlugin.errorSwitchingToCachedReader": "An error occurred while trying to switch to a cached reader client: '%s'. The driver will attempt to establish a new reader client.", + "ReadWriteSplittingPlugin.errorSwitchingToReader": "An error occurred while trying to switch to a reader client: '%s'.", + "ReadWriteSplittingPlugin.errorSwitchingToWriter": "An error occurred while trying to switch to a writer client: '%s'.", + "ReadWriteSplittingPlugin.closingInternalClients": "Closing all internal clients except for the current one.", + "ReadWriteSplittingPlugin.setReaderClient": "Reader client set to '%s'", + "ReadWriteSplittingPlugin.setWriterClient": "Writer client set to '%s'", + "ReadWriteSplittingPlugin.failedToConnectToWriter": "Failed to connect to the writer instance: '%s'", + "ReadWriteSplittingPlugin.setReadOnlyFalseInTransaction": "setReadOnly(false) was called on a read-only client inside a transaction. Please complete the transaction before calling setReadOnly(false).", + "ReadWriteSplittingPlugin.fallbackToWriter": "Failed to switch to a reader; the current writer will be used as a fallback: '%s'", + "ReadWriteSplittingPlugin.switchedFromWriterToReader": "Switched from a writer to a reader host. New reader host: '%s'", + "ReadWriteSplittingPlugin.switchedFromReaderToWriter": "Switched from a reader to a writer host. New writer host: '%s'", + "ReadWriteSplittingPlugin.settingCurrentClient": "Setting the current client to '%s' - '%s'", + "ReadWriteSplittingPlugin.noWriterFound": "No writer was found in the current host list.", + "ReadWriteSplittingPlugin.noReadersFound": "A reader instance was requested via setReadOnly, but there are no readers in the host list. The current writer will be used as a fallback: '%s'", + "ReadWriteSplittingPlugin.emptyHostList": "Host list is empty.", + "ReadWriteSplittingPlugin.exceptionWhileExecutingCommand": "[ReadWriteSplitting] Detected an exception while executing a command: '%s', '%s'", + "ReadWriteSplittingPlugin.failoverExceptionWhileExecutingCommand": "Detected a failover exception while executing a command: '%s'", + "ReadWriteSplittingPlugin.noReadersAvailable": "The plugin was unable to establish a reader client to any reader instance.", + "ReadWriteSplittingPlugin.successfullyConnectedToReader": "Successfully connected to a new reader host: '%s'", + "ReadWriteSplittingPlugin.failedToConnectToReader": "Failed to connect to reader host: '%s'", + "ReadWriteSplittingPlugin.unsupportedHostSelectorStrategy": "Unsupported host selection strategy '%s' specified in plugin configuration parameter 'readerHostSelectorStrategy'. Please visit the Read/Write Splitting Plugin documentation for all supported strategies.", + "ReadWriteSplittingPlugin.errorVerifyingInitialHostRole": "An error occurred while obtaining the connected host's role. This could occur if the client is broken or if you are not connected to an Aurora database.", + "ReadWriteSplittingPlugin.unavailableHostInfo": "ReadWriteSplittingPlugin.unavailableHostInfo", + "AdfsCredentialsProviderFactory.failedLogin": "Failed login. Could not obtain SAML Assertion from ADFS SignOn Page POST response: \n '%s'", + "AdfsCredentialsProviderFactory.invalidHttpsUrl": "Invalid HTTPS URL: '%s'", + "AdfsCredentialsProviderFactory.signOnPagePostActionUrl": "ADFS SignOn Action URL: '%s'", + "AdfsCredentialsProviderFactory.signOnPagePostActionRequestFailed": "ADFS SignOn Page POST action failed with HTTP status '%s', reason phrase '%s', and response '%s'", + "AdfsCredentialsProviderFactory.signOnPageRequestFailed": "ADFS SignOn Page Request Failed with HTTP status '%s', reason phrase '%s', and response '%s'", + "AdfsCredentialsProviderFactory.signOnPageUrl": "ADFS SignOn URL: '%s'", + "Authentication.unsupportedHostname": "Unsupported AWS hostname '%s'. Amazon domain name in format *.AWS-Region.rds.amazonaws.com or *.rds.AWS-Region.amazonaws.com.cn is expected.", + "Authentication.connectException": "Error occurred while opening a connection: %s", + "Authentication.unhandledException": "Unhandled exception: %s", + "Authentication.invalidPort": "Port number: %d is not valid. Port number should be greater than zero. Falling back to default port.", + "AuthenticationToken.tokenExpirationLessThanZero": "Authentication token expiration time must be a non-negative value.", + "AuthenticationToken.useCachedToken": "Use cached authentication token = '%s'", + "AuthenticationToken.generatedNewToken": "Generated new authentication token = '%s'", + "OktaCredentialsProviderFactory.samlAssertionUrl": "Okta SAML assertion URL: '%s'", + "OktaCredentialsProviderFactory.sessionTokenRequestFailed": "Failed to retrieve session token from Okta, please ensure the provided Okta username, password and endpoint are correct.", + "OktaCredentialsProviderFactory.invalidSessionToken": "Invalid response from session token request to Okta.", + "OktaCredentialsProviderFactory.invalidSamlResponse": "The SAML Assertion request did not return a valid response containing a SAMLResponse.", + "OktaCredentialsProviderFactory.samlRequestFailed": "Okta SAML Assertion request failed with HTTP status '%s', reason phrase '%s', and response '%s'", + "SamlCredentialsProviderFactory.getSamlAssertionFailed": "Failed to get SAML Assertion due to exception: '%s'", + "SamlAuthPlugin.unhandledException": "Unhandled exception: '%s'", + "HostAvailabilityStrategy.invalidMaxRetries": "Invalid value of '%s' for configuration parameter `hostAvailabilityStrategyMaxRetries`. It must be an integer greater or equal to 1.", + "HostAvailabilityStrategy.invalidInitialBackoffTime": "Invalid value of '%s' for configuration parameter `hostAvailabilityStrategyInitialBackoffTime`. It must be an integer greater or equal to 1.", + "MonitorConnectionContext.exceptionAbortingConnection": "Exception during aborting connection: %s.", + "MonitorConnectionContext.hostDead": "Host %s is *dead*.", + "MonitorConnectionContext.hostNotResponding": "Host %s is not *responding* %s", + "MonitorConnectionContext.hostAlive": "Host %s is *alive*.", + "MonitorImpl.contextNullWarning": "Parameter 'context' should not be null or undefined.", + "MonitorImpl.exceptionDuringMonitoringContinue": "Continuing monitoring after unhandled exception was thrown in monitoring for host %s.", + "MonitorImpl.exceptionDuringMonitoringStop": "Stopping monitoring after unhandled exception was thrown during monitoring for host %s.", + "MonitorImpl.monitorIsStopped": "Monitoring was already stopped for host %s.", + "MonitorImpl.stopped": "Stopped monitoring for host '%s'.", + "MonitorImpl.startMonitoring": "Start monitoring for %s.", + "MonitorImpl.stopMonitoring": "Stop monitoring for %s.", + "MonitorService.startMonitoringNullMonitor": "Start monitoring called but could not find monitor for host: '%s'.", + "MonitorService.emptyAliasSet": "Empty alias set passed for '%s'. Set should not be empty.", + "PluginService.hostListEmpty": "Current host list is empty.", + "PluginService.releaseResources": "Releasing resources.", + "PluginService.hostsChangelistEmpty": "There are no changes in the hosts' availability.", + "PluginService.failedToRetrieveHostPort": "Could not retrieve Host:Port for connection.", + "PluginService.nonEmptyAliases": "fillAliases called when HostInfo already contains the following aliases: '%s'.", + "HostMonitoringConnectionPlugin.activatedMonitoring": "Executing method '%s', monitoring is activated.", + "HostMonitoringConnectionPlugin.unableToIdentifyConnection": "Unable to identify the given connection: '%s', please ensure the correct host list provider is specified. The host list provider in use is: '%s'.", + "HostMonitoringConnectionPlugin.errorIdentifyingConnection": "Error occurred while identifying connection: '%s'.", + "HostMonitoringConnectionPlugin.unavailableHost": "Host '%s' is unavailable.", + "PluginServiceImpl.failedToRetrieveHostPort": "PluginServiceImpl.failedToRetrieveHostPort", + "AuroraInitialConnectionStrategyPlugin.unsupportedStrategy": "Unsupported host selection strategy '%s'.", + "AuroraInitialConnectionStrategyPlugin.requireDynamicProvider": "Dynamic host list provider is required.", + "OpenedConnectionTracker.unableToPopulateOpenedConnectionQueue": "The driver is unable to track this opened connection because the instance endpoint is unknown: '%s'", + "OpenedConnectionTracker.invalidatingConnections": "Invalidating opened connections to host: '%s'", + "HostSelector.roundRobinInvalidDefaultWeight": "The provided default weight value is not valid. Weight values must be an integer greater than or equal to the default weight value of 1.", + "HostSelector.roundRobinInvalidHostWeightPairs": "The provided host weight pairs have not been configured correctly. Please ensure the provided host weight pairs is a comma separated list of pairs, each pair in the format of :. Weight values must be an integer greater than or equal to the default weight value of 1.", + "HostSelector.roundRobinMissingClusterInfo": "Could not find a RoundRobinClusterInfo object for the specified host '%s'", + "RdsMultiAZMySQLDatabaseDialect.invalidQuery": "Error obtaining host list: %s. Provided database might not be a Multi-AZ RDS MySQL database cluster.", + "RdsMultiAZPgDatabaseDialect.invalidQuery": "Error obtaining host list: %s. Provided database might not be a Multi-AZ RDS PostgreSQL database cluster.", + "RdsMultiAzDatabaseDialect.invalidTopology": "Error retrieving a valid topology using the current database dialect: %s", + "DefaultTelemetryFactory.invalidBackend": "%s is not a valid %s backend. Available options for tracing are: OTLP, XRAY, NONE. Available options for metrics are: OTLP, NONE.", + "DefaultTelemetryFactory.importFailure": "A tracing backend could not be found.", + "DefaultTelemetryFactory.missingTracingBackend": "A tracing backend could not be found.", + "DefaultTelemetryFactory.missingMetricsBackend": "A metrics backend could not be found.", + "InternalPooledConnectionProvider.pooledConnectionFailed": "Internal pooled connection failed with message: '%s'", + "ErrorHandler.NoOpListener": "[%s] NoOp error event listener caught error: '%s'", + "ErrorHandler.TrackerListener": "[%s] Tracker error event listener caught error: '%s'", + "LimitlessConnectionPlugin.unsupportedDialectOrDatabase": "Unsupported dialect '%s' encountered. Please ensure connection parameters are correct, and refer to the documentation to ensure that the connecting database is compatible with the Limitless Connection Plugin.", + "LimitlessRouterMonitor.stopped": "Limitless Router Monitor task stopped on instance '%s'.", + "LimitlessRouterMonitor.running": "Limitless Router Monitor task running on instance '%s'.", + "LimitlessRouterMonitor.errorDuringMonitoringStop": "Unhandled error was thrown in Limitless Router Monitoring task for instance '%s'.", + "LimitlessRouterMonitor.openingConnection": "Opening Limitless Router Monitor connection to '%s'.", + "LimitlessRouterMonitor.openedConnection": "Opened Limitless Router Monitor connection to '%s'.", + "LimitlessRouterServiceImpl.nullLimitlessRouterMonitor": "Limitless Router Monitor can't be instantiated.", + "LimitlessQueryHelper.unsupportedDialectOrDatabase": "Unsupported dialect '%s' encountered. Please ensure connection parameters are correct, and refer to the documentation to ensure that the connecting database is compatible with the Limitless Connection Plugin.", + "LimitlessQueryHelper.invalidRouterLoad": "Invalid load metric value of %s from the transaction router query aurora_limitless_router_endpoints() for transaction router '%s'. The load metric value must be a decimal value between 0 and 1. Host weight be assigned a default weight of 1.", + "LimitlessRouterServiceImpl.limitlessRouterCacheEmpty": "Limitless Router cache is empty. This normal during application start up when the cache is not yet populated.", + "LimitlessRouterServiceImpl.usingProvidedConnectUrl": "Connecting using provided connection URL.", + "LimitlessRouterServiceImpl.connectWithHost": "Connecting to host '%s'", + "LimitlessRouterServiceImpl.selectedHost": "Host '%s' has been selected.", + "LimitlessRouterServiceImpl.failedToConnectToHost": "Failed to connect to host '%s'.", + "LimitlessRouterServiceImpl.noRoutersAvailableForRetry": "No transaction routers available for connection retry. Retrying with original connection.", + "LimitlessRouterServiceImpl.noRoutersAvailable": "No transaction routers available.", + "LimitlessRouterServiceImpl.selectedHostForRetry": "Host '%s' has been selected for connection retry.", + "LimitlessRouterServiceImpl.incorrectConfiguration": "Limitless Connection Plugin is unable to run. Please ensure the connection settings are correct.", + "LimitlessRouterServiceImpl.maxRetriesExceeded": "Max number of connection retries has been exceeded.", + "LimitlessRouterServiceImpl.synchronouslyGetLimitlessRouters": "Fetching Limitless Routers synchronously.", + "LimitlessRouterServiceImpl.getLimitlessRoutersException": "Exception encountered getting Limitless Routers. %s", + "LimitlessRouterServiceImpl.fetchedEmptyRouterList": "Empty router list was fetched.", + "LimitlessRouterServiceImpl.errorStartingMonitor": "An error occurred while starting Limitless Router Monitor. %s", + "AwsCredentialsManager.wrongHandler": "Provided AWS credential provider handler should implement AwsCredentialsProviderHandler.", + "HostResponseTimeMonitor.stopped": "Host Response Time Monitor task stopped on instance '%s'.", + "HostResponseTimeMonitor.responseTime": "Response time for '%s': '%s' ms.", + "HostResponseTimeMonitor.interruptedErrorDuringMonitoring": "Response time task for host '%s' was interrupted.", + "HostResponseTimeMonitor.openingConnection": "Opening a Response time connection to '%s'.", + "HostResponseTimeMonitor.openedConnection": "Opened Response time connection: '%s'.", + "FastestResponseStrategyPlugin.unsupportedHostSelectorStrategy": "Unsupported host selector strategy: '%s'. To use the fastest response strategy plugin, please ensure the property 'readerHostSelectorStrategy' is set to 'fastestResponse'.", + "ConfigurationProfileBuilder.notFound": "Configuration profile '%s' not found.", + "ConfigurationProfileBuilder.profileNameRequired": "Profile name is required.", + "ConfigurationProfileBuilder.canNotUpdateKnownPreset": "Can't add or update a built-in preset configuration profile '%s'.", + "AwsClient.configurationProfileNotFound": "Configuration profile '%s' not found.", + "AwsClient targetClient not defined.": "AwsClient targetClient not defined." +} diff --git a/pg/lib/client.ts b/pg/lib/client.ts index dc830420..17f96938 100644 --- a/pg/lib/client.ts +++ b/pg/lib/client.ts @@ -174,7 +174,6 @@ export class AwsPGClient extends AwsClient { } async end() { - console.log(logTopology(this.pluginService.getHosts(), "calling end topology : ")); if (!this.isConnected || !this.targetClient) { // No connections have been initialized. // This might happen if end is called in a finally block when an error occurred while initializing the first connection. diff --git a/pg/lib/dialect/aurora_pg_database_dialect.ts b/pg/lib/dialect/aurora_pg_database_dialect.ts index 0d27544e..b61264a5 100644 --- a/pg/lib/dialect/aurora_pg_database_dialect.ts +++ b/pg/lib/dialect/aurora_pg_database_dialect.ts @@ -68,8 +68,7 @@ export class AuroraPgDatabaseDialect extends PgDatabaseDialect implements Topolo async getHostRole(targetClient: ClientWrapper): Promise { const res = await targetClient.query(AuroraPgDatabaseDialect.IS_READER_QUERY); console.log("gethostrole: " + res.rows[0]["is_reader"]); - const val = res.rows[0]["is_reader"] === true ? HostRole.READER : HostRole.WRITER; - return Promise.resolve(val) + return Promise.resolve(res.rows[0]["is_reader"] === true ? HostRole.READER : HostRole.WRITER); } async isDialect(targetClient: ClientWrapper): Promise { diff --git a/tests/plugin_manager_benchmarks.ts b/tests/plugin_manager_benchmarks.ts index cb318e4c..6fd09a29 100644 --- a/tests/plugin_manager_benchmarks.ts +++ b/tests/plugin_manager_benchmarks.ts @@ -283,7 +283,7 @@ suite( }), add("initHostProviderWith10Plugins", async () => { - const pluginManagerWithPlugins = await initPluginManagerWithPlugins(10, instance(mockPluginService), propsWithPlugins);; + const pluginManagerWithPlugins = await initPluginManagerWithPlugins(10, instance(mockPluginService), propsWithPlugins); return async () => await pluginManagerWithPlugins.initHostProvider( new HostInfoBuilder({ hostAvailabilityStrategy: new SimpleHostAvailabilityStrategy() }).withHost("host").build(), @@ -325,7 +325,7 @@ suite( }), add("notifyConnectionChangedWith10Plugins", async () => { - const pluginManagerWithPlugins = await initPluginManagerWithPlugins(10, instance(mockPluginService), propsWithPlugins);; + const pluginManagerWithPlugins = await initPluginManagerWithPlugins(10, instance(mockPluginService), propsWithPlugins); return async () => await pluginManagerWithPlugins.notifyConnectionChanged(new Set([HostChangeOptions.INITIAL_CONNECTION]), null); }),