erasure coding: tracking encoded/decoded volumes

If an EC shard is created but not spread to other servers, the masterclient would think this shard is not located here.
This commit is contained in:
chrislu
2022-04-05 19:03:02 -07:00
parent 8b3d76b24d
commit bc888226fc
7 changed files with 503 additions and 419 deletions

View File

@@ -95,7 +95,7 @@ func (c *commandEcEncode) Do(args []string, commandEnv *CommandEnv, writer io.Wr
func doEcEncode(commandEnv *CommandEnv, collection string, vid needle.VolumeId, parallelCopy bool) (err error) {
// find volume location
locations, found := commandEnv.MasterClient.GetLocations(uint32(vid))
if !found {
if !found && len(locations) > 0 {
return fmt.Errorf("volume %d not found", vid)
}