Aleksey Yeschenko created CASSANDRA-21653:
---------------------------------------------
Summary: CEP-45: Fixes and improvements to MT migration logic
Key: CASSANDRA-21653
URL: https://issues.apache.org/jira/browse/CASSANDRA-21653
Project: Apache Cassandra
Issue Type: Bug
Reporter: Aleksey Yeschenko
Assignee: Aleksey Yeschenko
Fixes the following TCM-related issues in MT migration logic:
1. Repeat repairs of already migrated ranges no longer issue redundant
transformations
2. Incomplete repair jobs (Paxos-only, or not involving all replicas) no longer
advance ranges to migrated status
3. A virtual table added for exposing migrated and migrating ranges so
operators can have visibility into migration process
4. Error handling and logging has been improved
5. [Optional] (more on this point below) Batch repair jobs at parent repair
session level so that one transformation per set of ranges - and not one
transformation per table per set of ranges - gets committed, to reduce
potential TCM contention issues
The original motivation for this patch set was to deal with the storm of
transformations issued on repair jobs' completions contending and overwhelming
TCM.
The build that exposed this problem, however, did not include the following two
patch sets that are intended to help with just this sort of problem:
- CASSANDRA-21453 (Move long running cluster metadata operations to a longer
timeout)
- CASSANDRA-21456 (Add policy for selecting CMS host when submitting commit
request)
So I suspect that commit (5) in the submitted PR is no longer necessary. I'm
also not a massive fan of having two inconsistent approaches (per-job callback
for Accord, per-session callback for MT) co-existing. So my preference is to
include all the fixes and improvements except the last one, and revisit
committing the optional one only if a build with those trunk TCM improvements
still exhibits contention problems.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]