Skip to content

Conversation

@swuferhong
Copy link
Contributor

Purpose

Linked issue: #1397

Brief change log

Tests

API and Format

Documentation

@swuferhong swuferhong marked this pull request as draft August 3, 2025 08:11
@swuferhong swuferhong force-pushed the rebalance-plan branch 9 times, most recently from 061ed6b to 6bf4aca Compare August 6, 2025 03:54
@polyzos polyzos force-pushed the main branch 3 times, most recently from d88c76c to 434a4f4 Compare August 31, 2025 15:13
@swuferhong swuferhong marked this pull request as ready for review September 3, 2025 07:05
@swuferhong swuferhong force-pushed the rebalance-plan branch 3 times, most recently from 967ccb0 to 85341ca Compare September 4, 2025 01:34
Comment on lines +561 to +607
message ListRebalanceProcessResponse {
repeated PbRebalanceProcessForTable process_for_table = 1;
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have a question here. Rebalance task are store in CoordinatorContext via Map<TableBucket, RebalanceResultForBucket>, and Admin#listRebalanceProcess alse return Map<TableBucket, RebalanceResultForBucket>. So can we directly use the following format?

message ListRebalanceProcessResponse {
  repeated PbRebalanceProcessForBucket process_for_bucket = 1;
}

message PbRebalanceProcessForBucket {
  required int64 table_id = 1;
  required int64 partition_id = 2;
  required int32 bucket_id = 3;
  repeated int32 original_replicas = 4 [packed = true];
  repeated int32 new_replicas = 5 [packed = true];
  required int32 rebalance_status = 6;
}

@swuferhong swuferhong force-pushed the rebalance-plan branch 3 times, most recently from 60fd7ef to ed3a37a Compare October 23, 2025 08:31
@Override
public CompletableFuture<RebalanceResponse> rebalance(RebalanceRequest request) {
throw new UnsupportedOperationException("Support soon!");
List<Goal> goalsByPriority = new ArrayList<>();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing permission control?

public CompletableFuture<CancelRebalanceResponse> cancelRebalance(
CancelRebalanceRequest request) {
throw new UnsupportedOperationException("Support soon!");
rebalanceManagerSupplier.get().cancelRebalance();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto

return new LeaderAndIsr(leader, leaderEpoch, newIsr, coordinatorEpoch, bucketEpoch + 1);
}

public LeaderAndIsr newLeaderAndIsrWithNewLeaderEpoch() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems no usage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants