diff options
| author | Konstantin Lebedev <9497591+kmlebedev@users.noreply.github.com> | 2023-06-12 22:42:44 +0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-06-12 10:42:44 -0700 |
| commit | 25535e9c36ad55b4e75f88ed01ca0c5e3947663e (patch) | |
| tree | 8e6e71e734468822cabc2bbf979d7d6cff67f68f /weed/shell/command_volume_move.go | |
| parent | 2e42cdeb221572a20b0d6576dc8e2f6f3369b546 (diff) | |
| download | seaweedfs-25535e9c36ad55b4e75f88ed01ca0c5e3947663e.tar.xz seaweedfs-25535e9c36ad55b4e75f88ed01ca0c5e3947663e.zip | |
Delete volume is empty (#4561)
* use onlyEmpty for deleteVolume
https://github.com/seaweedfs/seaweedfs/issues/4559
* fix IsEmpty
* fix test
---------
Co-authored-by: Konstantin Lebedev <9497591+kmlebedev@users.noreply.github.co>
Diffstat (limited to 'weed/shell/command_volume_move.go')
| -rw-r--r-- | weed/shell/command_volume_move.go | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/weed/shell/command_volume_move.go b/weed/shell/command_volume_move.go index bbb201a5f..97eaf211e 100644 --- a/weed/shell/command_volume_move.go +++ b/weed/shell/command_volume_move.go @@ -94,7 +94,7 @@ func LiveMoveVolume(grpcDialOption grpc.DialOption, writer io.Writer, volumeId n } log.Printf("deleting volume %d from %s", volumeId, sourceVolumeServer) - if err = deleteVolume(grpcDialOption, volumeId, sourceVolumeServer); err != nil { + if err = deleteVolume(grpcDialOption, volumeId, sourceVolumeServer, false); err != nil { return fmt.Errorf("delete volume %d from %s: %v", volumeId, sourceVolumeServer, err) } @@ -187,10 +187,11 @@ func tailVolume(grpcDialOption grpc.DialOption, volumeId needle.VolumeId, source } -func deleteVolume(grpcDialOption grpc.DialOption, volumeId needle.VolumeId, sourceVolumeServer pb.ServerAddress) (err error) { +func deleteVolume(grpcDialOption grpc.DialOption, volumeId needle.VolumeId, sourceVolumeServer pb.ServerAddress, onlyEmpty bool) (err error) { return operation.WithVolumeServerClient(false, sourceVolumeServer, grpcDialOption, func(volumeServerClient volume_server_pb.VolumeServerClient) error { _, deleteErr := volumeServerClient.VolumeDelete(context.Background(), &volume_server_pb.VolumeDeleteRequest{ - VolumeId: uint32(volumeId), + VolumeId: uint32(volumeId), + OnlyEmpty: onlyEmpty, }) return deleteErr }) |
