Added ProcessClass::CoordinatorClass, which can be used by coordinators, so that coordinators do not have to take on other roles if desired
This commit is contained in:
parent
048bfc5c36
commit
2e0b3a7f1d
|
@ -39,6 +39,8 @@ ProcessClass::Fitness ProcessClass::machineClassFitness( ClusterRole role ) cons
|
|||
return ProcessClass::WorstFit;
|
||||
case ProcessClass::LogClass:
|
||||
return ProcessClass::WorstFit;
|
||||
case ProcessClass::CoordinatorClass:
|
||||
return ProcessClass::NeverAssign;
|
||||
case ProcessClass::TesterClass:
|
||||
return ProcessClass::NeverAssign;
|
||||
default:
|
||||
|
@ -54,6 +56,8 @@ ProcessClass::Fitness ProcessClass::machineClassFitness( ClusterRole role ) cons
|
|||
return ProcessClass::UnsetFit;
|
||||
case ProcessClass::StorageClass:
|
||||
return ProcessClass::WorstFit;
|
||||
case ProcessClass::CoordinatorClass:
|
||||
return ProcessClass::NeverAssign;
|
||||
case ProcessClass::TesterClass:
|
||||
return ProcessClass::NeverAssign;
|
||||
default:
|
||||
|
@ -71,6 +75,8 @@ ProcessClass::Fitness ProcessClass::machineClassFitness( ClusterRole role ) cons
|
|||
return ProcessClass::OkayFit;
|
||||
case ProcessClass::UnsetClass:
|
||||
return ProcessClass::UnsetFit;
|
||||
case ProcessClass::CoordinatorClass:
|
||||
return ProcessClass::NeverAssign;
|
||||
case ProcessClass::TesterClass:
|
||||
return ProcessClass::NeverAssign;
|
||||
default:
|
||||
|
@ -88,6 +94,8 @@ ProcessClass::Fitness ProcessClass::machineClassFitness( ClusterRole role ) cons
|
|||
return ProcessClass::OkayFit;
|
||||
case ProcessClass::UnsetClass:
|
||||
return ProcessClass::UnsetFit;
|
||||
case ProcessClass::CoordinatorClass:
|
||||
return ProcessClass::NeverAssign;
|
||||
case ProcessClass::TesterClass:
|
||||
return ProcessClass::NeverAssign;
|
||||
default:
|
||||
|
@ -103,6 +111,8 @@ ProcessClass::Fitness ProcessClass::machineClassFitness( ClusterRole role ) cons
|
|||
return ProcessClass::OkayFit;
|
||||
case ProcessClass::UnsetClass:
|
||||
return ProcessClass::UnsetFit;
|
||||
case ProcessClass::CoordinatorClass:
|
||||
return ProcessClass::NeverAssign;
|
||||
case ProcessClass::TesterClass:
|
||||
return ProcessClass::NeverAssign;
|
||||
default:
|
||||
|
@ -120,6 +130,8 @@ ProcessClass::Fitness ProcessClass::machineClassFitness( ClusterRole role ) cons
|
|||
return ProcessClass::OkayFit;
|
||||
case ProcessClass::UnsetClass:
|
||||
return ProcessClass::UnsetFit;
|
||||
case ProcessClass::CoordinatorClass:
|
||||
return ProcessClass::NeverAssign;
|
||||
case ProcessClass::TesterClass:
|
||||
return ProcessClass::NeverAssign;
|
||||
default:
|
||||
|
@ -143,6 +155,8 @@ ProcessClass::Fitness ProcessClass::machineClassFitness( ClusterRole role ) cons
|
|||
return ProcessClass::OkayFit;
|
||||
case ProcessClass::UnsetClass:
|
||||
return ProcessClass::UnsetFit;
|
||||
case ProcessClass::CoordinatorClass:
|
||||
return ProcessClass::NeverAssign;
|
||||
case ProcessClass::TesterClass:
|
||||
return ProcessClass::NeverAssign;
|
||||
default:
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
struct ProcessClass {
|
||||
// This enum is stored in restartInfo.ini for upgrade tests, so be very careful about changing the existing items!
|
||||
enum ClassType { UnsetClass, StorageClass, TransactionClass, ResolutionClass, TesterClass, ProxyClass, MasterClass, StatelessClass, LogClass, ClusterControllerClass, LogRouterClass, InvalidClass = -1 };
|
||||
enum ClassType { UnsetClass, StorageClass, TransactionClass, ResolutionClass, TesterClass, ProxyClass, MasterClass, StatelessClass, LogClass, ClusterControllerClass, LogRouterClass, CoordinatorClass, InvalidClass = -1 };
|
||||
enum Fitness { BestFit, GoodFit, UnsetFit, OkayFit, WorstFit, ExcludeFit, NeverAssign }; //cannot be larger than 7 because of leader election mask
|
||||
enum ClusterRole { Storage, TLog, Proxy, Master, Resolver, LogRouter, ClusterController, NoRole };
|
||||
enum ClassSource { CommandLineSource, AutoSource, DBSource, InvalidSource = -1 };
|
||||
|
@ -48,6 +48,7 @@ public:
|
|||
else if (s=="log") _class = LogClass;
|
||||
else if (s=="router") _class = LogRouterClass;
|
||||
else if (s=="cluster_controller") _class = ClusterControllerClass;
|
||||
else if (s=="coordinator") _class = CoordinatorClass;
|
||||
else _class = InvalidClass;
|
||||
}
|
||||
|
||||
|
@ -63,6 +64,7 @@ public:
|
|||
else if (classStr=="log") _class = LogClass;
|
||||
else if (classStr=="router") _class = LogRouterClass;
|
||||
else if (classStr=="cluster_controller") _class = ClusterControllerClass;
|
||||
else if (classStr=="coordinator") _class = CoordinatorClass;
|
||||
else _class = InvalidClass;
|
||||
|
||||
if (sourceStr=="command_line") _source = CommandLineSource;
|
||||
|
@ -93,6 +95,7 @@ public:
|
|||
case LogClass: return "log";
|
||||
case LogRouterClass: return "router";
|
||||
case ClusterControllerClass: return "cluster_controller";
|
||||
case CoordinatorClass: return "coordinator";
|
||||
default: return "invalid";
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue