Examples of Rebalancer


Examples of org.apache.helix.controller.rebalancer.Rebalancer

        // if ideal state is deleted, use an empty one
        logger.info("resource:" + resourceName + " does not exist anymore");
        idealState = new IdealState(resourceName);
      }

      Rebalancer rebalancer = null;
      MappingCalculator mappingCalculator = null;
      if (idealState.getRebalanceMode() == RebalanceMode.USER_DEFINED
          && idealState.getRebalancerClassName() != null) {
        String rebalancerClassName = idealState.getRebalancerClassName();
        logger
            .info("resource " + resourceName + " use idealStateRebalancer " + rebalancerClassName);
        try {
          rebalancer =
              (Rebalancer) (HelixUtil.loadClass(getClass(), rebalancerClassName).newInstance());
          mappingCalculator = new SemiAutoRebalancer();
        } catch (Exception e) {
          logger.warn("Exception while invoking custom rebalancer class:" + rebalancerClassName, e);
        }
      }
      if (rebalancer == null) {
        if (idealState.getRebalanceMode() == RebalanceMode.FULL_AUTO) {
          rebalancer = new AutoRebalancer();
          mappingCalculator = new AutoRebalancer();
        } else if (idealState.getRebalanceMode() == RebalanceMode.SEMI_AUTO) {
          rebalancer = new SemiAutoRebalancer();
          mappingCalculator = new SemiAutoRebalancer();
        } else {
          rebalancer = new CustomRebalancer();
          mappingCalculator = new CustomRebalancer();
        }
        idealState =
            rebalancer.computeNewIdealState(resourceName, idealState, currentStateOutput, cache);
      }

      // Use the internal MappingCalculator interface to compute the final assignment
      // The next release will support rebalancers that compute the mapping from start to finish
      if (mappingCalculator != null) {
View Full Code Here

Examples of org.apache.helix.controller.rebalancer.Rebalancer

      if (currentIdealState.getRebalanceMode() == RebalanceMode.USER_DEFINED
          && currentIdealState.getRebalancerClassName() != null) {
        String rebalancerClassName = currentIdealState.getRebalancerClassName();
        LOG.info("resource " + resourceName + " use idealStateRebalancer " + rebalancerClassName);
        try {
          Rebalancer balancer =
              (Rebalancer) (HelixUtil.loadClass(getClass(), rebalancerClassName).newInstance());
          balancer.init(manager);
          IdealState newIdealState =
              balancer.computeNewIdealState(resourceName, idealStateMap.get(resourceName),
                  currentStateOutput, cache);
          updatedIdealStates.put(resourceName, newIdealState);
        } catch (Exception e) {
          LOG.error("Exception while invoking custom rebalancer class:" + rebalancerClassName, e);
        }
View Full Code Here

Examples of org.apache.helix.controller.rebalancer.Rebalancer

        logger.info("resource:" + resourceName + " does not exist anymore");
        idealState = new IdealState(resourceName);
        idealState.setStateModelDefRef(resource.getStateModelDefRef());
      }

      Rebalancer rebalancer = null;
      MappingCalculator mappingCalculator = null;
      switch (idealState.getRebalanceMode()) {
      case FULL_AUTO:
        AutoRebalancer autoRebalancer = new AutoRebalancer();
        rebalancer = autoRebalancer;
        mappingCalculator = autoRebalancer;
        break;
      case SEMI_AUTO:
        SemiAutoRebalancer semiAutoRebalancer = new SemiAutoRebalancer();
        rebalancer = semiAutoRebalancer;
        mappingCalculator = semiAutoRebalancer;
        break;
      case CUSTOMIZED:
        CustomRebalancer customRebalancer = new CustomRebalancer();
        rebalancer = customRebalancer;
        mappingCalculator = customRebalancer;
        break;
      case USER_DEFINED:
      case TASK:
        String rebalancerClassName = idealState.getRebalancerClassName();
        logger
            .info("resource " + resourceName + " use idealStateRebalancer " + rebalancerClassName);
        try {
          rebalancer =
              Rebalancer.class.cast(HelixUtil.loadClass(getClass(), rebalancerClassName)
                  .newInstance());
        } catch (Exception e) {
          logger.warn("Exception while invoking custom rebalancer class:" + rebalancerClassName, e);
        }
        if (rebalancer != null) {
          try {
            mappingCalculator = MappingCalculator.class.cast(rebalancer);
          } catch (ClassCastException e) {
            logger.info("Rebalancer does not have a mapping calculator, defaulting to SEMI_AUTO");
          }
        }
        if (mappingCalculator == null) {
          mappingCalculator = new SemiAutoRebalancer();
        }
        break;
      default:
        break;
      }
      if (rebalancer != null && mappingCalculator != null) {
        try {
          HelixManager manager = event.getAttribute("helixmanager");
          rebalancer.init(manager);
          idealState =
              rebalancer.computeNewIdealState(resourceName, idealState, currentStateOutput, cache);

          // Use the internal MappingCalculator interface to compute the final assignment
          // The next release will support rebalancers that compute the mapping from start to finish
          ResourceAssignment partitionStateAssignment =
              mappingCalculator.computeBestPossiblePartitionState(cache, idealState, resource,
View Full Code Here

Examples of org.apache.helix.controller.rebalancer.Rebalancer

      {
        String rebalancerClassName = currentIdealState.getRebalancerClassName();
        LOG.info("resource " + resourceName + " use idealStateRebalancer " + rebalancerClassName);
        try
        {
          Rebalancer balancer = (Rebalancer) (Class.forName(rebalancerClassName).newInstance());
          balancer.init(manager);
          IdealState newIdealState = balancer.computeNewIdealState(resourceName, idealStateMap.get(resourceName), currentStateOutput, cache);
          updatedIdealStates.put(resourceName, newIdealState);
        }
        catch(Exception e)
        {
          LOG.error("Exception while invoking custom rebalancer class:" + rebalancerClassName , e);
View Full Code Here

Examples of voldemort.server.rebalance.Rebalancer

                                                                 .setPreferredWrites(1)
                                                                 .setRequiredWrites(1)
                                                                 .build();

        metadataStore = new MetadataStore(innerStore, 0);
        rebalancer = new Rebalancer(null, metadataStore, null, null);

    }
View Full Code Here

Examples of voldemort.server.rebalance.Rebalancer

        services.add(storageService);
        services.add(scheduler);
        services.add(asyncService);

        if(voldemortConfig.isAdminServerEnabled()) {
            Rebalancer rebalancer = null;
            if(voldemortConfig.isEnableRebalanceService()) {
                RebalancerService rebalancerService = new RebalancerService(storeRepository,
                                                                            metadata,
                                                                            voldemortConfig,
                                                                            asyncService,
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.