Skip to content

Commit 45048db

Browse files
authored
Port over PluginService API changes from JDBC (#901)
1 parent 91d90b9 commit 45048db

19 files changed

+276
-191
lines changed

.flake8

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
[flake8]
22
max-line-length = 150
33
extend-select = TC, TC1
4+
exclude = venv/

aws_advanced_python_wrapper/aurora_connection_tracker_plugin.py

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -173,19 +173,6 @@ def connect(
173173
props: Properties,
174174
is_initial_connection: bool,
175175
connect_func: Callable) -> Connection:
176-
return self._connect(host_info, connect_func)
177-
178-
def force_connect(
179-
self,
180-
target_driver_func: Callable,
181-
driver_dialect: DriverDialect,
182-
host_info: HostInfo,
183-
props: Properties,
184-
is_initial_connection: bool,
185-
force_connect_func: Callable) -> Connection:
186-
return self._connect(host_info, force_connect_func)
187-
188-
def _connect(self, host_info: HostInfo, connect_func: Callable):
189176
conn = connect_func()
190177

191178
if conn:

aws_advanced_python_wrapper/aurora_initial_connection_strategy_plugin.py

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,7 @@
3535

3636

3737
class AuroraInitialConnectionStrategyPlugin(Plugin):
38-
_SUBSCRIBED_METHODS: Set[str] = {"init_host_provider",
39-
"connect",
40-
"force_connect"}
38+
_SUBSCRIBED_METHODS: Set[str] = {"init_host_provider", "connect"}
4139

4240
_host_list_provider_service: Optional[HostListProviderService] = None
4341

@@ -52,29 +50,24 @@ def __init__(self, plugin_service: PluginService):
5250

5351
def connect(self, target_driver_func: Callable, driver_dialect: DriverDialect, host_info: HostInfo, props: Properties,
5452
is_initial_connection: bool, connect_func: Callable) -> Connection:
55-
return self._connect(host_info, props, is_initial_connection, connect_func)
56-
57-
def force_connect(self, target_driver_func: Callable, driver_dialect: DriverDialect, host_info: HostInfo, props: Properties,
58-
is_initial_connection: bool, force_connect_func: Callable) -> Connection:
59-
return self._connect(host_info, props, is_initial_connection, force_connect_func)
60-
61-
def _connect(self, host_info: HostInfo, props: Properties, is_initial_connection: bool, connect_func: Callable):
62-
type: RdsUrlType = self._rds_utils.identify_rds_type(host_info.host)
63-
if not type.is_rds_cluster:
53+
url_type: RdsUrlType = self._rds_utils.identify_rds_type(host_info.host)
54+
if not url_type.is_rds_cluster:
6455
return connect_func()
6556

66-
if type == RdsUrlType.RDS_WRITER_CLUSTER:
57+
if url_type == RdsUrlType.RDS_WRITER_CLUSTER:
6758
writer_candidate_conn: Optional[Connection] = self._get_verified_writer_connection(props, is_initial_connection, connect_func)
6859
if writer_candidate_conn is None:
6960
return connect_func()
7061
return writer_candidate_conn
7162

72-
if type == RdsUrlType.RDS_READER_CLUSTER:
63+
if url_type == RdsUrlType.RDS_READER_CLUSTER:
7364
reader_candidate_conn: Optional[Connection] = self._get_verified_reader_connection(props, is_initial_connection, connect_func)
7465
if reader_candidate_conn is None:
7566
return connect_func()
7667
return reader_candidate_conn
7768

69+
return connect_func()
70+
7871
def _get_verified_writer_connection(self, props: Properties, is_initial_connection: bool, connect_func: Callable) -> Connection | None:
7972
retry_delay_ms: int = WrapperProperties.OPEN_CONNECTION_RETRY_INTERVAL_MS.get_int(props)
8073
end_time_nano = perf_counter_ns() + (WrapperProperties.OPEN_CONNECTION_RETRY_INTERVAL_MS.get_int(props) * 1000000)
@@ -84,7 +77,6 @@ def _get_verified_writer_connection(self, props: Properties, is_initial_connecti
8477

8578
while perf_counter_ns() < end_time_nano:
8679
writer_candidate_conn = None
87-
writer_candidate = None
8880

8981
try:
9082
writer_candidate = self._get_writer()

aws_advanced_python_wrapper/failover_plugin.py

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ class FailoverPlugin(Plugin):
5959
"""
6060
_SUBSCRIBED_METHODS: Set[str] = {"init_host_provider",
6161
"connect",
62-
"force_connect",
6362
"notify_host_list_changed"}
6463

6564
_METHODS_REQUIRE_UPDATED_TOPOLOGY: Set[str] = {
@@ -205,28 +204,8 @@ def connect(
205204
props: Properties,
206205
is_initial_connection: bool,
207206
connect_func: Callable) -> Connection:
208-
return self._connect(host_info, props, is_initial_connection, connect_func)
209-
210-
def force_connect(
211-
self,
212-
target_driver_func: Callable,
213-
driver_dialect: DriverDialect,
214-
host_info: HostInfo,
215-
props: Properties,
216-
is_initial_connection: bool,
217-
force_connect_func: Callable) -> Connection:
218-
return self._connect(host_info, props, is_initial_connection, force_connect_func)
219-
220-
def _connect(
221-
self,
222-
host: HostInfo,
223-
properties: Properties,
224-
is_initial_connection: bool,
225-
connect_func: Callable) -> Connection:
226-
conn: Connection = self._stale_dns_helper.get_verified_connection(is_initial_connection,
227-
self._host_list_provider_service, host,
228-
properties,
229-
connect_func)
207+
conn: Connection = self._stale_dns_helper.get_verified_connection(
208+
is_initial_connection, self._host_list_provider_service, host_info, props, connect_func)
230209

231210
if is_initial_connection:
232211
self._plugin_service.refresh_host_list(conn)

aws_advanced_python_wrapper/fastest_response_strategy_plugin.py

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ class FastestResponseStrategyPlugin(Plugin):
5151
_FASTEST_RESPONSE_STRATEGY_NAME = "fastest_response"
5252
_SUBSCRIBED_METHODS: Set[str] = {"accepts_strategy",
5353
"connect",
54-
"force_connect",
5554
"get_host_info_by_strategy",
5655
"notify_host_list_changed"}
5756

@@ -77,24 +76,6 @@ def connect(
7776
props: Properties,
7877
is_initial_connection: bool,
7978
connect_func: Callable) -> Connection:
80-
return self._connect(host_info, props, is_initial_connection, connect_func)
81-
82-
def force_connect(
83-
self,
84-
target_driver_func: Callable,
85-
driver_dialect: DriverDialect,
86-
host_info: HostInfo,
87-
props: Properties,
88-
is_initial_connection: bool,
89-
force_connect_func: Callable) -> Connection:
90-
return self._connect(host_info, props, is_initial_connection, force_connect_func)
91-
92-
def _connect(
93-
self,
94-
host: HostInfo,
95-
properties: Properties,
96-
is_initial_connection: bool,
97-
connect_func: Callable) -> Connection:
9879
conn = connect_func()
9980

10081
if is_initial_connection:

aws_advanced_python_wrapper/host_monitoring_plugin.py

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -86,19 +86,6 @@ def connect(
8686
props: Properties,
8787
is_initial_connection: bool,
8888
connect_func: Callable) -> Connection:
89-
return self._connect(host_info, connect_func)
90-
91-
def force_connect(
92-
self,
93-
target_driver_func: Callable,
94-
driver_dialect: DriverDialect,
95-
host_info: HostInfo,
96-
props: Properties,
97-
is_initial_connection: bool,
98-
force_connect_func: Callable) -> Connection:
99-
return self._connect(host_info, force_connect_func)
100-
101-
def _connect(self, host_info: HostInfo, connect_func: Callable) -> Connection:
10289
conn = connect_func()
10390
if conn:
10491
rds_type = self._rds_utils.identify_rds_type(host_info.host)

0 commit comments

Comments
 (0)