Skip to content

Hot read leader scheduling skips topology isolation when Placement Rules are disabled #11352

Open

Description

@HunDunDM

Bug Report

What did you do?

Configure location-labels and disable Placement Rules. Consider a hot region with replicas on Store A (z1, leader), Store C (z2), and Store D (z3). Store B is a healthy, lower-load Store in z2, but does not currently contain a peer of this region. Run the hot-region read scheduler.

What did you expect to see?

The leader move should preserve the existing replica topology isolation.

What did you see instead?

The scheduler can select Store B and create a MoveLeaderOperator. The resulting replicas would be on z2, z2, and z3, reducing the region's topology isolation.

In pkg/schedule/filter/filters.go at v8.5.6 ([lines 774–782](https://github.com/tikv/pd/blob/v8.5.6/pkg/schedule/filter/filters.go#L774-L782)), NewPlacementLeaderSafeguard returns nil when Placement Rules are disabled.

In pkg/schedule/schedulers/hot_region.go ([lines 987–1007](https://github.com/tikv/pd/blob/v8.5.6/pkg/schedule/schedulers/hot_region.go#L987-L1007)), the read hot-region path admits non-peer targets using only StoreStateFilter.

What version of PD are you using (pd-server -V)?

v8.5.6

Activity

  1. added
    affects-6.5This bug affects the 6.5.x(LTS) versions.
    affects-7.1This bug affects the 7.1.x(LTS) versions.
    affects-7.5This bug affects the 7.5.x(LTS) versions.
    affects-8.1This bug affects the 8.1.x(LTS) versions.
    affects-8.5This bug affects the 8.5.x(LTS) versions.
    on Oct 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    affects-6.5This bug affects the 6.5.x(LTS) versions.affects-7.1This bug affects the 7.1.x(LTS) versions.affects-7.5This bug affects the 7.5.x(LTS) versions.affects-8.1This bug affects the 8.1.x(LTS) versions.affects-8.5This bug affects the 8.5.x(LTS) versions.severity/minortype/bugThe issue is confirmed as a bug.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions