Skip to content
This repository has been archived by the owner on Jun 23, 2022. It is now read-only.

feat(bulk-load): replica handle errors during bulk load #534

Merged
merged 3 commits into from
Jul 8, 2020

Conversation

hycdong
Copy link
Contributor

@hycdong hycdong commented Jul 8, 2020

As previous pull requests shows, bulk load process is like:

  1. meta sends bulk load request to primary replica to let primary replica executing bulk load (feat(bulk-load): meta server send bulk load request #457)
  2. primary replica broadcasts group_bulk_load_request to secondaries to let secondary replicas executing bulk load (feat(bulk-load): group bulk load request in replica group #460)
  3. secondary replica reports its bulk_load_state through group_bulk_load_response (feat(bulk-load): bulk load download part4 - replica report download status and progress #479)
  4. primary replica reports group bulk_load_state through bulk_load_response (feat(bulk-load): bulk load download part4 - replica report download status and progress #479)

This pull request is about how replica handle errors during bulk load process, including two parts:

  1. primary meet errors while receiving group_bulk_load_response
    • primary stores secondary bulk load state in primary context, when meet errors, primary should reset this secondary's state (in function on_group_bulk_load_reply and reset_node_bulk_load_states)
  2. replica partition status changes during bulk load

@hycdong hycdong marked this pull request as ready for review July 8, 2020 02:31
@hycdong hycdong merged commit 24f5524 into XiaoMi:master Jul 8, 2020
hycdong added a commit to hycdong/rdsn that referenced this pull request Jul 10, 2020
@hycdong hycdong deleted the replica_failover_part1 branch July 10, 2020 01:36
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants