From bc888226fc89f623391b78d4f642c63b7e100967 Mon Sep 17 00:00:00 2001 From: chrislu Date: Tue, 5 Apr 2022 19:03:02 -0700 Subject: 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. --- weed/shell/command_ec_encode.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'weed/shell/command_ec_encode.go') diff --git a/weed/shell/command_ec_encode.go b/weed/shell/command_ec_encode.go index 9ae9b049c..251448908 100644 --- a/weed/shell/command_ec_encode.go +++ b/weed/shell/command_ec_encode.go @@ -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) } -- cgit v1.2.3