Problem
SkipPoolCreation returns before all host UP and DOWN processing:
|
def on_up(self, host): |
|
""" |
|
Intended for internal use only. |
|
""" |
|
if self.is_shutdown or self.allow_control_connection_query_fallback == ControlConnectionQueryFallback.SkipPoolCreation: |
|
return |
|
def on_down(self, host, is_host_addition, expect_host_to_be_down=False): |
|
""" |
|
Intended for internal use only. |
|
""" |
|
if self.is_shutdown or self.allow_control_connection_query_fallback == ControlConnectionQueryFallback.SkipPoolCreation: |
|
return |
This prevents host status updates, listener notifications, and control-connection failover:
|
@run_in_executor |
|
def on_down_potentially_blocking(self, host, is_host_addition): |
|
self.profile_manager.on_down(host) |
|
self.control_connection.on_down(host) |
|
for session in tuple(self.sessions): |
|
session.on_down(host) |
|
|
|
for listener in self.listeners: |
|
listener.on_down(host) |
|
|
|
self._start_reconnector(host, is_host_addition) |
Pool creation is already disabled in the session paths:
|
def add_or_renew_pool(self, host, is_host_addition): |
|
""" |
|
For internal use only. |
|
""" |
|
if self.cluster.allow_control_connection_query_fallback is ControlConnectionQueryFallback.SkipPoolCreation: |
|
return None |
|
|
|
distance = self._profile_manager.distance(host) |
|
if distance == HostDistance.IGNORED: |
|
return None |
Expected behavior
Continue normal host lifecycle processing in SkipPoolCreation mode while keeping node-pool creation disabled.
Problem
SkipPoolCreationreturns before all host UP and DOWN processing:python-driver/cassandra/cluster.py
Lines 1917 to 1922 in b666e5c
python-driver/cassandra/cluster.py
Lines 2025 to 2030 in b666e5c
This prevents host status updates, listener notifications, and control-connection failover:
python-driver/cassandra/cluster.py
Lines 2013 to 2023 in b666e5c
Pool creation is already disabled in the session paths:
python-driver/cassandra/cluster.py
Lines 3330 to 3339 in b666e5c
Expected behavior
Continue normal host lifecycle processing in
SkipPoolCreationmode while keeping node-pool creation disabled.