filer: filer.copy cleanup in case of failed uploads

This commit is contained in:
Chris Lu 2019-10-24 10:16:01 -07:00
parent 1b71608b3c
commit 9573c0f4b3

View File

@ -400,15 +400,21 @@ func (worker *FileCopyWorker) uploadFileInChunks(ctx context.Context, task FileC
wg.Wait()
close(chunksChan)
if uploadError != nil {
return uploadError
}
var chunks []*filer_pb.FileChunk
for chunk := range chunksChan {
chunks = append(chunks, chunk)
}
if uploadError != nil {
var fileIds []string
for _, chunk := range chunks {
fileIds = append(fileIds, chunk.FileId)
}
operation.DeleteFiles(worker.options.masterClient.GetMaster(), worker.options.grpcDialOption, fileIds)
return uploadError
}
if err := withFilerClient(ctx, worker.filerGrpcAddress, worker.options.grpcDialOption, func(client filer_pb.SeaweedFilerClient) error {
request := &filer_pb.CreateEntryRequest{
Directory: task.destinationUrlPath,