aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2022-09-11 19:29:10 -0700
committerchrislu <chris.lu@gmail.com>2022-09-11 19:29:10 -0700
commitb9112747b57a45d5c1ef476897ec5940c76fc7e8 (patch)
treeaa089774cbc9bdb62fb8160c13912d7d17c8cd5f
parent6690236754096132ef92aacf6f46db1ccfc62cff (diff)
downloadseaweedfs-b9112747b57a45d5c1ef476897ec5940c76fc7e8.tar.xz
seaweedfs-b9112747b57a45d5c1ef476897ec5940c76fc7e8.zip
volume server: synchronously report volume readonly status to master
fix https://github.com/seaweedfs/seaweedfs/issues/3628
-rw-r--r--weed/pb/master.proto16
-rw-r--r--weed/pb/master_pb/master.pb.go654
-rw-r--r--weed/pb/master_pb/master_grpc.pb.go76
-rw-r--r--weed/server/volume_grpc_admin.go26
4 files changed, 568 insertions, 204 deletions
diff --git a/weed/pb/master.proto b/weed/pb/master.proto
index 4db956de5..e0a1ea253 100644
--- a/weed/pb/master.proto
+++ b/weed/pb/master.proto
@@ -27,6 +27,10 @@ service Seaweed {
}
rpc VacuumVolume (VacuumVolumeRequest) returns (VacuumVolumeResponse) {
}
+ rpc VolumeMarkReadonly (VolumeMarkReadonlyRequest) returns (VolumeMarkReadonlyResponse) {
+ }
+ rpc VolumeMarkWritable (VolumeMarkWritableRequest) returns (VolumeMarkWritableResponse) {
+ }
rpc GetMasterConfiguration (GetMasterConfigurationRequest) returns (GetMasterConfigurationResponse) {
}
rpc ListClusterNodes (ListClusterNodesRequest) returns (ListClusterNodesResponse) {
@@ -303,6 +307,18 @@ message VacuumVolumeRequest {
message VacuumVolumeResponse {
}
+message VolumeMarkReadonlyRequest {
+ uint32 volume_id = 1;
+}
+message VolumeMarkReadonlyResponse {
+}
+
+message VolumeMarkWritableRequest {
+ uint32 volume_id = 1;
+}
+message VolumeMarkWritableResponse {
+}
+
message GetMasterConfigurationRequest {
}
message GetMasterConfigurationResponse {
diff --git a/weed/pb/master_pb/master.pb.go b/weed/pb/master_pb/master.pb.go
index 86ba470e0..72de358b2 100644
--- a/weed/pb/master_pb/master.pb.go
+++ b/weed/pb/master_pb/master.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.1
-// protoc v3.21.4
+// protoc-gen-go v1.26.0
+// protoc v3.17.3
// source: master.proto
package master_pb
@@ -1611,7 +1611,9 @@ func (x *StatisticsResponse) GetFileCount() uint64 {
return 0
}
+//
// collection related
+//
type Collection struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -1846,7 +1848,9 @@ func (*CollectionDeleteResponse) Descriptor() ([]byte, []int) {
return file_master_proto_rawDescGZIP(), []int{23}
}
+//
// volume related
+//
type DiskInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -2498,6 +2502,176 @@ func (*VacuumVolumeResponse) Descriptor() ([]byte, []int) {
return file_master_proto_rawDescGZIP(), []int{34}
}
+type VolumeMarkReadonlyRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
+}
+
+func (x *VolumeMarkReadonlyRequest) Reset() {
+ *x = VolumeMarkReadonlyRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_master_proto_msgTypes[35]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VolumeMarkReadonlyRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VolumeMarkReadonlyRequest) ProtoMessage() {}
+
+func (x *VolumeMarkReadonlyRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_master_proto_msgTypes[35]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VolumeMarkReadonlyRequest.ProtoReflect.Descriptor instead.
+func (*VolumeMarkReadonlyRequest) Descriptor() ([]byte, []int) {
+ return file_master_proto_rawDescGZIP(), []int{35}
+}
+
+func (x *VolumeMarkReadonlyRequest) GetVolumeId() uint32 {
+ if x != nil {
+ return x.VolumeId
+ }
+ return 0
+}
+
+type VolumeMarkReadonlyResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *VolumeMarkReadonlyResponse) Reset() {
+ *x = VolumeMarkReadonlyResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_master_proto_msgTypes[36]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VolumeMarkReadonlyResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VolumeMarkReadonlyResponse) ProtoMessage() {}
+
+func (x *VolumeMarkReadonlyResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_master_proto_msgTypes[36]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VolumeMarkReadonlyResponse.ProtoReflect.Descriptor instead.
+func (*VolumeMarkReadonlyResponse) Descriptor() ([]byte, []int) {
+ return file_master_proto_rawDescGZIP(), []int{36}
+}
+
+type VolumeMarkWritableRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
+}
+
+func (x *VolumeMarkWritableRequest) Reset() {
+ *x = VolumeMarkWritableRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_master_proto_msgTypes[37]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VolumeMarkWritableRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VolumeMarkWritableRequest) ProtoMessage() {}
+
+func (x *VolumeMarkWritableRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_master_proto_msgTypes[37]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VolumeMarkWritableRequest.ProtoReflect.Descriptor instead.
+func (*VolumeMarkWritableRequest) Descriptor() ([]byte, []int) {
+ return file_master_proto_rawDescGZIP(), []int{37}
+}
+
+func (x *VolumeMarkWritableRequest) GetVolumeId() uint32 {
+ if x != nil {
+ return x.VolumeId
+ }
+ return 0
+}
+
+type VolumeMarkWritableResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *VolumeMarkWritableResponse) Reset() {
+ *x = VolumeMarkWritableResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_master_proto_msgTypes[38]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VolumeMarkWritableResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VolumeMarkWritableResponse) ProtoMessage() {}
+
+func (x *VolumeMarkWritableResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_master_proto_msgTypes[38]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VolumeMarkWritableResponse.ProtoReflect.Descriptor instead.
+func (*VolumeMarkWritableResponse) Descriptor() ([]byte, []int) {
+ return file_master_proto_rawDescGZIP(), []int{38}
+}
+
type GetMasterConfigurationRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -2507,7 +2681,7 @@ type GetMasterConfigurationRequest struct {
func (x *GetMasterConfigurationRequest) Reset() {
*x = GetMasterConfigurationRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_master_proto_msgTypes[35]
+ mi := &file_master_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2520,7 +2694,7 @@ func (x *GetMasterConfigurationRequest) String() string {
func (*GetMasterConfigurationRequest) ProtoMessage() {}
func (x *GetMasterConfigurationRequest) ProtoReflect() protoreflect.Message {
- mi := &file_master_proto_msgTypes[35]
+ mi := &file_master_proto_msgTypes[39]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2533,7 +2707,7 @@ func (x *GetMasterConfigurationRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetMasterConfigurationRequest.ProtoReflect.Descriptor instead.
func (*GetMasterConfigurationRequest) Descriptor() ([]byte, []int) {
- return file_master_proto_rawDescGZIP(), []int{35}
+ return file_master_proto_rawDescGZIP(), []int{39}
}
type GetMasterConfigurationResponse struct {
@@ -2553,7 +2727,7 @@ type GetMasterConfigurationResponse struct {
func (x *GetMasterConfigurationResponse) Reset() {
*x = GetMasterConfigurationResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_master_proto_msgTypes[36]
+ mi := &file_master_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2566,7 +2740,7 @@ func (x *GetMasterConfigurationResponse) String() string {
func (*GetMasterConfigurationResponse) ProtoMessage() {}
func (x *GetMasterConfigurationResponse) ProtoReflect() protoreflect.Message {
- mi := &file_master_proto_msgTypes[36]
+ mi := &file_master_proto_msgTypes[40]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2579,7 +2753,7 @@ func (x *GetMasterConfigurationResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetMasterConfigurationResponse.ProtoReflect.Descriptor instead.
func (*GetMasterConfigurationResponse) Descriptor() ([]byte, []int) {
- return file_master_proto_rawDescGZIP(), []int{36}
+ return file_master_proto_rawDescGZIP(), []int{40}
}
func (x *GetMasterConfigurationResponse) GetMetricsAddress() string {
@@ -2645,7 +2819,7 @@ type ListClusterNodesRequest struct {
func (x *ListClusterNodesRequest) Reset() {
*x = ListClusterNodesRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_master_proto_msgTypes[37]
+ mi := &file_master_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2658,7 +2832,7 @@ func (x *ListClusterNodesRequest) String() string {
func (*ListClusterNodesRequest) ProtoMessage() {}
func (x *ListClusterNodesRequest) ProtoReflect() protoreflect.Message {
- mi := &file_master_proto_msgTypes[37]
+ mi := &file_master_proto_msgTypes[41]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2671,7 +2845,7 @@ func (x *ListClusterNodesRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListClusterNodesRequest.ProtoReflect.Descriptor instead.
func (*ListClusterNodesRequest) Descriptor() ([]byte, []int) {
- return file_master_proto_rawDescGZIP(), []int{37}
+ return file_master_proto_rawDescGZIP(), []int{41}
}
func (x *ListClusterNodesRequest) GetClientType() string {
@@ -2713,7 +2887,7 @@ type ListClusterNodesResponse struct {
func (x *ListClusterNodesResponse) Reset() {
*x = ListClusterNodesResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_master_proto_msgTypes[38]
+ mi := &file_master_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2726,7 +2900,7 @@ func (x *ListClusterNodesResponse) String() string {
func (*ListClusterNodesResponse) ProtoMessage() {}
func (x *ListClusterNodesResponse) ProtoReflect() protoreflect.Message {
- mi := &file_master_proto_msgTypes[38]
+ mi := &file_master_proto_msgTypes[42]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2739,7 +2913,7 @@ func (x *ListClusterNodesResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListClusterNodesResponse.ProtoReflect.Descriptor instead.
func (*ListClusterNodesResponse) Descriptor() ([]byte, []int) {
- return file_master_proto_rawDescGZIP(), []int{38}
+ return file_master_proto_rawDescGZIP(), []int{42}
}
func (x *ListClusterNodesResponse) GetClusterNodes() []*ListClusterNodesResponse_ClusterNode {
@@ -2764,7 +2938,7 @@ type LeaseAdminTokenRequest struct {
func (x *LeaseAdminTokenRequest) Reset() {
*x = LeaseAdminTokenRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_master_proto_msgTypes[39]
+ mi := &file_master_proto_msgTypes[43]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2777,7 +2951,7 @@ func (x *LeaseAdminTokenRequest) String() string {
func (*LeaseAdminTokenRequest) ProtoMessage() {}
func (x *LeaseAdminTokenRequest) ProtoReflect() protoreflect.Message {
- mi := &file_master_proto_msgTypes[39]
+ mi := &file_master_proto_msgTypes[43]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2790,7 +2964,7 @@ func (x *LeaseAdminTokenRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use LeaseAdminTokenRequest.ProtoReflect.Descriptor instead.
func (*LeaseAdminTokenRequest) Descriptor() ([]byte, []int) {
- return file_master_proto_rawDescGZIP(), []int{39}
+ return file_master_proto_rawDescGZIP(), []int{43}
}
func (x *LeaseAdminTokenRequest) GetPreviousToken() int64 {
@@ -2840,7 +3014,7 @@ type LeaseAdminTokenResponse struct {
func (x *LeaseAdminTokenResponse) Reset() {
*x = LeaseAdminTokenResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_master_proto_msgTypes[40]
+ mi := &file_master_proto_msgTypes[44]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2853,7 +3027,7 @@ func (x *LeaseAdminTokenResponse) String() string {
func (*LeaseAdminTokenResponse) ProtoMessage() {}
func (x *LeaseAdminTokenResponse) ProtoReflect() protoreflect.Message {
- mi := &file_master_proto_msgTypes[40]
+ mi := &file_master_proto_msgTypes[44]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2866,7 +3040,7 @@ func (x *LeaseAdminTokenResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use LeaseAdminTokenResponse.ProtoReflect.Descriptor instead.
func (*LeaseAdminTokenResponse) Descriptor() ([]byte, []int) {
- return file_master_proto_rawDescGZIP(), []int{40}
+ return file_master_proto_rawDescGZIP(), []int{44}
}
func (x *LeaseAdminTokenResponse) GetToken() int64 {
@@ -2896,7 +3070,7 @@ type ReleaseAdminTokenRequest struct {
func (x *ReleaseAdminTokenRequest) Reset() {
*x = ReleaseAdminTokenRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_master_proto_msgTypes[41]
+ mi := &file_master_proto_msgTypes[45]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2909,7 +3083,7 @@ func (x *ReleaseAdminTokenRequest) String() string {
func (*ReleaseAdminTokenRequest) ProtoMessage() {}
func (x *ReleaseAdminTokenRequest) ProtoReflect() protoreflect.Message {
- mi := &file_master_proto_msgTypes[41]
+ mi := &file_master_proto_msgTypes[45]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2922,7 +3096,7 @@ func (x *ReleaseAdminTokenRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReleaseAdminTokenRequest.ProtoReflect.Descriptor instead.
func (*ReleaseAdminTokenRequest) Descriptor() ([]byte, []int) {
- return file_master_proto_rawDescGZIP(), []int{41}
+ return file_master_proto_rawDescGZIP(), []int{45}
}
func (x *ReleaseAdminTokenRequest) GetPreviousToken() int64 {
@@ -2955,7 +3129,7 @@ type ReleaseAdminTokenResponse struct {
func (x *ReleaseAdminTokenResponse) Reset() {
*x = ReleaseAdminTokenResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_master_proto_msgTypes[42]
+ mi := &file_master_proto_msgTypes[46]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2968,7 +3142,7 @@ func (x *ReleaseAdminTokenResponse) String() string {
func (*ReleaseAdminTokenResponse) ProtoMessage() {}
func (x *ReleaseAdminTokenResponse) ProtoReflect() protoreflect.Message {
- mi := &file_master_proto_msgTypes[42]
+ mi := &file_master_proto_msgTypes[46]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2981,7 +3155,7 @@ func (x *ReleaseAdminTokenResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ReleaseAdminTokenResponse.ProtoReflect.Descriptor instead.
func (*ReleaseAdminTokenResponse) Descriptor() ([]byte, []int) {
- return file_master_proto_rawDescGZIP(), []int{42}
+ return file_master_proto_rawDescGZIP(), []int{46}
}
type PingRequest struct {
@@ -2996,7 +3170,7 @@ type PingRequest struct {
func (x *PingRequest) Reset() {
*x = PingRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_master_proto_msgTypes[43]
+ mi := &file_master_proto_msgTypes[47]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3009,7 +3183,7 @@ func (x *PingRequest) String() string {
func (*PingRequest) ProtoMessage() {}
func (x *PingRequest) ProtoReflect() protoreflect.Message {
- mi := &file_master_proto_msgTypes[43]
+ mi := &file_master_proto_msgTypes[47]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3022,7 +3196,7 @@ func (x *PingRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use PingRequest.ProtoReflect.Descriptor instead.
func (*PingRequest) Descriptor() ([]byte, []int) {
- return file_master_proto_rawDescGZIP(), []int{43}
+ return file_master_proto_rawDescGZIP(), []int{47}
}
func (x *PingRequest) GetTarget() string {
@@ -3052,7 +3226,7 @@ type PingResponse struct {
func (x *PingResponse) Reset() {
*x = PingResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_master_proto_msgTypes[44]
+ mi := &file_master_proto_msgTypes[48]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3065,7 +3239,7 @@ func (x *PingResponse) String() string {
func (*PingResponse) ProtoMessage() {}
func (x *PingResponse) ProtoReflect() protoreflect.Message {
- mi := &file_master_proto_msgTypes[44]
+ mi := &file_master_proto_msgTypes[48]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3078,7 +3252,7 @@ func (x *PingResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use PingResponse.ProtoReflect.Descriptor instead.
func (*PingResponse) Descriptor() ([]byte, []int) {
- return file_master_proto_rawDescGZIP(), []int{44}
+ return file_master_proto_rawDescGZIP(), []int{48}
}
func (x *PingResponse) GetStartTimeNs() int64 {
@@ -3115,7 +3289,7 @@ type RaftAddServerRequest struct {
func (x *RaftAddServerRequest) Reset() {
*x = RaftAddServerRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_master_proto_msgTypes[45]
+ mi := &file_master_proto_msgTypes[49]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3128,7 +3302,7 @@ func (x *RaftAddServerRequest) String() string {
func (*RaftAddServerRequest) ProtoMessage() {}
func (x *RaftAddServerRequest) ProtoReflect() protoreflect.Message {
- mi := &file_master_proto_msgTypes[45]
+ mi := &file_master_proto_msgTypes[49]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3141,7 +3315,7 @@ func (x *RaftAddServerRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use RaftAddServerRequest.ProtoReflect.Descriptor instead.
func (*RaftAddServerRequest) Descriptor() ([]byte, []int) {
- return file_master_proto_rawDescGZIP(), []int{45}
+ return file_master_proto_rawDescGZIP(), []int{49}
}
func (x *RaftAddServerRequest) GetId() string {
@@ -3174,7 +3348,7 @@ type RaftAddServerResponse struct {
func (x *RaftAddServerResponse) Reset() {
*x = RaftAddServerResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_master_proto_msgTypes[46]
+ mi := &file_master_proto_msgTypes[50]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3187,7 +3361,7 @@ func (x *RaftAddServerResponse) String() string {
func (*RaftAddServerResponse) ProtoMessage() {}
func (x *RaftAddServerResponse) ProtoReflect() protoreflect.Message {
- mi := &file_master_proto_msgTypes[46]
+ mi := &file_master_proto_msgTypes[50]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3200,7 +3374,7 @@ func (x *RaftAddServerResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use RaftAddServerResponse.ProtoReflect.Descriptor instead.
func (*RaftAddServerResponse) Descriptor() ([]byte, []int) {
- return file_master_proto_rawDescGZIP(), []int{46}
+ return file_master_proto_rawDescGZIP(), []int{50}
}
type RaftRemoveServerRequest struct {
@@ -3215,7 +3389,7 @@ type RaftRemoveServerRequest struct {
func (x *RaftRemoveServerRequest) Reset() {
*x = RaftRemoveServerRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_master_proto_msgTypes[47]
+ mi := &file_master_proto_msgTypes[51]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3228,7 +3402,7 @@ func (x *RaftRemoveServerRequest) String() string {
func (*RaftRemoveServerRequest) ProtoMessage() {}
func (x *RaftRemoveServerRequest) ProtoReflect() protoreflect.Message {
- mi := &file_master_proto_msgTypes[47]
+ mi := &file_master_proto_msgTypes[51]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3241,7 +3415,7 @@ func (x *RaftRemoveServerRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use RaftRemoveServerRequest.ProtoReflect.Descriptor instead.
func (*RaftRemoveServerRequest) Descriptor() ([]byte, []int) {
- return file_master_proto_rawDescGZIP(), []int{47}
+ return file_master_proto_rawDescGZIP(), []int{51}
}
func (x *RaftRemoveServerRequest) GetId() string {
@@ -3267,7 +3441,7 @@ type RaftRemoveServerResponse struct {
func (x *RaftRemoveServerResponse) Reset() {
*x = RaftRemoveServerResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_master_proto_msgTypes[48]
+ mi := &file_master_proto_msgTypes[52]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3280,7 +3454,7 @@ func (x *RaftRemoveServerResponse) String() string {
func (*RaftRemoveServerResponse) ProtoMessage() {}
func (x *RaftRemoveServerResponse) ProtoReflect() protoreflect.Message {
- mi := &file_master_proto_msgTypes[48]
+ mi := &file_master_proto_msgTypes[52]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3293,7 +3467,7 @@ func (x *RaftRemoveServerResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use RaftRemoveServerResponse.ProtoReflect.Descriptor instead.
func (*RaftRemoveServerResponse) Descriptor() ([]byte, []int) {
- return file_master_proto_rawDescGZIP(), []int{48}
+ return file_master_proto_rawDescGZIP(), []int{52}
}
type RaftListClusterServersRequest struct {
@@ -3305,7 +3479,7 @@ type RaftListClusterServersRequest struct {
func (x *RaftListClusterServersRequest) Reset() {
*x = RaftListClusterServersRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_master_proto_msgTypes[49]
+ mi := &file_master_proto_msgTypes[53]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3318,7 +3492,7 @@ func (x *RaftListClusterServersRequest) String() string {
func (*RaftListClusterServersRequest) ProtoMessage() {}
func (x *RaftListClusterServersRequest) ProtoReflect() protoreflect.Message {
- mi := &file_master_proto_msgTypes[49]
+ mi := &file_master_proto_msgTypes[53]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3331,7 +3505,7 @@ func (x *RaftListClusterServersRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use RaftListClusterServersRequest.ProtoReflect.Descriptor instead.
func (*RaftListClusterServersRequest) Descriptor() ([]byte, []int) {
- return file_master_proto_rawDescGZIP(), []int{49}
+ return file_master_proto_rawDescGZIP(), []int{53}
}
type RaftListClusterServersResponse struct {
@@ -3345,7 +3519,7 @@ type RaftListClusterServersResponse struct {
func (x *RaftListClusterServersResponse) Reset() {
*x = RaftListClusterServersResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_master_proto_msgTypes[50]
+ mi := &file_master_proto_msgTypes[54]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3358,7 +3532,7 @@ func (x *RaftListClusterServersResponse) String() string {
func (*RaftListClusterServersResponse) ProtoMessage() {}
func (x *RaftListClusterServersResponse) ProtoReflect() protoreflect.Message {
- mi := &file_master_proto_msgTypes[50]
+ mi := &file_master_proto_msgTypes[54]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3371,7 +3545,7 @@ func (x *RaftListClusterServersResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use RaftListClusterServersResponse.ProtoReflect.Descriptor instead.
func (*RaftListClusterServersResponse) Descriptor() ([]byte, []int) {
- return file_master_proto_rawDescGZIP(), []int{50}
+ return file_master_proto_rawDescGZIP(), []int{54}
}
func (x *RaftListClusterServersResponse) GetClusterServers() []*RaftListClusterServersResponse_ClusterServers {
@@ -3394,7 +3568,7 @@ type SuperBlockExtra_ErasureCoding struct {
func (x *SuperBlockExtra_ErasureCoding) Reset() {
*x = SuperBlockExtra_ErasureCoding{}
if protoimpl.UnsafeEnabled {
- mi := &file_master_proto_msgTypes[53]
+ mi := &file_master_proto_msgTypes[57]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3407,7 +3581,7 @@ func (x *SuperBlockExtra_ErasureCoding) String() string {
func (*SuperBlockExtra_ErasureCoding) ProtoMessage() {}
func (x *SuperBlockExtra_ErasureCoding) ProtoReflect() protoreflect.Message {
- mi := &file_master_proto_msgTypes[53]
+ mi := &file_master_proto_msgTypes[57]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3458,7 +3632,7 @@ type LookupVolumeResponse_VolumeIdLocation struct {
func (x *LookupVolumeResponse_VolumeIdLocation) Reset() {
*x = LookupVolumeResponse_VolumeIdLocation{}
if protoimpl.UnsafeEnabled {
- mi := &file_master_proto_msgTypes[54]
+ mi := &file_master_proto_msgTypes[58]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3471,7 +3645,7 @@ func (x *LookupVolumeResponse_VolumeIdLocation) String() string {
func (*LookupVolumeResponse_VolumeIdLocation) ProtoMessage() {}
func (x *LookupVolumeResponse_VolumeIdLocation) ProtoReflect() protoreflect.Message {
- mi := &file_master_proto_msgTypes[54]
+ mi := &file_master_proto_msgTypes[58]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3527,7 +3701,7 @@ type LookupEcVolumeResponse_EcShardIdLocation struct {
func (x *LookupEcVolumeResponse_EcShardIdLocation) Reset() {
*x = LookupEcVolumeResponse_EcShardIdLocation{}
if protoimpl.UnsafeEnabled {
- mi := &file_master_proto_msgTypes[59]
+ mi := &file_master_proto_msgTypes[63]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3540,7 +3714,7 @@ func (x *LookupEcVolumeResponse_EcShardIdLocation) String() string {
func (*LookupEcVolumeResponse_EcShardIdLocation) ProtoMessage() {}
func (x *LookupEcVolumeResponse_EcShardIdLocation) ProtoReflect() protoreflect.Message {
- mi := &file_master_proto_msgTypes[59]
+ mi := &file_master_proto_msgTypes[63]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3586,7 +3760,7 @@ type ListClusterNodesResponse_ClusterNode struct {
func (x *ListClusterNodesResponse_ClusterNode) Reset() {
*x = ListClusterNodesResponse_ClusterNode{}
if protoimpl.UnsafeEnabled {
- mi := &file_master_proto_msgTypes[60]
+ mi := &file_master_proto_msgTypes[64]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3599,7 +3773,7 @@ func (x *ListClusterNodesResponse_ClusterNode) String() string {
func (*ListClusterNodesResponse_ClusterNode) ProtoMessage() {}
func (x *ListClusterNodesResponse_ClusterNode) ProtoReflect() protoreflect.Message {
- mi := &file_master_proto_msgTypes[60]
+ mi := &file_master_proto_msgTypes[64]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3612,7 +3786,7 @@ func (x *ListClusterNodesResponse_ClusterNode) ProtoReflect() protoreflect.Messa
// Deprecated: Use ListClusterNodesResponse_ClusterNode.ProtoReflect.Descriptor instead.
func (*ListClusterNodesResponse_ClusterNode) Descriptor() ([]byte, []int) {
- return file_master_proto_rawDescGZIP(), []int{38, 0}
+ return file_master_proto_rawDescGZIP(), []int{42, 0}
}
func (x *ListClusterNodesResponse_ClusterNode) GetAddress() string {
@@ -3670,7 +3844,7 @@ type RaftListClusterServersResponse_ClusterServers struct {
func (x *RaftListClusterServersResponse_ClusterServers) Reset() {
*x = RaftListClusterServersResponse_ClusterServers{}
if protoimpl.UnsafeEnabled {
- mi := &file_master_proto_msgTypes[61]
+ mi := &file_master_proto_msgTypes[65]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3683,7 +3857,7 @@ func (x *RaftListClusterServersResponse_ClusterServers) String() string {
func (*RaftListClusterServersResponse_ClusterServers) ProtoMessage() {}
func (x *RaftListClusterServersResponse_ClusterServers) ProtoReflect() protoreflect.Message {
- mi := &file_master_proto_msgTypes[61]
+ mi := &file_master_proto_msgTypes[65]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3696,7 +3870,7 @@ func (x *RaftListClusterServersResponse_ClusterServers) ProtoReflect() protorefl
// Deprecated: Use RaftListClusterServersResponse_ClusterServers.ProtoReflect.Descriptor instead.
func (*RaftListClusterServersResponse_ClusterServers) Descriptor() ([]byte, []int) {
- return file_master_proto_rawDescGZIP(), []int{50, 0}
+ return file_master_proto_rawDescGZIP(), []int{54, 0}
}
func (x *RaftListClusterServersResponse_ClusterServers) GetId() string {
@@ -4162,6 +4336,17 @@ var file_master_proto_rawDesc = []byte{
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c,
0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x16, 0x0a, 0x14, 0x56, 0x61, 0x63, 0x75, 0x75,
0x6d, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x38, 0x0a, 0x19, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x52, 0x65, 0x61,
+ 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09,
+ 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x56, 0x6f, 0x6c,
+ 0x75, 0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x0a, 0x19, 0x56, 0x6f, 0x6c, 0x75, 0x6d,
+ 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x57, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49,
+ 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x57,
+ 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
0x1f, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x22, 0xf3, 0x02, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f,
@@ -4285,7 +4470,7 @@ var file_master_proto_rawDesc = []byte{
0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64,
0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x75, 0x66, 0x66, 0x72, 0x61, 0x67,
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x75, 0x66, 0x66, 0x72, 0x61, 0x67,
- 0x65, 0x32, 0xaf, 0x0c, 0x0a, 0x07, 0x53, 0x65, 0x61, 0x77, 0x65, 0x65, 0x64, 0x12, 0x49, 0x0a,
+ 0x65, 0x32, 0xf9, 0x0d, 0x0a, 0x07, 0x53, 0x65, 0x61, 0x77, 0x65, 0x65, 0x64, 0x12, 0x49, 0x0a,
0x0d, 0x53, 0x65, 0x6e, 0x64, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x12, 0x14,
0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x48, 0x65, 0x61, 0x72, 0x74,
0x62, 0x65, 0x61, 0x74, 0x1a, 0x1c, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62,
@@ -4337,57 +4522,70 @@ var file_master_proto_rawDesc = []byte{
0x63, 0x75, 0x75, 0x6d, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x61,
0x63, 0x75, 0x75, 0x6d, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x73, 0x74, 0x65,
- 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28,
- 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61,
- 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65,
+ 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x12, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4d, 0x61,
+ 0x72, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x12, 0x24, 0x2e, 0x6d, 0x61, 0x73,
+ 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4d, 0x61, 0x72,
+ 0x6b, 0x52, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x1a, 0x25, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c,
+ 0x75, 0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x12, 0x56, 0x6f, 0x6c,
+ 0x75, 0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x57, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12,
+ 0x24, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75,
+ 0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x57, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70,
+ 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x57, 0x72, 0x69, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f,
+ 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65,
0x72, 0x5f, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75,
- 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x22, 0x2e, 0x6d, 0x61, 0x73, 0x74,
- 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
- 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e,
- 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c,
- 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0f, 0x4c, 0x65, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d,
- 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x21, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72,
- 0x5f, 0x70, 0x62, 0x2e, 0x4c, 0x65, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x6f,
- 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x61, 0x73,
- 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x4c, 0x65, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69,
- 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
- 0x12, 0x60, 0x0a, 0x11, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e,
- 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x23, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70,
- 0x62, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x6f,
- 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x61, 0x73,
- 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x41, 0x64,
- 0x6d, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x00, 0x12, 0x39, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x2e, 0x6d, 0x61, 0x73,
- 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x50,
- 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a,
- 0x16, 0x52, 0x61, 0x66, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
- 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x28, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72,
- 0x5f, 0x70, 0x62, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73,
- 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x52, 0x61,
+ 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x47,
+ 0x65, 0x74, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
+ 0x5d, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f,
+ 0x64, 0x65, 0x73, 0x12, 0x22, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e,
+ 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72,
+ 0x5f, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e,
+ 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a,
+ 0x0a, 0x0f, 0x4c, 0x65, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65,
+ 0x6e, 0x12, 0x21, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x4c, 0x65,
+ 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62,
+ 0x2e, 0x4c, 0x65, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x11, 0x52, 0x65,
+ 0x6c, 0x65, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12,
+ 0x23, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x6c, 0x65,
+ 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62,
+ 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x6f, 0x6b,
+ 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x04,
+ 0x50, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62,
+ 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x6d,
+ 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x16, 0x52, 0x61, 0x66, 0x74, 0x4c,
+ 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
+ 0x73, 0x12, 0x28, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x52, 0x61,
0x66, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72,
- 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54,
- 0x0a, 0x0d, 0x52, 0x61, 0x66, 0x74, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12,
- 0x1f, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x52, 0x61, 0x66, 0x74,
- 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x20, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x52, 0x61, 0x66,
- 0x74, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x10, 0x52, 0x61, 0x66, 0x74, 0x52, 0x65, 0x6d, 0x6f,
- 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x22, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65,
- 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53,
- 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d,
- 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x52, 0x65, 0x6d,
- 0x6f, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0x00, 0x42, 0x32, 0x5a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f,
- 0x6d, 0x2f, 0x73, 0x65, 0x61, 0x77, 0x65, 0x65, 0x64, 0x66, 0x73, 0x2f, 0x73, 0x65, 0x61, 0x77,
- 0x65, 0x65, 0x64, 0x66, 0x73, 0x2f, 0x77, 0x65, 0x65, 0x64, 0x2f, 0x70, 0x62, 0x2f, 0x6d, 0x61,
- 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x61,
+ 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x4c, 0x69, 0x73, 0x74,
+ 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0d, 0x52, 0x61, 0x66, 0x74,
+ 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1f, 0x2e, 0x6d, 0x61, 0x73, 0x74,
+ 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72,
+ 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x61, 0x73,
+ 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x41, 0x64, 0x64, 0x53, 0x65,
+ 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d,
+ 0x0a, 0x10, 0x52, 0x61, 0x66, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76,
+ 0x65, 0x72, 0x12, 0x22, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x52,
+ 0x61, 0x66, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f,
+ 0x70, 0x62, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x72,
+ 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x32, 0x5a,
+ 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x61, 0x77,
+ 0x65, 0x65, 0x64, 0x66, 0x73, 0x2f, 0x73, 0x65, 0x61, 0x77, 0x65, 0x65, 0x64, 0x66, 0x73, 0x2f,
+ 0x77, 0x65, 0x65, 0x64, 0x2f, 0x70, 0x62, 0x2f, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70,
+ 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -4402,7 +4600,7 @@ func file_master_proto_rawDescGZIP() []byte {
return file_master_proto_rawDescData
}
-var file_master_proto_msgTypes = make([]protoimpl.MessageInfo, 62)
+var file_master_proto_msgTypes = make([]protoimpl.MessageInfo, 66)
var file_master_proto_goTypes = []interface{}{
(*Heartbeat)(nil), // 0: master_pb.Heartbeat
(*HeartbeatResponse)(nil), // 1: master_pb.HeartbeatResponse
@@ -4439,33 +4637,37 @@ var file_master_proto_goTypes = []interface{}{
(*LookupEcVolumeResponse)(nil), // 32: master_pb.LookupEcVolumeResponse
(*VacuumVolumeRequest)(nil), // 33: master_pb.VacuumVolumeRequest
(*VacuumVolumeResponse)(nil), // 34: master_pb.VacuumVolumeResponse
- (*GetMasterConfigurationRequest)(nil), // 35: master_pb.GetMasterConfigurationRequest
- (*GetMasterConfigurationResponse)(nil), // 36: master_pb.GetMasterConfigurationResponse
- (*ListClusterNodesRequest)(nil), // 37: master_pb.ListClusterNodesRequest
- (*ListClusterNodesResponse)(nil), // 38: master_pb.ListClusterNodesResponse
- (*LeaseAdminTokenRequest)(nil), // 39: master_pb.LeaseAdminTokenRequest
- (*LeaseAdminTokenResponse)(nil), // 40: master_pb.LeaseAdminTokenResponse
- (*ReleaseAdminTokenRequest)(nil), // 41: master_pb.ReleaseAdminTokenRequest
- (*ReleaseAdminTokenResponse)(nil), // 42: master_pb.ReleaseAdminTokenResponse
- (*PingRequest)(nil), // 43: master_pb.PingRequest
- (*PingResponse)(nil), // 44: master_pb.PingResponse
- (*RaftAddServerRequest)(nil), // 45: master_pb.RaftAddServerRequest
- (*RaftAddServerResponse)(nil), // 46: master_pb.RaftAddServerResponse
- (*RaftRemoveServerRequest)(nil), // 47: master_pb.RaftRemoveServerRequest
- (*RaftRemoveServerResponse)(nil), // 48: master_pb.RaftRemoveServerResponse
- (*RaftListClusterServersRequest)(nil), // 49: master_pb.RaftListClusterServersRequest
- (*RaftListClusterServersResponse)(nil), // 50: master_pb.RaftListClusterServersResponse
- nil, // 51: master_pb.Heartbeat.MaxVolumeCountsEntry
- nil, // 52: master_pb.StorageBackend.PropertiesEntry
- (*SuperBlockExtra_ErasureCoding)(nil), // 53: master_pb.SuperBlockExtra.ErasureCoding
- (*LookupVolumeResponse_VolumeIdLocation)(nil), // 54: master_pb.LookupVolumeResponse.VolumeIdLocation
- nil, // 55: master_pb.DataNodeInfo.DiskInfosEntry
- nil, // 56: master_pb.RackInfo.DiskInfosEntry
- nil, // 57: master_pb.DataCenterInfo.DiskInfosEntry
- nil, // 58: master_pb.TopologyInfo.DiskInfosEntry
- (*LookupEcVolumeResponse_EcShardIdLocation)(nil), // 59: master_pb.LookupEcVolumeResponse.EcShardIdLocation
- (*ListClusterNodesResponse_ClusterNode)(nil), // 60: master_pb.ListClusterNodesResponse.ClusterNode
- (*RaftListClusterServersResponse_ClusterServers)(nil), // 61: master_pb.RaftListClusterServersResponse.ClusterServers
+ (*VolumeMarkReadonlyRequest)(nil), // 35: master_pb.VolumeMarkReadonlyRequest
+ (*VolumeMarkReadonlyResponse)(nil), // 36: master_pb.VolumeMarkReadonlyResponse
+ (*VolumeMarkWritableRequest)(nil), // 37: master_pb.VolumeMarkWritableRequest
+ (*VolumeMarkWritableResponse)(nil), // 38: master_pb.VolumeMarkWritableResponse
+ (*GetMasterConfigurationRequest)(nil), // 39: master_pb.GetMasterConfigurationRequest
+ (*GetMasterConfigurationResponse)(nil), // 40: master_pb.GetMasterConfigurationResponse
+ (*ListClusterNodesRequest)(nil), // 41: master_pb.ListClusterNodesRequest
+ (*ListClusterNodesResponse)(nil), // 42: master_pb.ListClusterNodesResponse
+ (*LeaseAdminTokenRequest)(nil), // 43: master_pb.LeaseAdminTokenRequest
+ (*LeaseAdminTokenResponse)(nil), // 44: master_pb.LeaseAdminTokenResponse
+ (*ReleaseAdminTokenRequest)(nil), // 45: master_pb.ReleaseAdminTokenRequest
+ (*ReleaseAdminTokenResponse)(nil), // 46: master_pb.ReleaseAdminTokenResponse
+ (*PingRequest)(nil), // 47: master_pb.PingRequest
+ (*PingResponse)(nil), // 48: master_pb.PingResponse
+ (*RaftAddServerRequest)(nil), // 49: master_pb.RaftAddServerRequest
+ (*RaftAddServerResponse)(nil), // 50: master_pb.RaftAddServerResponse
+ (*RaftRemoveServerRequest)(nil), // 51: master_pb.RaftRemoveServerRequest
+ (*RaftRemoveServerResponse)(nil), // 52: master_pb.RaftRemoveServerResponse
+ (*RaftListClusterServersRequest)(nil), // 53: master_pb.RaftListClusterServersRequest
+ (*RaftListClusterServersResponse)(nil), // 54: master_pb.RaftListClusterServersResponse
+ nil, // 55: master_pb.Heartbeat.MaxVolumeCountsEntry
+ nil, // 56: master_pb.StorageBackend.PropertiesEntry
+ (*SuperBlockExtra_ErasureCoding)(nil), // 57: master_pb.SuperBlockExtra.ErasureCoding
+ (*LookupVolumeResponse_VolumeIdLocation)(nil), // 58: master_pb.LookupVolumeResponse.VolumeIdLocation
+ nil, // 59: master_pb.DataNodeInfo.DiskInfosEntry
+ nil, // 60: master_pb.RackInfo.DiskInfosEntry
+ nil, // 61: master_pb.DataCenterInfo.DiskInfosEntry
+ nil, // 62: master_pb.TopologyInfo.DiskInfosEntry
+ (*LookupEcVolumeResponse_EcShardIdLocation)(nil), // 63: master_pb.LookupEcVolumeResponse.EcShardIdLocation
+ (*ListClusterNodesResponse_ClusterNode)(nil), // 64: master_pb.ListClusterNodesResponse.ClusterNode
+ (*RaftListClusterServersResponse_ClusterServers)(nil), // 65: master_pb.RaftListClusterServersResponse.ClusterServers
}
var file_master_proto_depIdxs = []int32{
2, // 0: master_pb.Heartbeat.volumes:type_name -> master_pb.VolumeInformationMessage
@@ -4474,30 +4676,30 @@ var file_master_proto_depIdxs = []int32{
4, // 3: master_pb.Heartbeat.ec_shards:type_name -> master_pb.VolumeEcShardInformationMessage
4, // 4: master_pb.Heartbeat.new_ec_shards:type_name -> master_pb.VolumeEcShardInformationMessage
4, // 5: master_pb.Heartbeat.deleted_ec_shards:type_name -> master_pb.VolumeEcShardInformationMessage
- 51, // 6: master_pb.Heartbeat.max_volume_counts:type_name -> master_pb.Heartbeat.MaxVolumeCountsEntry
+ 55, // 6: master_pb.Heartbeat.max_volume_counts:type_name -> master_pb.Heartbeat.MaxVolumeCountsEntry
5, // 7: master_pb.HeartbeatResponse.storage_backends:type_name -> master_pb.StorageBackend
- 52, // 8: master_pb.StorageBackend.properties:type_name -> master_pb.StorageBackend.PropertiesEntry
- 53, // 9: master_pb.SuperBlockExtra.erasure_coding:type_name -> master_pb.SuperBlockExtra.ErasureCoding
+ 56, // 8: master_pb.StorageBackend.properties:type_name -> master_pb.StorageBackend.PropertiesEntry
+ 57, // 9: master_pb.SuperBlockExtra.erasure_coding:type_name -> master_pb.SuperBlockExtra.ErasureCoding
9, // 10: master_pb.KeepConnectedResponse.volume_location:type_name -> master_pb.VolumeLocation
10, // 11: master_pb.KeepConnectedResponse.cluster_node_update:type_name -> master_pb.ClusterNodeUpdate
- 54, // 12: master_pb.LookupVolumeResponse.volume_id_locations:type_name -> master_pb.LookupVolumeResponse.VolumeIdLocation
+ 58, // 12: master_pb.LookupVolumeResponse.volume_id_locations:type_name -> master_pb.LookupVolumeResponse.VolumeIdLocation
14, // 13: master_pb.AssignResponse.replicas:type_name -> master_pb.Location
14, // 14: master_pb.AssignResponse.location:type_name -> master_pb.Location
19, // 15: master_pb.CollectionListResponse.collections:type_name -> master_pb.Collection
2, // 16: master_pb.DiskInfo.volume_infos:type_name -> master_pb.VolumeInformationMessage
4, // 17: master_pb.DiskInfo.ec_shard_infos:type_name -> master_pb.VolumeEcShardInformationMessage
- 55, // 18: master_pb.DataNodeInfo.diskInfos:type_name -> master_pb.DataNodeInfo.DiskInfosEntry
+ 59, // 18: master_pb.DataNodeInfo.diskInfos:type_name -> master_pb.DataNodeInfo.DiskInfosEntry
25, // 19: master_pb.RackInfo.data_node_infos:type_name -> master_pb.DataNodeInfo
- 56, // 20: master_pb.RackInfo.diskInfos:type_name -> master_pb.RackInfo.DiskInfosEntry
+ 60, // 20: master_pb.RackInfo.diskInfos:type_name -> master_pb.RackInfo.DiskInfosEntry
26, // 21: master_pb.DataCenterInfo.rack_infos:type_name -> master_pb.RackInfo
- 57, // 22: master_pb.DataCenterInfo.diskInfos:type_name -> master_pb.DataCenterInfo.DiskInfosEntry
+ 61, // 22: master_pb.DataCenterInfo.diskInfos:type_name -> master_pb.DataCenterInfo.DiskInfosEntry
27, // 23: master_pb.TopologyInfo.data_center_infos:type_name -> master_pb.DataCenterInfo
- 58, // 24: master_pb.TopologyInfo.diskInfos:type_name -> master_pb.TopologyInfo.DiskInfosEntry
+ 62, // 24: master_pb.TopologyInfo.diskInfos:type_name -> master_pb.TopologyInfo.DiskInfosEntry
28, // 25: master_pb.VolumeListResponse.topology_info:type_name -> master_pb.TopologyInfo
- 59, // 26: master_pb.LookupEcVolumeResponse.shard_id_locations:type_name -> master_pb.LookupEcVolumeResponse.EcShardIdLocation
+ 63, // 26: master_pb.LookupEcVolumeResponse.shard_id_locations:type_name -> master_pb.LookupEcVolumeResponse.EcShardIdLocation
5, // 27: master_pb.GetMasterConfigurationResponse.storage_backends:type_name -> master_pb.StorageBackend
- 60, // 28: master_pb.ListClusterNodesResponse.cluster_nodes:type_name -> master_pb.ListClusterNodesResponse.ClusterNode
- 61, // 29: master_pb.RaftListClusterServersResponse.cluster_servers:type_name -> master_pb.RaftListClusterServersResponse.ClusterServers
+ 64, // 28: master_pb.ListClusterNodesResponse.cluster_nodes:type_name -> master_pb.ListClusterNodesResponse.ClusterNode
+ 65, // 29: master_pb.RaftListClusterServersResponse.cluster_servers:type_name -> master_pb.RaftListClusterServersResponse.ClusterServers
14, // 30: master_pb.LookupVolumeResponse.VolumeIdLocation.locations:type_name -> master_pb.Location
24, // 31: master_pb.DataNodeInfo.DiskInfosEntry.value:type_name -> master_pb.DiskInfo
24, // 32: master_pb.RackInfo.DiskInfosEntry.value:type_name -> master_pb.DiskInfo
@@ -4514,34 +4716,38 @@ var file_master_proto_depIdxs = []int32{
29, // 43: master_pb.Seaweed.VolumeList:input_type -> master_pb.VolumeListRequest
31, // 44: master_pb.Seaweed.LookupEcVolume:input_type -> master_pb.LookupEcVolumeRequest
33, // 45: master_pb.Seaweed.VacuumVolume:input_type -> master_pb.VacuumVolumeRequest
- 35, // 46: master_pb.Seaweed.GetMasterConfiguration:input_type -> master_pb.GetMasterConfigurationRequest
- 37, // 47: master_pb.Seaweed.ListClusterNodes:input_type -> master_pb.ListClusterNodesRequest
- 39, // 48: master_pb.Seaweed.LeaseAdminToken:input_type -> master_pb.LeaseAdminTokenRequest
- 41, // 49: master_pb.Seaweed.ReleaseAdminToken:input_type -> master_pb.ReleaseAdminTokenRequest
- 43, // 50: master_pb.Seaweed.Ping:input_type -> master_pb.PingRequest
- 49, // 51: master_pb.Seaweed.RaftListClusterServers:input_type -> master_pb.RaftListClusterServersRequest
- 45, // 52: master_pb.Seaweed.RaftAddServer:input_type -> master_pb.RaftAddServerRequest
- 47, // 53: master_pb.Seaweed.RaftRemoveServer:input_type -> master_pb.RaftRemoveServerRequest
- 1, // 54: master_pb.Seaweed.SendHeartbeat:output_type -> master_pb.HeartbeatResponse
- 11, // 55: master_pb.Seaweed.KeepConnected:output_type -> master_pb.KeepConnectedResponse
- 13, // 56: master_pb.Seaweed.LookupVolume:output_type -> master_pb.LookupVolumeResponse
- 16, // 57: master_pb.Seaweed.Assign:output_type -> master_pb.AssignResponse
- 18, // 58: master_pb.Seaweed.Statistics:output_type -> master_pb.StatisticsResponse
- 21, // 59: master_pb.Seaweed.CollectionList:output_type -> master_pb.CollectionListResponse
- 23, // 60: master_pb.Seaweed.CollectionDelete:output_type -> master_pb.CollectionDeleteResponse
- 30, // 61: master_pb.Seaweed.VolumeList:output_type -> master_pb.VolumeListResponse
- 32, // 62: master_pb.Seaweed.LookupEcVolume:output_type -> master_pb.LookupEcVolumeResponse
- 34, // 63: master_pb.Seaweed.VacuumVolume:output_type -> master_pb.VacuumVolumeResponse
- 36, // 64: master_pb.Seaweed.GetMasterConfiguration:output_type -> master_pb.GetMasterConfigurationResponse
- 38, // 65: master_pb.Seaweed.ListClusterNodes:output_type -> master_pb.ListClusterNodesResponse
- 40, // 66: master_pb.Seaweed.LeaseAdminToken:output_type -> master_pb.LeaseAdminTokenResponse
- 42, // 67: master_pb.Seaweed.ReleaseAdminToken:output_type -> master_pb.ReleaseAdminTokenResponse
- 44, // 68: master_pb.Seaweed.Ping:output_type -> master_pb.PingResponse
- 50, // 69: master_pb.Seaweed.RaftListClusterServers:output_type -> master_pb.RaftListClusterServersResponse
- 46, // 70: master_pb.Seaweed.RaftAddServer:output_type -> master_pb.RaftAddServerResponse
- 48, // 71: master_pb.Seaweed.RaftRemoveServer:output_type -> master_pb.RaftRemoveServerResponse
- 54, // [54:72] is the sub-list for method output_type
- 36, // [36:54] is the sub-list for method input_type
+ 35, // 46: master_pb.Seaweed.VolumeMarkReadonly:input_type -> master_pb.VolumeMarkReadonlyRequest
+ 37, // 47: master_pb.Seaweed.VolumeMarkWritable:input_type -> master_pb.VolumeMarkWritableRequest
+ 39, // 48: master_pb.Seaweed.GetMasterConfiguration:input_type -> master_pb.GetMasterConfigurationRequest
+ 41, // 49: master_pb.Seaweed.ListClusterNodes:input_type -> master_pb.ListClusterNodesRequest
+ 43, // 50: master_pb.Seaweed.LeaseAdminToken:input_type -> master_pb.LeaseAdminTokenRequest
+ 45, // 51: master_pb.Seaweed.ReleaseAdminToken:input_type -> master_pb.ReleaseAdminTokenRequest
+ 47, // 52: master_pb.Seaweed.Ping:input_type -> master_pb.PingRequest
+ 53, // 53: master_pb.Seaweed.RaftListClusterServers:input_type -> master_pb.RaftListClusterServersRequest
+ 49, // 54: master_pb.Seaweed.RaftAddServer:input_type -> master_pb.RaftAddServerRequest
+ 51, // 55: master_pb.Seaweed.RaftRemoveServer:input_type -> master_pb.RaftRemoveServerRequest
+ 1, // 56: master_pb.Seaweed.SendHeartbeat:output_type -> master_pb.HeartbeatResponse
+ 11, // 57: master_pb.Seaweed.KeepConnected:output_type -> master_pb.KeepConnectedResponse
+ 13, // 58: master_pb.Seaweed.LookupVolume:output_type -> master_pb.LookupVolumeResponse
+ 16, // 59: master_pb.Seaweed.Assign:output_type -> master_pb.AssignResponse
+ 18, // 60: master_pb.Seaweed.Statistics:output_type -> master_pb.StatisticsResponse
+ 21, // 61: master_pb.Seaweed.CollectionList:output_type -> master_pb.CollectionListResponse
+ 23, // 62: master_pb.Seaweed.CollectionDelete:output_type -> master_pb.CollectionDeleteResponse
+ 30, // 63: master_pb.Seaweed.VolumeList:output_type -> master_pb.VolumeListResponse
+ 32, // 64: master_pb.Seaweed.LookupEcVolume:output_type -> master_pb.LookupEcVolumeResponse
+ 34, // 65: master_pb.Seaweed.VacuumVolume:output_type -> master_pb.VacuumVolumeResponse
+ 36, // 66: master_pb.Seaweed.VolumeMarkReadonly:output_type -> master_pb.VolumeMarkReadonlyResponse
+ 38, // 67: master_pb.Seaweed.VolumeMarkWritable:output_type -> master_pb.VolumeMarkWritableResponse
+ 40, // 68: master_pb.Seaweed.GetMasterConfiguration:output_type -> master_pb.GetMasterConfigurationResponse
+ 42, // 69: master_pb.Seaweed.ListClusterNodes:output_type -> master_pb.ListClusterNodesResponse
+ 44, // 70: master_pb.Seaweed.LeaseAdminToken:output_type -> master_pb.LeaseAdminTokenResponse
+ 46, // 71: master_pb.Seaweed.ReleaseAdminToken:output_type -> master_pb.ReleaseAdminTokenResponse
+ 48, // 72: master_pb.Seaweed.Ping:output_type -> master_pb.PingResponse
+ 54, // 73: master_pb.Seaweed.RaftListClusterServers:output_type -> master_pb.RaftListClusterServersResponse
+ 50, // 74: master_pb.Seaweed.RaftAddServer:output_type -> master_pb.RaftAddServerResponse
+ 52, // 75: master_pb.Seaweed.RaftRemoveServer:output_type -> master_pb.RaftRemoveServerResponse
+ 56, // [56:76] is the sub-list for method output_type
+ 36, // [36:56] is the sub-list for method input_type
36, // [36:36] is the sub-list for extension type_name
36, // [36:36] is the sub-list for extension extendee
0, // [0:36] is the sub-list for field type_name
@@ -4974,7 +5180,7 @@ func file_master_proto_init() {
}
}
file_master_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetMasterConfigurationRequest); i {
+ switch v := v.(*VolumeMarkReadonlyRequest); i {
case 0:
return &v.state
case 1:
@@ -4986,7 +5192,7 @@ func file_master_proto_init() {
}
}
file_master_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetMasterConfigurationResponse); i {
+ switch v := v.(*VolumeMarkReadonlyResponse); i {
case 0:
return &v.state
case 1:
@@ -4998,7 +5204,7 @@ func file_master_proto_init() {
}
}
file_master_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListClusterNodesRequest); i {
+ switch v := v.(*VolumeMarkWritableRequest); i {
case 0:
return &v.state
case 1:
@@ -5010,7 +5216,7 @@ func file_master_proto_init() {
}
}
file_master_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListClusterNodesResponse); i {
+ switch v := v.(*VolumeMarkWritableResponse); i {
case 0:
return &v.state
case 1:
@@ -5022,7 +5228,7 @@ func file_master_proto_init() {
}
}
file_master_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*LeaseAdminTokenRequest); i {
+ switch v := v.(*GetMasterConfigurationRequest); i {
case 0:
return &v.state
case 1:
@@ -5034,7 +5240,7 @@ func file_master_proto_init() {
}
}
file_master_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*LeaseAdminTokenResponse); i {
+ switch v := v.(*GetMasterConfigurationResponse); i {
case 0:
return &v.state
case 1:
@@ -5046,7 +5252,7 @@ func file_master_proto_init() {
}
}
file_master_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ReleaseAdminTokenRequest); i {
+ switch v := v.(*ListClusterNodesRequest); i {
case 0:
return &v.state
case 1:
@@ -5058,7 +5264,7 @@ func file_master_proto_init() {
}
}
file_master_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ReleaseAdminTokenResponse); i {
+ switch v := v.(*ListClusterNodesResponse); i {
case 0:
return &v.state
case 1:
@@ -5070,7 +5276,7 @@ func file_master_proto_init() {
}
}
file_master_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PingRequest); i {
+ switch v := v.(*LeaseAdminTokenRequest); i {
case 0:
return &v.state
case 1:
@@ -5082,7 +5288,7 @@ func file_master_proto_init() {
}
}
file_master_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PingResponse); i {
+ switch v := v.(*LeaseAdminTokenResponse); i {
case 0:
return &v.state
case 1:
@@ -5094,7 +5300,7 @@ func file_master_proto_init() {
}
}
file_master_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RaftAddServerRequest); i {
+ switch v := v.(*ReleaseAdminTokenRequest); i {
case 0:
return &v.state
case 1:
@@ -5106,7 +5312,7 @@ func file_master_proto_init() {
}
}
file_master_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RaftAddServerResponse); i {
+ switch v := v.(*ReleaseAdminTokenResponse); i {
case 0:
return &v.state
case 1:
@@ -5118,7 +5324,7 @@ func file_master_proto_init() {
}
}
file_master_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RaftRemoveServerRequest); i {
+ switch v := v.(*PingRequest); i {
case 0:
return &v.state
case 1:
@@ -5130,7 +5336,7 @@ func file_master_proto_init() {
}
}
file_master_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RaftRemoveServerResponse); i {
+ switch v := v.(*PingResponse); i {
case 0:
return &v.state
case 1:
@@ -5142,7 +5348,7 @@ func file_master_proto_init() {
}
}
file_master_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RaftListClusterServersRequest); i {
+ switch v := v.(*RaftAddServerRequest); i {
case 0:
return &v.state
case 1:
@@ -5154,7 +5360,31 @@ func file_master_proto_init() {
}
}
file_master_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RaftListClusterServersResponse); i {
+ switch v := v.(*RaftAddServerResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_master_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RaftRemoveServerRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_master_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RaftRemoveServerResponse); i {
case 0:
return &v.state
case 1:
@@ -5166,7 +5396,7 @@ func file_master_proto_init() {
}
}
file_master_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SuperBlockExtra_ErasureCoding); i {
+ switch v := v.(*RaftListClusterServersRequest); i {
case 0:
return &v.state
case 1:
@@ -5178,6 +5408,30 @@ func file_master_proto_init() {
}
}
file_master_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RaftListClusterServersResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_master_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SuperBlockExtra_ErasureCoding); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_master_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LookupVolumeResponse_VolumeIdLocation); i {
case 0:
return &v.state
@@ -5189,7 +5443,7 @@ func file_master_proto_init() {
return nil
}
}
- file_master_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} {
+ file_master_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LookupEcVolumeResponse_EcShardIdLocation); i {
case 0:
return &v.state
@@ -5201,7 +5455,7 @@ func file_master_proto_init() {
return nil
}
}
- file_master_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} {
+ file_master_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListClusterNodesResponse_ClusterNode); i {
case 0:
return &v.state
@@ -5213,7 +5467,7 @@ func file_master_proto_init() {
return nil
}
}
- file_master_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} {
+ file_master_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RaftListClusterServersResponse_ClusterServers); i {
case 0:
return &v.state
@@ -5232,7 +5486,7 @@ func file_master_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_master_proto_rawDesc,
NumEnums: 0,
- NumMessages: 62,
+ NumMessages: 66,
NumExtensions: 0,
NumServices: 1,
},
diff --git a/weed/pb/master_pb/master_grpc.pb.go b/weed/pb/master_pb/master_grpc.pb.go
index fd01a2442..d4a74c715 100644
--- a/weed/pb/master_pb/master_grpc.pb.go
+++ b/weed/pb/master_pb/master_grpc.pb.go
@@ -1,8 +1,4 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
-// versions:
-// - protoc-gen-go-grpc v1.2.0
-// - protoc v3.21.4
-// source: master.proto
package master_pb
@@ -32,6 +28,8 @@ type SeaweedClient interface {
VolumeList(ctx context.Context, in *VolumeListRequest, opts ...grpc.CallOption) (*VolumeListResponse, error)
LookupEcVolume(ctx context.Context, in *LookupEcVolumeRequest, opts ...grpc.CallOption) (*LookupEcVolumeResponse, error)
VacuumVolume(ctx context.Context, in *VacuumVolumeRequest, opts ...grpc.CallOption) (*VacuumVolumeResponse, error)
+ VolumeMarkReadonly(ctx context.Context, in *VolumeMarkReadonlyRequest, opts ...grpc.CallOption) (*VolumeMarkReadonlyResponse, error)
+ VolumeMarkWritable(ctx context.Context, in *VolumeMarkWritableRequest, opts ...grpc.CallOption) (*VolumeMarkWritableResponse, error)
GetMasterConfiguration(ctx context.Context, in *GetMasterConfigurationRequest, opts ...grpc.CallOption) (*GetMasterConfigurationResponse, error)
ListClusterNodes(ctx context.Context, in *ListClusterNodesRequest, opts ...grpc.CallOption) (*ListClusterNodesResponse, error)
LeaseAdminToken(ctx context.Context, in *LeaseAdminTokenRequest, opts ...grpc.CallOption) (*LeaseAdminTokenResponse, error)
@@ -184,6 +182,24 @@ func (c *seaweedClient) VacuumVolume(ctx context.Context, in *VacuumVolumeReques
return out, nil
}
+func (c *seaweedClient) VolumeMarkReadonly(ctx context.Context, in *VolumeMarkReadonlyRequest, opts ...grpc.CallOption) (*VolumeMarkReadonlyResponse, error) {
+ out := new(VolumeMarkReadonlyResponse)
+ err := c.cc.Invoke(ctx, "/master_pb.Seaweed/VolumeMarkReadonly", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *seaweedClient) VolumeMarkWritable(ctx context.Context, in *VolumeMarkWritableRequest, opts ...grpc.CallOption) (*VolumeMarkWritableResponse, error) {
+ out := new(VolumeMarkWritableResponse)
+ err := c.cc.Invoke(ctx, "/master_pb.Seaweed/VolumeMarkWritable", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
func (c *seaweedClient) GetMasterConfiguration(ctx context.Context, in *GetMasterConfigurationRequest, opts ...grpc.CallOption) (*GetMasterConfigurationResponse, error) {
out := new(GetMasterConfigurationResponse)
err := c.cc.Invoke(ctx, "/master_pb.Seaweed/GetMasterConfiguration", in, out, opts...)
@@ -270,6 +286,8 @@ type SeaweedServer interface {
VolumeList(context.Context, *VolumeListRequest) (*VolumeListResponse, error)
LookupEcVolume(context.Context, *LookupEcVolumeRequest) (*LookupEcVolumeResponse, error)
VacuumVolume(context.Context, *VacuumVolumeRequest) (*VacuumVolumeResponse, error)
+ VolumeMarkReadonly(context.Context, *VolumeMarkReadonlyRequest) (*VolumeMarkReadonlyResponse, error)
+ VolumeMarkWritable(context.Context, *VolumeMarkWritableRequest) (*VolumeMarkWritableResponse, error)
GetMasterConfiguration(context.Context, *GetMasterConfigurationRequest) (*GetMasterConfigurationResponse, error)
ListClusterNodes(context.Context, *ListClusterNodesRequest) (*ListClusterNodesResponse, error)
LeaseAdminToken(context.Context, *LeaseAdminTokenRequest) (*LeaseAdminTokenResponse, error)
@@ -315,6 +333,12 @@ func (UnimplementedSeaweedServer) LookupEcVolume(context.Context, *LookupEcVolum
func (UnimplementedSeaweedServer) VacuumVolume(context.Context, *VacuumVolumeRequest) (*VacuumVolumeResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method VacuumVolume not implemented")
}
+func (UnimplementedSeaweedServer) VolumeMarkReadonly(context.Context, *VolumeMarkReadonlyRequest) (*VolumeMarkReadonlyResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method VolumeMarkReadonly not implemented")
+}
+func (UnimplementedSeaweedServer) VolumeMarkWritable(context.Context, *VolumeMarkWritableRequest) (*VolumeMarkWritableResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method VolumeMarkWritable not implemented")
+}
func (UnimplementedSeaweedServer) GetMasterConfiguration(context.Context, *GetMasterConfigurationRequest) (*GetMasterConfigurationResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetMasterConfiguration not implemented")
}
@@ -548,6 +572,42 @@ func _Seaweed_VacuumVolume_Handler(srv interface{}, ctx context.Context, dec fun
return interceptor(ctx, in, info, handler)
}
+func _Seaweed_VolumeMarkReadonly_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(VolumeMarkReadonlyRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(SeaweedServer).VolumeMarkReadonly(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/master_pb.Seaweed/VolumeMarkReadonly",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(SeaweedServer).VolumeMarkReadonly(ctx, req.(*VolumeMarkReadonlyRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Seaweed_VolumeMarkWritable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(VolumeMarkWritableRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(SeaweedServer).VolumeMarkWritable(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/master_pb.Seaweed/VolumeMarkWritable",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(SeaweedServer).VolumeMarkWritable(ctx, req.(*VolumeMarkWritableRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
func _Seaweed_GetMasterConfiguration_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetMasterConfigurationRequest)
if err := dec(in); err != nil {
@@ -732,6 +792,14 @@ var Seaweed_ServiceDesc = grpc.ServiceDesc{
Handler: _Seaweed_VacuumVolume_Handler,
},
{
+ MethodName: "VolumeMarkReadonly",
+ Handler: _Seaweed_VolumeMarkReadonly_Handler,
+ },
+ {
+ MethodName: "VolumeMarkWritable",
+ Handler: _Seaweed_VolumeMarkWritable_Handler,
+ },
+ {
MethodName: "GetMasterConfiguration",
Handler: _Seaweed_GetMasterConfiguration_Handler,
},
diff --git a/weed/server/volume_grpc_admin.go b/weed/server/volume_grpc_admin.go
index aace63fd8..34babe6b2 100644
--- a/weed/server/volume_grpc_admin.go
+++ b/weed/server/volume_grpc_admin.go
@@ -148,6 +148,19 @@ func (vs *VolumeServer) VolumeMarkReadonly(ctx context.Context, req *volume_serv
resp := &volume_server_pb.VolumeMarkReadonlyResponse{}
+ if grpcErr := pb.WithMasterClient(false, vs.GetMaster(), vs.grpcDialOption, false, func(client master_pb.SeaweedClient) error {
+ _, err := client.VolumeMarkReadonly(context.Background(), &master_pb.VolumeMarkReadonlyRequest{
+ VolumeId: req.VolumeId,
+ })
+ if err != nil {
+ return fmt.Errorf("set volume %d to read only on master: %v", req.VolumeId, err)
+ }
+ return nil
+ }); grpcErr != nil {
+ glog.V(0).Infof("connect to %s: %v", vs.GetMaster(), grpcErr)
+ return resp, fmt.Errorf("grpc VolumeMarkReadonly with master: %v", vs.GetMaster(), grpcErr)
+ }
+
err := vs.store.MarkVolumeReadonly(needle.VolumeId(req.VolumeId))
if err != nil {
@@ -163,6 +176,19 @@ func (vs *VolumeServer) VolumeMarkWritable(ctx context.Context, req *volume_serv
resp := &volume_server_pb.VolumeMarkWritableResponse{}
+ if grpcErr := pb.WithMasterClient(false, vs.GetMaster(), vs.grpcDialOption, false, func(client master_pb.SeaweedClient) error {
+ _, err := client.VolumeMarkWritable(context.Background(), &master_pb.VolumeMarkWritableRequest{
+ VolumeId: req.VolumeId,
+ })
+ if err != nil {
+ return fmt.Errorf("set volume %d to writable on master: %v", req.VolumeId, err)
+ }
+ return nil
+ }); grpcErr != nil {
+ glog.V(0).Infof("connect to %s: %v", vs.GetMaster(), grpcErr)
+ return resp, fmt.Errorf("grpc VolumeMarkWritable with master: %v", vs.GetMaster(), grpcErr)
+ }
+
err := vs.store.MarkVolumeWritable(needle.VolumeId(req.VolumeId))
if err != nil {