pub fn run(mut self) -> anyhow::Result<()> {
        let repair_data = self
            .db
            .stale_keys_repair_data()
            .context("failed getting repair data")?;
        tracing::info!(
            paralellism = self.parallelism,
            poll_interval = ?self.poll_interval,
            ?repair_data,
            "Starting repair task"
        );

        let mut wait_interval = Duration::ZERO;
        while !self.wait_for_abort(wait_interval) {
            wait_interval = if let Some(step_stats) = self.step()? {
                self.update_stats(step_stats);
                Duration::ZERO
            } else {
                self.poll_interval
            };
        }
        tracing::info!("Stop request received, stale keys repair is shut down");
        Ok(())
    }
Runs this task indefinitely.

# Errors

Propagates RocksDB I/O errors.
core/lib/merkle_tree/src/repair.rs