Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package org.apache.helix.controller.rebalancer;
 
 import java.util.Map;
 import java.util.Set;
 
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
public class CustomRebalancer implements HelixRebalancer {
  private static final Logger LOG = Logger.getLogger(CustomRebalancer.class);
  public void init(HelixManager helixManager) {
    // do nothing
  }
      Cluster clusterResourceCurrentState currentState) {
    CustomRebalancerContext config =
        rebalancerConfig.getRebalancerContext(CustomRebalancerContext.class);
    StateModelDefinition stateModelDef =
        cluster.getStateModelMap().get(config.getStateModelDefId());
    if (.isDebugEnabled()) {
      .debug("Processing resource:" + config.getResourceId());
    }
    ResourceAssignment partitionMapping = new ResourceAssignment(config.getResourceId());
    for (PartitionId partition : config.getPartitionSet()) {
      Map<ParticipantIdStatecurrentStateMap =
          currentState.getCurrentStateMap(config.getResourceId(), partition);
      Set<ParticipantIddisabledInstancesForPartition =
          ConstraintBasedAssignment.getDisabledParticipants(cluster.getParticipantMap(), partition);
      Map<ParticipantIdStatebestStateForPartition =
          ConstraintBasedAssignment.computeCustomizedBestStateForPartition(cluster
              .getLiveParticipantMap().keySet(), stateModelDefconfig.getPreferenceMap(partition),
              currentStateMapdisabledInstancesForPartition);
      partitionMapping.addReplicaMap(partitionbestStateForPartition);
    }
    return partitionMapping;
  }
New to GrepCode? Check out our FAQ X