|
|
@ -69,16 +69,25 @@ func (vs *VolumeServer) VolumeCopy(ctx context.Context, req *volume_server_pb.Vo |
|
|
|
|
|
|
|
ioutil.WriteFile(dataBaseFileName+".note", []byte(fmt.Sprintf("copying from %s", req.SourceDataNode)), 0755) |
|
|
|
|
|
|
|
defer func() { |
|
|
|
if err != nil { |
|
|
|
os.Remove(dataBaseFileName + ".dat") |
|
|
|
os.Remove(indexBaseFileName + ".idx") |
|
|
|
os.Remove(dataBaseFileName + ".vif") |
|
|
|
os.Remove(dataBaseFileName + ".note") |
|
|
|
} |
|
|
|
}() |
|
|
|
|
|
|
|
// println("source:", volFileInfoResp.String())
|
|
|
|
if err := vs.doCopyFile(client, false, req.Collection, req.VolumeId, volFileInfoResp.CompactionRevision, volFileInfoResp.DatFileSize, dataBaseFileName, ".dat", false, true); err != nil { |
|
|
|
if err = vs.doCopyFile(client, false, req.Collection, req.VolumeId, volFileInfoResp.CompactionRevision, volFileInfoResp.DatFileSize, dataBaseFileName, ".dat", false, true); err != nil { |
|
|
|
return err |
|
|
|
} |
|
|
|
|
|
|
|
if err := vs.doCopyFile(client, false, req.Collection, req.VolumeId, volFileInfoResp.CompactionRevision, volFileInfoResp.IdxFileSize, indexBaseFileName, ".idx", false, false); err != nil { |
|
|
|
if err = vs.doCopyFile(client, false, req.Collection, req.VolumeId, volFileInfoResp.CompactionRevision, volFileInfoResp.IdxFileSize, indexBaseFileName, ".idx", false, false); err != nil { |
|
|
|
return err |
|
|
|
} |
|
|
|
|
|
|
|
if err := vs.doCopyFile(client, false, req.Collection, req.VolumeId, volFileInfoResp.CompactionRevision, volFileInfoResp.DatFileSize, dataBaseFileName, ".vif", false, true); err != nil { |
|
|
|
if err = vs.doCopyFile(client, false, req.Collection, req.VolumeId, volFileInfoResp.CompactionRevision, volFileInfoResp.DatFileSize, dataBaseFileName, ".vif", false, true); err != nil { |
|
|
|
return err |
|
|
|
} |
|
|
|
|
|
|
|