Skip to content

Improve handling of scrub ID mismatch during local restart #313

@redlicha

Description

@redlicha

Currently the restart is aborted with an exception if the local scrub ID does not match the one in the MDS / backend:

local_restart_volume_: 96dff8c9-c758-47f0-93b0-675951e02858: failed to restart volume: ASSERT: md_scrub_id == sm->scrub_id() std::unique_ptr<volumedriver::Volume, volumedriver::{anonymous}::FreshVolumeDestroyer<delete_local_data, remove_volume_completely> > volumedriver::{anonymous}::create_volume_stage_1(const volumedriver::VolumeConfig&, volumedriver::OwnerTag, const boost::shared_ptr<backend::Condition>&, volumedriver::RestartContext, volumedriver::NSIDMap, std::unique_ptr<volumedriver::MetaDataStoreInterface>) [with volumedriver::DeleteLocalData delete_local_data = (volumedriver::DeleteLocalData)0u; volumedriver::RemoveVolumeCompletely remove_volume_completely = (volumedriver::RemoveVolumeCompletely)0u]

while it should however be possible to proceed (by adopting the backend scrub ID) if the local TLogs continue seamlessly where the backend ones end.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions