Closed redlicha closed 6 years ago
Related: code to force full rebuild / set scrub ID on initial build was introduced with #310
@redlicha related to https://github.com/openvstorage/volumedriver/issues/148 ?
Not related to #148 as it's been observed with volumes that are not clones.
Whatis that scrub ID actually? when scrub results are applied, metadata in the MDS might be changed (point to new SCOs). MDS slaves also need to have these relocations applied. to make sure they don't point to outdated SCOs, the scrub ID is set on scrub result application. basically some UUID to make sure everyone's on the same page. on mismatch (absence) a full rebuild of the metadata is necessary. It's even supposed to be set on creation of an mds table (to some random UUID), to avoid special casing.
One possible way to end up there:
CachedMetaDataStore
which fetches the ScrubId
from the metadata backend too early (during construction) and then cancels the background task / waits for it to finishScrubId
ScrubId
and starts a rebuild from scratch
.While a reconfiguration should not be issued while there's still a rebuild going on (TBD: provide progress info!?), interruption before the ScrubId
is set should be prevented as well.
CC @JeffreyDevloo
This issue was moved to openvstorage/volumedriver-ee#94
W ill only be fixed in EE version. Re-open if needed.