Skip to content

[To dev/1.3] Harden RegionMaintainer retries and region operation atomicity - #18480

Merged
CRZbulabula merged 1 commit into
apache:dev/1.3from
CRZbulabula:yongzao/v1-465-region-maintainer-hardening
Aug 19, 2026
Merged

CRZbulabula merged 1 commit into
apache:dev/1.3from
CRZbulabula:yongzao/v1-465-region-maintainer-hardening

Conversation

@CRZbulabula

Copy link
Copy Markdown
Contributor

Scope

This is the partial-fix delivery for TDB-280 / PingCode V1-465 (V1.3.8.1). It does not claim full resolution.

Changes

  • Ported the positive RegionMaintainer, DataNode RPC, and idempotent state-handling increments from the final master state without reintroducing RemoveRegionGroupProcedure.
  • RegionMaintainer groups tasks by full region ID, preserves per-region FIFO, and blocks later tasks behind a failed head task.
  • The persistent queue polls only SUCCESS, CREATE + REGION_ALREADY_EXISTS, and DELETE + REGION_NOT_EXIST. Failed tasks remain for the next retry round.
  • Added asynchronous DELETE_REGION handling and explicit DataNode idempotent statuses; real errors remain failures.
  • Combined consensus-peer and local-region deletion results idempotently; DeleteDatabase enqueues region deletion before partition metadata cleanup and routes synchronous deletion failures to the async queue.

Tests

  • ConfigNode focused tests: 26 passed.
  • DataNode focused tests: 14 passed.

Limitations

Full procedure state persistence, checkpointing, recovery, and compensation semantics are not included in this partial fix.

@CRZbulabula CRZbulabula changed the title [TDB-280][to dev/1.3] Harden RegionMaintainer retries and region operation atomicity [To dev/1.3] Harden RegionMaintainer retries and region operation atomicity Aug 16, 2026
@CRZbulabula
CRZbulabula merged commit 3fbbe5f into apache:dev/1.3 Aug 19, 2026
16 checks passed
@CRZbulabula
CRZbulabula deleted the yongzao/v1-465-region-maintainer-hardening branch August 19, 2026 03:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant