Skip to content

Commit 2aa927f

Browse files
authored
feat: failover2 (#363)
1 parent 670952e commit 2aa927f

22 files changed

Lines changed: 2046 additions & 40 deletions

common/lib/connection_plugin_chain_builder.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import { ExecuteTimePluginFactory } from "./plugins/execute_time_plugin_factory"
2626
import { ConnectTimePluginFactory } from "./plugins/connect_time_plugin_factory";
2727
import { AwsSecretsManagerPluginFactory } from "./authentication/aws_secrets_manager_plugin_factory";
2828
import { FailoverPluginFactory } from "./plugins/failover/failover_plugin_factory";
29+
import { Failover2PluginFactory } from "./plugins/failover2/failover2_plugin_factory";
2930
import { StaleDnsPluginFactory } from "./plugins/stale_dns/stale_dns_plugin_factory";
3031
import { FederatedAuthPluginFactory } from "./plugins/federated_auth/federated_auth_plugin_factory";
3132
import { ReadWriteSplittingPluginFactory } from "./plugins/read_write_splitting_plugin_factory";
@@ -58,6 +59,7 @@ export class ConnectionPluginChainBuilder {
5859
["staleDns", { factory: StaleDnsPluginFactory, weight: 500 }],
5960
["readWriteSplitting", { factory: ReadWriteSplittingPluginFactory, weight: 600 }],
6061
["failover", { factory: FailoverPluginFactory, weight: 700 }],
62+
["failover2", { factory: Failover2PluginFactory, weight: 710 }],
6163
["efm", { factory: HostMonitoringPluginFactory, weight: 800 }],
6264
["fastestResponseStrategy", { factory: FastestResponseStrategyPluginFactory, weight: 900 }],
6365
["limitless", { factory: LimitlessConnectionPluginFactory, weight: 950 }],
@@ -76,6 +78,7 @@ export class ConnectionPluginChainBuilder {
7678
[StaleDnsPluginFactory, 500],
7779
[ReadWriteSplittingPluginFactory, 600],
7880
[FailoverPluginFactory, 700],
81+
[Failover2PluginFactory, 710],
7982
[HostMonitoringPluginFactory, 800],
8083
[LimitlessConnectionPluginFactory, 950],
8184
[IamAuthenticationPluginFactory, 1000],

common/lib/host_list_provider/connection_string_host_list_provider.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
limitations under the License.
1515
*/
1616

17-
import { AwsClient } from "../aws_client";
1817
import { HostAvailability } from "../host_availability/host_availability";
1918
import { HostInfo } from "../host_info";
2019
import { HostListProviderService } from "../host_list_provider_service";

common/lib/host_list_provider/host_list_provider.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@ export type DynamicHostListProvider = HostListProvider;
2323

2424
export type StaticHostListProvider = HostListProvider;
2525

26+
export interface BlockingHostListProvider extends HostListProvider {
27+
forceMonitoringRefresh(shouldVerifyWriter: boolean, timeoutMs: number): Promise<HostInfo[]>;
28+
}
29+
2630
export interface HostListProvider {
2731
refresh(): Promise<HostInfo[]>;
2832

0 commit comments

Comments
 (0)