logger().debug("{}: reached end for current local chunk",
__func__);
post_event(RequestPrimaryScanning{});
- } else if (backfill_state().progress_tracker->tracked_objects_completed()) {
- post_event(RequestDone{});
} else {
+ if (backfill_state().progress_tracker->tracked_objects_completed()
+ && Enqueuing::all_enqueued(peering_state(),
+ backfill_state().backfill_info,
+ backfill_state().peer_backfill_info)) {
+ backfill_state().last_backfill_started = hobject_t::get_max();
+ backfill_listener().update_peers_last_backfill(hobject_t::get_max());
+ }
logger().debug("{}: reached end for both local and all peers "
"but still has in-flight operations", __func__);
post_event(RequestWaiting{});
bi.end = std::move(next);
bi.version = pg.get_info().last_update;
bi.objects = std::move(*version_map);
- logger().debug("{} BackfillInterval filled, leaving",
- "scan_for_backfill");
+ logger().debug("{} BackfillInterval filled, leaving, {}",
+ "scan_for_backfill",
+ bi);
return seastar::make_ready_future<BackfillInterval>(std::move(bi));
});
});