Search in sources :

Example 1 with RPCCommunicator

use of com.yahoo.vespa.clustercontroller.core.rpc.RPCCommunicator in project vespa by vespa-engine.

the class FleetController method create.

private static FleetController create(FleetControllerOptions options, Timer timer, StatusPageServerInterface statusPageServer, RpcServer rpcServer, MetricReporter metricReporter) throws Exception {
    MetricUpdater metricUpdater = new MetricUpdater(metricReporter, options.fleetControllerIndex);
    EventLog log = new EventLog(timer, metricUpdater);
    ContentCluster cluster = new ContentCluster(options.clusterName, options.nodes, options.storageDistribution, options.minStorageNodesUp, options.minRatioOfStorageNodesUp);
    NodeStateGatherer stateGatherer = new NodeStateGatherer(timer, timer, log);
    Communicator communicator = new RPCCommunicator(RPCCommunicator.createRealSupervisor(), timer, options.fleetControllerIndex, options.nodeStateRequestTimeoutMS, options.nodeStateRequestTimeoutEarliestPercentage, options.nodeStateRequestTimeoutLatestPercentage, options.nodeStateRequestRoundTripTimeMaxSeconds);
    DatabaseHandler database = new DatabaseHandler(timer, options.zooKeeperServerAddress, options.fleetControllerIndex, timer);
    NodeLookup lookUp = new SlobrokClient(timer);
    StateChangeHandler stateGenerator = new StateChangeHandler(timer, log, metricUpdater);
    SystemStateBroadcaster stateBroadcaster = new SystemStateBroadcaster(timer, timer);
    MasterElectionHandler masterElectionHandler = new MasterElectionHandler(options.fleetControllerIndex, options.fleetControllerCount, timer, timer);
    FleetController controller = new FleetController(timer, log, cluster, stateGatherer, communicator, statusPageServer, rpcServer, lookUp, database, stateGenerator, stateBroadcaster, masterElectionHandler, metricUpdater, options);
    controller.start();
    return controller;
}
Also used : RPCCommunicator(com.yahoo.vespa.clustercontroller.core.rpc.RPCCommunicator) RPCCommunicator(com.yahoo.vespa.clustercontroller.core.rpc.RPCCommunicator) SlobrokClient(com.yahoo.vespa.clustercontroller.core.rpc.SlobrokClient) DatabaseHandler(com.yahoo.vespa.clustercontroller.core.database.DatabaseHandler)

Example 2 with RPCCommunicator

use of com.yahoo.vespa.clustercontroller.core.rpc.RPCCommunicator in project vespa by vespa-engine.

the class FleetControllerTest method createFleetController.

protected FleetController createFleetController(boolean useFakeTimer, FleetControllerOptions options, boolean startThread, StatusPageServerInterface status) throws Exception {
    Timer timer = useFakeTimer ? this.timer : new RealTimer();
    MetricUpdater metricUpdater = new MetricUpdater(new NoMetricReporter(), options.fleetControllerIndex);
    EventLog log = new EventLog(timer, metricUpdater);
    ContentCluster cluster = new ContentCluster(options.clusterName, options.nodes, options.storageDistribution, options.minStorageNodesUp, options.minRatioOfStorageNodesUp);
    NodeStateGatherer stateGatherer = new NodeStateGatherer(timer, timer, log);
    Communicator communicator = new RPCCommunicator(RPCCommunicator.createRealSupervisor(), timer, options.fleetControllerIndex, options.nodeStateRequestTimeoutMS, options.nodeStateRequestTimeoutEarliestPercentage, options.nodeStateRequestTimeoutLatestPercentage, options.nodeStateRequestRoundTripTimeMaxSeconds);
    SlobrokClient lookUp = new SlobrokClient(timer);
    lookUp.setSlobrokConnectionSpecs(new String[0]);
    if (status == null) {
        status = new StatusPageServer(timer, timer, options.httpPort);
    }
    RpcServer rpcServer = new RpcServer(timer, timer, options.clusterName, options.fleetControllerIndex, options.slobrokBackOffPolicy);
    DatabaseHandler database = new DatabaseHandler(timer, options.zooKeeperServerAddress, options.fleetControllerIndex, timer);
    StateChangeHandler stateGenerator = new StateChangeHandler(timer, log, metricUpdater);
    SystemStateBroadcaster stateBroadcaster = new SystemStateBroadcaster(timer, timer);
    MasterElectionHandler masterElectionHandler = new MasterElectionHandler(options.fleetControllerIndex, options.fleetControllerCount, timer, timer);
    FleetController controller = new FleetController(timer, log, cluster, stateGatherer, communicator, status, rpcServer, lookUp, database, stateGenerator, stateBroadcaster, masterElectionHandler, metricUpdater, options);
    if (startThread) {
        controller.start();
    }
    return controller;
}
Also used : RPCCommunicator(com.yahoo.vespa.clustercontroller.core.rpc.RPCCommunicator) StatusPageServer(com.yahoo.vespa.clustercontroller.core.status.statuspage.StatusPageServer) RPCCommunicator(com.yahoo.vespa.clustercontroller.core.rpc.RPCCommunicator) SlobrokClient(com.yahoo.vespa.clustercontroller.core.rpc.SlobrokClient) DatabaseHandler(com.yahoo.vespa.clustercontroller.core.database.DatabaseHandler) RpcServer(com.yahoo.vespa.clustercontroller.core.rpc.RpcServer) NoMetricReporter(com.yahoo.vespa.clustercontroller.utils.util.NoMetricReporter)

Aggregations

DatabaseHandler (com.yahoo.vespa.clustercontroller.core.database.DatabaseHandler)2 RPCCommunicator (com.yahoo.vespa.clustercontroller.core.rpc.RPCCommunicator)2 SlobrokClient (com.yahoo.vespa.clustercontroller.core.rpc.SlobrokClient)2 RpcServer (com.yahoo.vespa.clustercontroller.core.rpc.RpcServer)1 StatusPageServer (com.yahoo.vespa.clustercontroller.core.status.statuspage.StatusPageServer)1 NoMetricReporter (com.yahoo.vespa.clustercontroller.utils.util.NoMetricReporter)1