2018-10-15 15:03:55 +08:00
|
|
|
package weed_server
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
|
|
|
|
"github.com/chrislusf/seaweedfs/weed/glog"
|
|
|
|
"github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
|
2018-10-15 15:40:46 +08:00
|
|
|
"github.com/chrislusf/seaweedfs/weed/storage"
|
2018-10-15 15:03:55 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
func (vs *VolumeServer) DeleteCollection(ctx context.Context, req *volume_server_pb.DeleteCollectionRequest) (*volume_server_pb.DeleteCollectionResponse, error) {
|
|
|
|
|
|
|
|
resp := &volume_server_pb.DeleteCollectionResponse{}
|
|
|
|
|
|
|
|
err := vs.store.DeleteCollection(req.Collection)
|
|
|
|
|
|
|
|
if err != nil {
|
2018-10-15 15:40:46 +08:00
|
|
|
glog.Errorf("delete collection %s: %v", req.Collection, err)
|
|
|
|
} else {
|
|
|
|
glog.V(2).Infof("delete collection %v", req)
|
|
|
|
}
|
|
|
|
|
|
|
|
return resp, err
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
func (vs *VolumeServer) AssignVolume(ctx context.Context, req *volume_server_pb.AssignVolumeRequest) (*volume_server_pb.AssignVolumeResponse, error) {
|
|
|
|
|
|
|
|
resp := &volume_server_pb.AssignVolumeResponse{}
|
|
|
|
|
|
|
|
err := vs.store.AddVolume(
|
|
|
|
storage.VolumeId(req.VolumdId),
|
|
|
|
req.Collection,
|
|
|
|
vs.needleMapKind,
|
|
|
|
req.Replication,
|
|
|
|
req.Ttl,
|
|
|
|
req.Preallocate,
|
|
|
|
)
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
glog.Errorf("assign volume %v: %v", req, err)
|
|
|
|
} else {
|
|
|
|
glog.V(2).Infof("assign volume %v", req)
|
2018-10-15 15:03:55 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
return resp, err
|
|
|
|
|
|
|
|
}
|