Skip to main content

rollback_group_metadata_routes

Function rollback_group_metadata_routes 

Source
pub fn rollback_group_metadata_routes(
    group_id: GroupId,
    source_regions: &[RegionDescriptor],
    original_target_routes: &[RegionRoute],
    allocated_region_ids: &[RegionId],
    pending_deallocate_region_ids: &[RegionId],
    region_routes_map: &mut HashMap<RegionId, &mut RegionRoute>,
) -> Result<()>
Expand description

Restores group staging metadata in-place for parent repartition rollback.

This helper lives in repartition utilities instead of the group subprocedure because parent repartition owns crash recovery and rollback selection.

The function mutates region_routes in place to avoid rebuilding the route vector for each selected plan. It restores:

  • source-region leader staging flags,
  • merge-source ignore_all_writes markers for pending-deallocate sources,
  • target-region partition expressions,
  • target-region write-route policies,
  • target-region leader staging flags.

original_target_routes contains only pre-existing target routes. Newly allocated targets are removed by parent rollback instead of being restored here.