Skip to content

Cluster: update_created_pools can duplicate pool renewal during host-up handling #851

@dkropachev

Description

@dkropachev

Session.update_created_pools() can schedule a pool renewal for a host while Cluster.on_up() is already handling that same host and opening replacement pools.

Problem

Cluster.on_up() sets host._currently_handling_node_up while it prepares queries, removes old pools, and schedules add_or_renew_pool() futures for the host.

If another topology/status path calls Session.update_created_pools() during that window, the session sees an up or unknown-state host with no active pool and can schedule a second add_or_renew_pool() for the same host. That can replace a pool that is already being established by the on_up() flow.

Expected behavior

update_created_pools() should skip hosts currently being handled by Cluster.on_up(). The on_up() completion path is already responsible for reconciling created pools after the transition finishes.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions