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

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions