diff --git a/fdbrpc/Locality.cpp b/fdbrpc/Locality.cpp index 42a87f081e..262ebaaa44 100644 --- a/fdbrpc/Locality.cpp +++ b/fdbrpc/Locality.cpp @@ -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: diff --git a/fdbrpc/Locality.h b/fdbrpc/Locality.h index e98b894dd4..ce18a72e49 100644 --- a/fdbrpc/Locality.h +++ b/fdbrpc/Locality.h @@ -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"; } }