Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
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
2 changes: 2 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
[flake8]
max-line-length = 150
extend-select = TC, TC1
exclude =
venv/,
13 changes: 0 additions & 13 deletions aws_advanced_python_wrapper/aurora_connection_tracker_plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -173,19 +173,6 @@ def connect(
props: Properties,
is_initial_connection: bool,
connect_func: Callable) -> Connection:
return self._connect(host_info, connect_func)

def force_connect(
self,
target_driver_func: Callable,
driver_dialect: DriverDialect,
host_info: HostInfo,
props: Properties,
is_initial_connection: bool,
force_connect_func: Callable) -> Connection:
return self._connect(host_info, force_connect_func)

def _connect(self, host_info: HostInfo, connect_func: Callable):
conn = connect_func()

if conn:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,7 @@


class AuroraInitialConnectionStrategyPlugin(Plugin):
_SUBSCRIBED_METHODS: Set[str] = {"init_host_provider",
"connect",
"force_connect"}
_SUBSCRIBED_METHODS: Set[str] = {"init_host_provider", "connect"}

_host_list_provider_service: Optional[HostListProviderService] = None

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

def connect(self, target_driver_func: Callable, driver_dialect: DriverDialect, host_info: HostInfo, props: Properties,
is_initial_connection: bool, connect_func: Callable) -> Connection:
return self._connect(host_info, props, is_initial_connection, connect_func)

def force_connect(self, target_driver_func: Callable, driver_dialect: DriverDialect, host_info: HostInfo, props: Properties,
is_initial_connection: bool, force_connect_func: Callable) -> Connection:
return self._connect(host_info, props, is_initial_connection, force_connect_func)

def _connect(self, host_info: HostInfo, props: Properties, is_initial_connection: bool, connect_func: Callable):
type: RdsUrlType = self._rds_utils.identify_rds_type(host_info.host)
if not type.is_rds_cluster:
url_type: RdsUrlType = self._rds_utils.identify_rds_type(host_info.host)
if not url_type.is_rds_cluster:
return connect_func()

if type == RdsUrlType.RDS_WRITER_CLUSTER:
if url_type == RdsUrlType.RDS_WRITER_CLUSTER:
writer_candidate_conn: Optional[Connection] = self._get_verified_writer_connection(props, is_initial_connection, connect_func)
if writer_candidate_conn is None:
return connect_func()
return writer_candidate_conn

if type == RdsUrlType.RDS_READER_CLUSTER:
if url_type == RdsUrlType.RDS_READER_CLUSTER:
reader_candidate_conn: Optional[Connection] = self._get_verified_reader_connection(props, is_initial_connection, connect_func)
if reader_candidate_conn is None:
return connect_func()
return reader_candidate_conn

return connect_func()

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

while perf_counter_ns() < end_time_nano:
writer_candidate_conn = None
writer_candidate = None

try:
writer_candidate = self._get_writer()
Expand Down
25 changes: 2 additions & 23 deletions aws_advanced_python_wrapper/failover_plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@ class FailoverPlugin(Plugin):
"""
_SUBSCRIBED_METHODS: Set[str] = {"init_host_provider",
"connect",
"force_connect",
"notify_host_list_changed"}

_METHODS_REQUIRE_UPDATED_TOPOLOGY: Set[str] = {
Expand Down Expand Up @@ -205,28 +204,8 @@ def connect(
props: Properties,
is_initial_connection: bool,
connect_func: Callable) -> Connection:
return self._connect(host_info, props, is_initial_connection, connect_func)

def force_connect(
self,
target_driver_func: Callable,
driver_dialect: DriverDialect,
host_info: HostInfo,
props: Properties,
is_initial_connection: bool,
force_connect_func: Callable) -> Connection:
return self._connect(host_info, props, is_initial_connection, force_connect_func)

def _connect(
self,
host: HostInfo,
properties: Properties,
is_initial_connection: bool,
connect_func: Callable) -> Connection:
conn: Connection = self._stale_dns_helper.get_verified_connection(is_initial_connection,
self._host_list_provider_service, host,
properties,
connect_func)
conn: Connection = self._stale_dns_helper.get_verified_connection(
is_initial_connection, self._host_list_provider_service, host_info, props, connect_func)

if is_initial_connection:
self._plugin_service.refresh_host_list(conn)
Expand Down
19 changes: 0 additions & 19 deletions aws_advanced_python_wrapper/fastest_response_strategy_plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ class FastestResponseStrategyPlugin(Plugin):
_FASTEST_RESPONSE_STRATEGY_NAME = "fastest_response"
_SUBSCRIBED_METHODS: Set[str] = {"accepts_strategy",
"connect",
"force_connect",
"get_host_info_by_strategy",
"notify_host_list_changed"}

Expand All @@ -77,24 +76,6 @@ def connect(
props: Properties,
is_initial_connection: bool,
connect_func: Callable) -> Connection:
return self._connect(host_info, props, is_initial_connection, connect_func)

def force_connect(
self,
target_driver_func: Callable,
driver_dialect: DriverDialect,
host_info: HostInfo,
props: Properties,
is_initial_connection: bool,
force_connect_func: Callable) -> Connection:
return self._connect(host_info, props, is_initial_connection, force_connect_func)

def _connect(
self,
host: HostInfo,
properties: Properties,
is_initial_connection: bool,
connect_func: Callable) -> Connection:
conn = connect_func()

if is_initial_connection:
Expand Down
13 changes: 0 additions & 13 deletions aws_advanced_python_wrapper/host_monitoring_plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,19 +86,6 @@ def connect(
props: Properties,
is_initial_connection: bool,
connect_func: Callable) -> Connection:
return self._connect(host_info, connect_func)

def force_connect(
self,
target_driver_func: Callable,
driver_dialect: DriverDialect,
host_info: HostInfo,
props: Properties,
is_initial_connection: bool,
force_connect_func: Callable) -> Connection:
return self._connect(host_info, force_connect_func)

def _connect(self, host_info: HostInfo, connect_func: Callable) -> Connection:
conn = connect_func()
if conn:
rds_type = self._rds_utils.identify_rds_type(host_info.host)
Expand Down
Loading
Loading