Skip to content

downstairs the --lossy flag no longer works. #1755

@leftwo

Description

@leftwo

The --lossy flag is not really doing anything for the downstairs.

The do_ready_work() method has:

        while let Some((ds_id, work)) = self
            .work
            .get_next(&mut stop_at)
            .or_else(|| retry.pop_front())
        {
            if flags.lossy && random() && random() {
                // Skip a job that needs to be done, moving it to the back of
                // the list.  This exercises job dependency tracking in the face
                // of arbitrary reordering.
                info!(self.log, "[lossy] skipping {}", ds_id);
                retry.push_back((ds_id, work));
                continue;
            } else if let Some((ds_id, work)) = self
                .do_work(ds_id, work, flags, reqwest_client, dss, region)
                .await?
            {
                // We failed, add this job to the retry queue
                retry.push_back((ds_id, work));
            }
        }

But, we don't get down this path often enough that it actually does what we want.
If we want lossy to do something, we need to change this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions