diff --git a/weed/pb/worker.proto b/weed/pb/worker.proto index 18cd78219..b3d0047f2 100644 --- a/weed/pb/worker.proto +++ b/weed/pb/worker.proto @@ -292,12 +292,21 @@ message TaskPolicy { // Typed task-specific configuration (replaces generic map) oneof task_config { - EcVacuumTaskConfig ec_vacuum_config = 5; + ErasureCodingTaskConfig erasure_coding_config = 5; + EcVacuumTaskConfig ec_vacuum_config = 6; } } // Task-specific configuration messages +// ErasureCodingTaskConfig contains EC-specific configuration +message ErasureCodingTaskConfig { + double fullness_ratio = 1; // Minimum fullness ratio to trigger EC (0.0-1.0) + int32 quiet_for_seconds = 2; // Minimum quiet time before EC + int32 min_volume_size_mb = 3; // Minimum volume size for EC + string collection_filter = 4; // Only process volumes from specific collections +} + // EcVacuumTaskConfig contains EC vacuum-specific configuration message EcVacuumTaskConfig { double deletion_threshold = 1; // Minimum deletion ratio to trigger vacuum (0.0-1.0) diff --git a/weed/pb/worker_pb/worker.pb.go b/weed/pb/worker_pb/worker.pb.go index 02cbe3312..3cc0adab9 100644 --- a/weed/pb/worker_pb/worker.pb.go +++ b/weed/pb/worker_pb/worker.pb.go @@ -2383,10 +2383,7 @@ type TaskPolicy struct { // // Types that are valid to be assigned to TaskConfig: // - // *TaskPolicy_VacuumConfig // *TaskPolicy_ErasureCodingConfig - // *TaskPolicy_BalanceConfig - // *TaskPolicy_ReplicationConfig // *TaskPolicy_EcVacuumConfig TaskConfig isTaskPolicy_TaskConfig `protobuf_oneof:"task_config"` unknownFields protoimpl.UnknownFields @@ -2458,15 +2455,6 @@ func (x *TaskPolicy) GetTaskConfig() isTaskPolicy_TaskConfig { return nil } -func (x *TaskPolicy) GetVacuumConfig() *VacuumTaskConfig { - if x != nil { - if x, ok := x.TaskConfig.(*TaskPolicy_VacuumConfig); ok { - return x.VacuumConfig - } - } - return nil -} - func (x *TaskPolicy) GetErasureCodingConfig() *ErasureCodingTaskConfig { if x != nil { if x, ok := x.TaskConfig.(*TaskPolicy_ErasureCodingConfig); ok { @@ -2476,24 +2464,6 @@ func (x *TaskPolicy) GetErasureCodingConfig() *ErasureCodingTaskConfig { return nil } -func (x *TaskPolicy) GetBalanceConfig() *BalanceTaskConfig { - if x != nil { - if x, ok := x.TaskConfig.(*TaskPolicy_BalanceConfig); ok { - return x.BalanceConfig - } - } - return nil -} - -func (x *TaskPolicy) GetReplicationConfig() *ReplicationTaskConfig { - if x != nil { - if x, ok := x.TaskConfig.(*TaskPolicy_ReplicationConfig); ok { - return x.ReplicationConfig - } - } - return nil -} - func (x *TaskPolicy) GetEcVacuumConfig() *EcVacuumTaskConfig { if x != nil { if x, ok := x.TaskConfig.(*TaskPolicy_EcVacuumConfig); ok { @@ -2507,97 +2477,18 @@ type isTaskPolicy_TaskConfig interface { isTaskPolicy_TaskConfig() } -type TaskPolicy_VacuumConfig struct { - VacuumConfig *VacuumTaskConfig `protobuf:"bytes,5,opt,name=vacuum_config,json=vacuumConfig,proto3,oneof"` -} - type TaskPolicy_ErasureCodingConfig struct { - ErasureCodingConfig *ErasureCodingTaskConfig `protobuf:"bytes,6,opt,name=erasure_coding_config,json=erasureCodingConfig,proto3,oneof"` -} - -type TaskPolicy_BalanceConfig struct { - BalanceConfig *BalanceTaskConfig `protobuf:"bytes,7,opt,name=balance_config,json=balanceConfig,proto3,oneof"` -} - -type TaskPolicy_ReplicationConfig struct { - ReplicationConfig *ReplicationTaskConfig `protobuf:"bytes,8,opt,name=replication_config,json=replicationConfig,proto3,oneof"` + ErasureCodingConfig *ErasureCodingTaskConfig `protobuf:"bytes,5,opt,name=erasure_coding_config,json=erasureCodingConfig,proto3,oneof"` } type TaskPolicy_EcVacuumConfig struct { - EcVacuumConfig *EcVacuumTaskConfig `protobuf:"bytes,9,opt,name=ec_vacuum_config,json=ecVacuumConfig,proto3,oneof"` + EcVacuumConfig *EcVacuumTaskConfig `protobuf:"bytes,6,opt,name=ec_vacuum_config,json=ecVacuumConfig,proto3,oneof"` } -func (*TaskPolicy_VacuumConfig) isTaskPolicy_TaskConfig() {} - func (*TaskPolicy_ErasureCodingConfig) isTaskPolicy_TaskConfig() {} -func (*TaskPolicy_BalanceConfig) isTaskPolicy_TaskConfig() {} - -func (*TaskPolicy_ReplicationConfig) isTaskPolicy_TaskConfig() {} - func (*TaskPolicy_EcVacuumConfig) isTaskPolicy_TaskConfig() {} -// VacuumTaskConfig contains vacuum-specific configuration -type VacuumTaskConfig struct { - state protoimpl.MessageState `protogen:"open.v1"` - GarbageThreshold float64 `protobuf:"fixed64,1,opt,name=garbage_threshold,json=garbageThreshold,proto3" json:"garbage_threshold,omitempty"` // Minimum garbage ratio to trigger vacuum (0.0-1.0) - MinVolumeAgeHours int32 `protobuf:"varint,2,opt,name=min_volume_age_hours,json=minVolumeAgeHours,proto3" json:"min_volume_age_hours,omitempty"` // Minimum age before vacuum is considered - MinIntervalSeconds int32 `protobuf:"varint,3,opt,name=min_interval_seconds,json=minIntervalSeconds,proto3" json:"min_interval_seconds,omitempty"` // Minimum time between vacuum operations on the same volume - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *VacuumTaskConfig) Reset() { - *x = VacuumTaskConfig{} - mi := &file_worker_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *VacuumTaskConfig) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VacuumTaskConfig) ProtoMessage() {} - -func (x *VacuumTaskConfig) ProtoReflect() protoreflect.Message { - mi := &file_worker_proto_msgTypes[27] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use VacuumTaskConfig.ProtoReflect.Descriptor instead. -func (*VacuumTaskConfig) Descriptor() ([]byte, []int) { - return file_worker_proto_rawDescGZIP(), []int{27} -} - -func (x *VacuumTaskConfig) GetGarbageThreshold() float64 { - if x != nil { - return x.GarbageThreshold - } - return 0 -} - -func (x *VacuumTaskConfig) GetMinVolumeAgeHours() int32 { - if x != nil { - return x.MinVolumeAgeHours - } - return 0 -} - -func (x *VacuumTaskConfig) GetMinIntervalSeconds() int32 { - if x != nil { - return x.MinIntervalSeconds - } - return 0 -} - // ErasureCodingTaskConfig contains EC-specific configuration type ErasureCodingTaskConfig struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -2611,7 +2502,7 @@ type ErasureCodingTaskConfig struct { func (x *ErasureCodingTaskConfig) Reset() { *x = ErasureCodingTaskConfig{} - mi := &file_worker_proto_msgTypes[28] + mi := &file_worker_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2623,7 +2514,7 @@ func (x *ErasureCodingTaskConfig) String() string { func (*ErasureCodingTaskConfig) ProtoMessage() {} func (x *ErasureCodingTaskConfig) ProtoReflect() protoreflect.Message { - mi := &file_worker_proto_msgTypes[28] + mi := &file_worker_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2636,7 +2527,7 @@ func (x *ErasureCodingTaskConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ErasureCodingTaskConfig.ProtoReflect.Descriptor instead. func (*ErasureCodingTaskConfig) Descriptor() ([]byte, []int) { - return file_worker_proto_rawDescGZIP(), []int{28} + return file_worker_proto_rawDescGZIP(), []int{27} } func (x *ErasureCodingTaskConfig) GetFullnessRatio() float64 { @@ -2667,104 +2558,6 @@ func (x *ErasureCodingTaskConfig) GetCollectionFilter() string { return "" } -// BalanceTaskConfig contains balance-specific configuration -type BalanceTaskConfig struct { - state protoimpl.MessageState `protogen:"open.v1"` - ImbalanceThreshold float64 `protobuf:"fixed64,1,opt,name=imbalance_threshold,json=imbalanceThreshold,proto3" json:"imbalance_threshold,omitempty"` // Threshold for triggering rebalancing (0.0-1.0) - MinServerCount int32 `protobuf:"varint,2,opt,name=min_server_count,json=minServerCount,proto3" json:"min_server_count,omitempty"` // Minimum number of servers required for balancing - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *BalanceTaskConfig) Reset() { - *x = BalanceTaskConfig{} - mi := &file_worker_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *BalanceTaskConfig) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BalanceTaskConfig) ProtoMessage() {} - -func (x *BalanceTaskConfig) ProtoReflect() protoreflect.Message { - mi := &file_worker_proto_msgTypes[29] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BalanceTaskConfig.ProtoReflect.Descriptor instead. -func (*BalanceTaskConfig) Descriptor() ([]byte, []int) { - return file_worker_proto_rawDescGZIP(), []int{29} -} - -func (x *BalanceTaskConfig) GetImbalanceThreshold() float64 { - if x != nil { - return x.ImbalanceThreshold - } - return 0 -} - -func (x *BalanceTaskConfig) GetMinServerCount() int32 { - if x != nil { - return x.MinServerCount - } - return 0 -} - -// ReplicationTaskConfig contains replication-specific configuration -type ReplicationTaskConfig struct { - state protoimpl.MessageState `protogen:"open.v1"` - TargetReplicaCount int32 `protobuf:"varint,1,opt,name=target_replica_count,json=targetReplicaCount,proto3" json:"target_replica_count,omitempty"` // Target number of replicas - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *ReplicationTaskConfig) Reset() { - *x = ReplicationTaskConfig{} - mi := &file_worker_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ReplicationTaskConfig) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ReplicationTaskConfig) ProtoMessage() {} - -func (x *ReplicationTaskConfig) ProtoReflect() protoreflect.Message { - mi := &file_worker_proto_msgTypes[30] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ReplicationTaskConfig.ProtoReflect.Descriptor instead. -func (*ReplicationTaskConfig) Descriptor() ([]byte, []int) { - return file_worker_proto_rawDescGZIP(), []int{30} -} - -func (x *ReplicationTaskConfig) GetTargetReplicaCount() int32 { - if x != nil { - return x.TargetReplicaCount - } - return 0 -} - // EcVacuumTaskConfig contains EC vacuum-specific configuration type EcVacuumTaskConfig struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -2778,7 +2571,7 @@ type EcVacuumTaskConfig struct { func (x *EcVacuumTaskConfig) Reset() { *x = EcVacuumTaskConfig{} - mi := &file_worker_proto_msgTypes[31] + mi := &file_worker_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2790,7 +2583,7 @@ func (x *EcVacuumTaskConfig) String() string { func (*EcVacuumTaskConfig) ProtoMessage() {} func (x *EcVacuumTaskConfig) ProtoReflect() protoreflect.Message { - mi := &file_worker_proto_msgTypes[31] + mi := &file_worker_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2803,7 +2596,7 @@ func (x *EcVacuumTaskConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use EcVacuumTaskConfig.ProtoReflect.Descriptor instead. func (*EcVacuumTaskConfig) Descriptor() ([]byte, []int) { - return file_worker_proto_rawDescGZIP(), []int{31} + return file_worker_proto_rawDescGZIP(), []int{28} } func (x *EcVacuumTaskConfig) GetDeletionThreshold() float64 { @@ -2868,7 +2661,7 @@ type MaintenanceTaskData struct { func (x *MaintenanceTaskData) Reset() { *x = MaintenanceTaskData{} - mi := &file_worker_proto_msgTypes[32] + mi := &file_worker_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2880,7 +2673,7 @@ func (x *MaintenanceTaskData) String() string { func (*MaintenanceTaskData) ProtoMessage() {} func (x *MaintenanceTaskData) ProtoReflect() protoreflect.Message { - mi := &file_worker_proto_msgTypes[32] + mi := &file_worker_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2893,7 +2686,7 @@ func (x *MaintenanceTaskData) ProtoReflect() protoreflect.Message { // Deprecated: Use MaintenanceTaskData.ProtoReflect.Descriptor instead. func (*MaintenanceTaskData) Descriptor() ([]byte, []int) { - return file_worker_proto_rawDescGZIP(), []int{32} + return file_worker_proto_rawDescGZIP(), []int{29} } func (x *MaintenanceTaskData) GetId() string { @@ -3078,7 +2871,7 @@ type TaskAssignmentRecord struct { func (x *TaskAssignmentRecord) Reset() { *x = TaskAssignmentRecord{} - mi := &file_worker_proto_msgTypes[33] + mi := &file_worker_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3090,7 +2883,7 @@ func (x *TaskAssignmentRecord) String() string { func (*TaskAssignmentRecord) ProtoMessage() {} func (x *TaskAssignmentRecord) ProtoReflect() protoreflect.Message { - mi := &file_worker_proto_msgTypes[33] + mi := &file_worker_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3103,7 +2896,7 @@ func (x *TaskAssignmentRecord) ProtoReflect() protoreflect.Message { // Deprecated: Use TaskAssignmentRecord.ProtoReflect.Descriptor instead. func (*TaskAssignmentRecord) Descriptor() ([]byte, []int) { - return file_worker_proto_rawDescGZIP(), []int{33} + return file_worker_proto_rawDescGZIP(), []int{30} } func (x *TaskAssignmentRecord) GetWorkerId() string { @@ -3155,7 +2948,7 @@ type TaskCreationMetrics struct { func (x *TaskCreationMetrics) Reset() { *x = TaskCreationMetrics{} - mi := &file_worker_proto_msgTypes[34] + mi := &file_worker_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3167,7 +2960,7 @@ func (x *TaskCreationMetrics) String() string { func (*TaskCreationMetrics) ProtoMessage() {} func (x *TaskCreationMetrics) ProtoReflect() protoreflect.Message { - mi := &file_worker_proto_msgTypes[34] + mi := &file_worker_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3180,7 +2973,7 @@ func (x *TaskCreationMetrics) ProtoReflect() protoreflect.Message { // Deprecated: Use TaskCreationMetrics.ProtoReflect.Descriptor instead. func (*TaskCreationMetrics) Descriptor() ([]byte, []int) { - return file_worker_proto_rawDescGZIP(), []int{34} + return file_worker_proto_rawDescGZIP(), []int{31} } func (x *TaskCreationMetrics) GetTriggerMetric() string { @@ -3237,7 +3030,7 @@ type VolumeHealthMetrics struct { func (x *VolumeHealthMetrics) Reset() { *x = VolumeHealthMetrics{} - mi := &file_worker_proto_msgTypes[35] + mi := &file_worker_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3249,7 +3042,7 @@ func (x *VolumeHealthMetrics) String() string { func (*VolumeHealthMetrics) ProtoMessage() {} func (x *VolumeHealthMetrics) ProtoReflect() protoreflect.Message { - mi := &file_worker_proto_msgTypes[35] + mi := &file_worker_proto_msgTypes[32] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3262,7 +3055,7 @@ func (x *VolumeHealthMetrics) ProtoReflect() protoreflect.Message { // Deprecated: Use VolumeHealthMetrics.ProtoReflect.Descriptor instead. func (*VolumeHealthMetrics) Descriptor() ([]byte, []int) { - return file_worker_proto_rawDescGZIP(), []int{35} + return file_worker_proto_rawDescGZIP(), []int{32} } func (x *VolumeHealthMetrics) GetTotalSize() uint64 { @@ -3347,7 +3140,7 @@ type TaskStateFile struct { func (x *TaskStateFile) Reset() { *x = TaskStateFile{} - mi := &file_worker_proto_msgTypes[36] + mi := &file_worker_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3359,7 +3152,7 @@ func (x *TaskStateFile) String() string { func (*TaskStateFile) ProtoMessage() {} func (x *TaskStateFile) ProtoReflect() protoreflect.Message { - mi := &file_worker_proto_msgTypes[36] + mi := &file_worker_proto_msgTypes[33] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3372,7 +3165,7 @@ func (x *TaskStateFile) ProtoReflect() protoreflect.Message { // Deprecated: Use TaskStateFile.ProtoReflect.Descriptor instead. func (*TaskStateFile) Descriptor() ([]byte, []int) { - return file_worker_proto_rawDescGZIP(), []int{36} + return file_worker_proto_rawDescGZIP(), []int{33} } func (x *TaskStateFile) GetTask() *MaintenanceTaskData { @@ -3629,33 +3422,21 @@ const file_worker_proto_rawDesc = "" + "\x1edefault_check_interval_seconds\x18\x04 \x01(\x05R\x1bdefaultCheckIntervalSeconds\x1aV\n" + "\x11TaskPoliciesEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12+\n" + - "\x05value\x18\x02 \x01(\v2\x15.worker_pb.TaskPolicyR\x05value:\x028\x01\"\xcd\x04\n" + + "\x05value\x18\x02 \x01(\v2\x15.worker_pb.TaskPolicyR\x05value:\x028\x01\"\xef\x02\n" + "\n" + "TaskPolicy\x12\x18\n" + "\aenabled\x18\x01 \x01(\bR\aenabled\x12%\n" + "\x0emax_concurrent\x18\x02 \x01(\x05R\rmaxConcurrent\x126\n" + "\x17repeat_interval_seconds\x18\x03 \x01(\x05R\x15repeatIntervalSeconds\x124\n" + - "\x16check_interval_seconds\x18\x04 \x01(\x05R\x14checkIntervalSeconds\x12B\n" + - "\rvacuum_config\x18\x05 \x01(\v2\x1b.worker_pb.VacuumTaskConfigH\x00R\fvacuumConfig\x12X\n" + - "\x15erasure_coding_config\x18\x06 \x01(\v2\".worker_pb.ErasureCodingTaskConfigH\x00R\x13erasureCodingConfig\x12E\n" + - "\x0ebalance_config\x18\a \x01(\v2\x1c.worker_pb.BalanceTaskConfigH\x00R\rbalanceConfig\x12Q\n" + - "\x12replication_config\x18\b \x01(\v2 .worker_pb.ReplicationTaskConfigH\x00R\x11replicationConfig\x12I\n" + - "\x10ec_vacuum_config\x18\t \x01(\v2\x1d.worker_pb.EcVacuumTaskConfigH\x00R\x0eecVacuumConfigB\r\n" + - "\vtask_config\"\xa2\x01\n" + - "\x10VacuumTaskConfig\x12+\n" + - "\x11garbage_threshold\x18\x01 \x01(\x01R\x10garbageThreshold\x12/\n" + - "\x14min_volume_age_hours\x18\x02 \x01(\x05R\x11minVolumeAgeHours\x120\n" + - "\x14min_interval_seconds\x18\x03 \x01(\x05R\x12minIntervalSeconds\"\xc6\x01\n" + + "\x16check_interval_seconds\x18\x04 \x01(\x05R\x14checkIntervalSeconds\x12X\n" + + "\x15erasure_coding_config\x18\x05 \x01(\v2\".worker_pb.ErasureCodingTaskConfigH\x00R\x13erasureCodingConfig\x12I\n" + + "\x10ec_vacuum_config\x18\x06 \x01(\v2\x1d.worker_pb.EcVacuumTaskConfigH\x00R\x0eecVacuumConfigB\r\n" + + "\vtask_config\"\xc6\x01\n" + "\x17ErasureCodingTaskConfig\x12%\n" + "\x0efullness_ratio\x18\x01 \x01(\x01R\rfullnessRatio\x12*\n" + "\x11quiet_for_seconds\x18\x02 \x01(\x05R\x0fquietForSeconds\x12+\n" + "\x12min_volume_size_mb\x18\x03 \x01(\x05R\x0fminVolumeSizeMb\x12+\n" + - "\x11collection_filter\x18\x04 \x01(\tR\x10collectionFilter\"n\n" + - "\x11BalanceTaskConfig\x12/\n" + - "\x13imbalance_threshold\x18\x01 \x01(\x01R\x12imbalanceThreshold\x12(\n" + - "\x10min_server_count\x18\x02 \x01(\x05R\x0eminServerCount\"I\n" + - "\x15ReplicationTaskConfig\x120\n" + - "\x14target_replica_count\x18\x01 \x01(\x05R\x12targetReplicaCount\"\xc5\x01\n" + + "\x11collection_filter\x18\x04 \x01(\tR\x10collectionFilter\"\xc5\x01\n" + "\x12EcVacuumTaskConfig\x12-\n" + "\x12deletion_threshold\x18\x01 \x01(\x01R\x11deletionThreshold\x123\n" + "\x16min_volume_age_seconds\x18\x02 \x01(\x05R\x13minVolumeAgeSeconds\x12+\n" + @@ -3749,7 +3530,7 @@ func file_worker_proto_rawDescGZIP() []byte { return file_worker_proto_rawDescData } -var file_worker_proto_msgTypes = make([]protoimpl.MessageInfo, 46) +var file_worker_proto_msgTypes = make([]protoimpl.MessageInfo, 43) var file_worker_proto_goTypes = []any{ (*WorkerMessage)(nil), // 0: worker_pb.WorkerMessage (*AdminMessage)(nil), // 1: worker_pb.AdminMessage @@ -3778,25 +3559,22 @@ var file_worker_proto_goTypes = []any{ (*MaintenanceConfig)(nil), // 24: worker_pb.MaintenanceConfig (*MaintenancePolicy)(nil), // 25: worker_pb.MaintenancePolicy (*TaskPolicy)(nil), // 26: worker_pb.TaskPolicy - (*VacuumTaskConfig)(nil), // 27: worker_pb.VacuumTaskConfig - (*ErasureCodingTaskConfig)(nil), // 28: worker_pb.ErasureCodingTaskConfig - (*BalanceTaskConfig)(nil), // 29: worker_pb.BalanceTaskConfig - (*ReplicationTaskConfig)(nil), // 30: worker_pb.ReplicationTaskConfig - (*EcVacuumTaskConfig)(nil), // 31: worker_pb.EcVacuumTaskConfig - (*MaintenanceTaskData)(nil), // 32: worker_pb.MaintenanceTaskData - (*TaskAssignmentRecord)(nil), // 33: worker_pb.TaskAssignmentRecord - (*TaskCreationMetrics)(nil), // 34: worker_pb.TaskCreationMetrics - (*VolumeHealthMetrics)(nil), // 35: worker_pb.VolumeHealthMetrics - (*TaskStateFile)(nil), // 36: worker_pb.TaskStateFile - nil, // 37: worker_pb.WorkerRegistration.MetadataEntry - nil, // 38: worker_pb.TaskAssignment.MetadataEntry - nil, // 39: worker_pb.TaskUpdate.MetadataEntry - nil, // 40: worker_pb.TaskComplete.ResultMetadataEntry - nil, // 41: worker_pb.TaskLogMetadata.CustomDataEntry - nil, // 42: worker_pb.TaskLogEntry.FieldsEntry - nil, // 43: worker_pb.MaintenancePolicy.TaskPoliciesEntry - nil, // 44: worker_pb.MaintenanceTaskData.TagsEntry - nil, // 45: worker_pb.TaskCreationMetrics.AdditionalDataEntry + (*ErasureCodingTaskConfig)(nil), // 27: worker_pb.ErasureCodingTaskConfig + (*EcVacuumTaskConfig)(nil), // 28: worker_pb.EcVacuumTaskConfig + (*MaintenanceTaskData)(nil), // 29: worker_pb.MaintenanceTaskData + (*TaskAssignmentRecord)(nil), // 30: worker_pb.TaskAssignmentRecord + (*TaskCreationMetrics)(nil), // 31: worker_pb.TaskCreationMetrics + (*VolumeHealthMetrics)(nil), // 32: worker_pb.VolumeHealthMetrics + (*TaskStateFile)(nil), // 33: worker_pb.TaskStateFile + nil, // 34: worker_pb.WorkerRegistration.MetadataEntry + nil, // 35: worker_pb.TaskAssignment.MetadataEntry + nil, // 36: worker_pb.TaskUpdate.MetadataEntry + nil, // 37: worker_pb.TaskComplete.ResultMetadataEntry + nil, // 38: worker_pb.TaskLogMetadata.CustomDataEntry + nil, // 39: worker_pb.TaskLogEntry.FieldsEntry + nil, // 40: worker_pb.MaintenancePolicy.TaskPoliciesEntry + nil, // 41: worker_pb.MaintenanceTaskData.TagsEntry + nil, // 42: worker_pb.TaskCreationMetrics.AdditionalDataEntry } var file_worker_proto_depIdxs = []int32{ 2, // 0: worker_pb.WorkerMessage.registration:type_name -> worker_pb.WorkerRegistration @@ -3812,43 +3590,40 @@ var file_worker_proto_depIdxs = []int32{ 17, // 10: worker_pb.AdminMessage.task_cancellation:type_name -> worker_pb.TaskCancellation 19, // 11: worker_pb.AdminMessage.admin_shutdown:type_name -> worker_pb.AdminShutdown 20, // 12: worker_pb.AdminMessage.task_log_request:type_name -> worker_pb.TaskLogRequest - 37, // 13: worker_pb.WorkerRegistration.metadata:type_name -> worker_pb.WorkerRegistration.MetadataEntry + 34, // 13: worker_pb.WorkerRegistration.metadata:type_name -> worker_pb.WorkerRegistration.MetadataEntry 8, // 14: worker_pb.TaskAssignment.params:type_name -> worker_pb.TaskParams - 38, // 15: worker_pb.TaskAssignment.metadata:type_name -> worker_pb.TaskAssignment.MetadataEntry + 35, // 15: worker_pb.TaskAssignment.metadata:type_name -> worker_pb.TaskAssignment.MetadataEntry 11, // 16: worker_pb.TaskParams.sources:type_name -> worker_pb.TaskSource 12, // 17: worker_pb.TaskParams.targets:type_name -> worker_pb.TaskTarget 9, // 18: worker_pb.TaskParams.vacuum_params:type_name -> worker_pb.VacuumTaskParams 10, // 19: worker_pb.TaskParams.erasure_coding_params:type_name -> worker_pb.ErasureCodingTaskParams 13, // 20: worker_pb.TaskParams.balance_params:type_name -> worker_pb.BalanceTaskParams 14, // 21: worker_pb.TaskParams.replication_params:type_name -> worker_pb.ReplicationTaskParams - 39, // 22: worker_pb.TaskUpdate.metadata:type_name -> worker_pb.TaskUpdate.MetadataEntry - 40, // 23: worker_pb.TaskComplete.result_metadata:type_name -> worker_pb.TaskComplete.ResultMetadataEntry + 36, // 22: worker_pb.TaskUpdate.metadata:type_name -> worker_pb.TaskUpdate.MetadataEntry + 37, // 23: worker_pb.TaskComplete.result_metadata:type_name -> worker_pb.TaskComplete.ResultMetadataEntry 22, // 24: worker_pb.TaskLogResponse.metadata:type_name -> worker_pb.TaskLogMetadata 23, // 25: worker_pb.TaskLogResponse.log_entries:type_name -> worker_pb.TaskLogEntry - 41, // 26: worker_pb.TaskLogMetadata.custom_data:type_name -> worker_pb.TaskLogMetadata.CustomDataEntry - 42, // 27: worker_pb.TaskLogEntry.fields:type_name -> worker_pb.TaskLogEntry.FieldsEntry + 38, // 26: worker_pb.TaskLogMetadata.custom_data:type_name -> worker_pb.TaskLogMetadata.CustomDataEntry + 39, // 27: worker_pb.TaskLogEntry.fields:type_name -> worker_pb.TaskLogEntry.FieldsEntry 25, // 28: worker_pb.MaintenanceConfig.policy:type_name -> worker_pb.MaintenancePolicy - 43, // 29: worker_pb.MaintenancePolicy.task_policies:type_name -> worker_pb.MaintenancePolicy.TaskPoliciesEntry - 27, // 30: worker_pb.TaskPolicy.vacuum_config:type_name -> worker_pb.VacuumTaskConfig - 28, // 31: worker_pb.TaskPolicy.erasure_coding_config:type_name -> worker_pb.ErasureCodingTaskConfig - 29, // 32: worker_pb.TaskPolicy.balance_config:type_name -> worker_pb.BalanceTaskConfig - 30, // 33: worker_pb.TaskPolicy.replication_config:type_name -> worker_pb.ReplicationTaskConfig - 31, // 34: worker_pb.TaskPolicy.ec_vacuum_config:type_name -> worker_pb.EcVacuumTaskConfig - 8, // 35: worker_pb.MaintenanceTaskData.typed_params:type_name -> worker_pb.TaskParams - 33, // 36: worker_pb.MaintenanceTaskData.assignment_history:type_name -> worker_pb.TaskAssignmentRecord - 44, // 37: worker_pb.MaintenanceTaskData.tags:type_name -> worker_pb.MaintenanceTaskData.TagsEntry - 34, // 38: worker_pb.MaintenanceTaskData.creation_metrics:type_name -> worker_pb.TaskCreationMetrics - 35, // 39: worker_pb.TaskCreationMetrics.volume_metrics:type_name -> worker_pb.VolumeHealthMetrics - 45, // 40: worker_pb.TaskCreationMetrics.additional_data:type_name -> worker_pb.TaskCreationMetrics.AdditionalDataEntry - 32, // 41: worker_pb.TaskStateFile.task:type_name -> worker_pb.MaintenanceTaskData - 26, // 42: worker_pb.MaintenancePolicy.TaskPoliciesEntry.value:type_name -> worker_pb.TaskPolicy - 0, // 43: worker_pb.WorkerService.WorkerStream:input_type -> worker_pb.WorkerMessage - 1, // 44: worker_pb.WorkerService.WorkerStream:output_type -> worker_pb.AdminMessage - 44, // [44:45] is the sub-list for method output_type - 43, // [43:44] is the sub-list for method input_type - 43, // [43:43] is the sub-list for extension type_name - 43, // [43:43] is the sub-list for extension extendee - 0, // [0:43] is the sub-list for field type_name + 40, // 29: worker_pb.MaintenancePolicy.task_policies:type_name -> worker_pb.MaintenancePolicy.TaskPoliciesEntry + 27, // 30: worker_pb.TaskPolicy.erasure_coding_config:type_name -> worker_pb.ErasureCodingTaskConfig + 28, // 31: worker_pb.TaskPolicy.ec_vacuum_config:type_name -> worker_pb.EcVacuumTaskConfig + 8, // 32: worker_pb.MaintenanceTaskData.typed_params:type_name -> worker_pb.TaskParams + 30, // 33: worker_pb.MaintenanceTaskData.assignment_history:type_name -> worker_pb.TaskAssignmentRecord + 41, // 34: worker_pb.MaintenanceTaskData.tags:type_name -> worker_pb.MaintenanceTaskData.TagsEntry + 31, // 35: worker_pb.MaintenanceTaskData.creation_metrics:type_name -> worker_pb.TaskCreationMetrics + 32, // 36: worker_pb.TaskCreationMetrics.volume_metrics:type_name -> worker_pb.VolumeHealthMetrics + 42, // 37: worker_pb.TaskCreationMetrics.additional_data:type_name -> worker_pb.TaskCreationMetrics.AdditionalDataEntry + 29, // 38: worker_pb.TaskStateFile.task:type_name -> worker_pb.MaintenanceTaskData + 26, // 39: worker_pb.MaintenancePolicy.TaskPoliciesEntry.value:type_name -> worker_pb.TaskPolicy + 0, // 40: worker_pb.WorkerService.WorkerStream:input_type -> worker_pb.WorkerMessage + 1, // 41: worker_pb.WorkerService.WorkerStream:output_type -> worker_pb.AdminMessage + 41, // [41:42] is the sub-list for method output_type + 40, // [40:41] is the sub-list for method input_type + 40, // [40:40] is the sub-list for extension type_name + 40, // [40:40] is the sub-list for extension extendee + 0, // [0:40] is the sub-list for field type_name } func init() { file_worker_proto_init() } @@ -3880,10 +3655,7 @@ func file_worker_proto_init() { (*TaskParams_ReplicationParams)(nil), } file_worker_proto_msgTypes[26].OneofWrappers = []any{ - (*TaskPolicy_VacuumConfig)(nil), (*TaskPolicy_ErasureCodingConfig)(nil), - (*TaskPolicy_BalanceConfig)(nil), - (*TaskPolicy_ReplicationConfig)(nil), (*TaskPolicy_EcVacuumConfig)(nil), } type x struct{} @@ -3892,7 +3664,7 @@ func file_worker_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_worker_proto_rawDesc), len(file_worker_proto_rawDesc)), NumEnums: 0, - NumMessages: 46, + NumMessages: 43, NumExtensions: 0, NumServices: 1, },