Package org.apache.helix.api

Examples of org.apache.helix.api.Resource


    if (targetResource == null) {
      return allInstances;
    }

    // Bad ideal state means don't assign
    Resource resource = cache.getResource(ResourceId.from(targetResource));
    IdealState idealState = (resource != null) ? resource.getIdealState() : null;
    if (idealState == null) {
      return Collections.emptySet();
    }

    // Get the partitions on the target resource to use
View Full Code Here


  @Override
  protected void init() {
    ClusterId clusterId = getClusterId();
    ClusterAccessor clusterAccessor = getConnection().createClusterAccessor(clusterId);
    ResourceId resourceId = ResourceId.from(_serviceName);
    Resource resource = clusterAccessor.readResource(resourceId);
    UserConfig userConfig = resource.getUserConfig();
    ServiceConfig serviceConfig = new ServiceConfig(Scope.resource(resourceId));
    serviceConfig.setSimpleFields(userConfig.getSimpleFields());
    serviceConfig.setListFields(userConfig.getListFields());
    serviceConfig.setMapFields(userConfig.getMapFields());
    LOG.info("Starting service:" + _serviceName + " with configuration:" + serviceConfig);
View Full Code Here

    Map<ResourceId, Resource> resourceMap = cluster.getResourceMap();
    Assert.assertEquals(resourceMap.size(), 1);

    ResourceId resourceId = ResourceId.from("TestDB0");
    Assert.assertTrue(resourceMap.containsKey(resourceId));
    Resource resource = resourceMap.get(resourceId);
    Assert.assertNotNull(resource.getIdealState());
    Assert.assertEquals(resource.getIdealState().getRebalanceMode(), RebalanceMode.SEMI_AUTO);

    System.out.println("END " + testName + " at " + new Date(System.currentTimeMillis()));
  }
View Full Code Here

        event.getAttribute(AttributeName.BEST_POSSIBLE_STATE.toString());
    Assert.assertNotNull(bestPossibleStateOutput);
    ResourceId resourceId = ResourceId.from("TestDB0");
    ResourceAssignment assignment = bestPossibleStateOutput.getResourceAssignment(resourceId);
    Assert.assertNotNull(assignment);
    Resource resource = cluster.getResource(resourceId);
    verifySemiAutoRebalance(resource, assignment);

    System.out.println("END " + testName + " at " + new Date(System.currentTimeMillis()));
  }
View Full Code Here

    ClusterAccessor clusterAccessor = new ClusterAccessor(_clusterId, _dataAccessor);
    Cluster cluster = clusterAccessor.readCluster();

    ResourceId resourceId = ResourceId.from("TestDB0");
    Resource resource = cluster.getResource(resourceId);
    ResourceCurrentState currentStateOutput = new ResourceCurrentState();
    ResourceAssignment semiAutoResult =
        resource
            .getIdealState()
            .getRebalancerRef()
            .getRebalancer()
            .computeResourceMapping(resource.getIdealState(), resource.getRebalancerConfig(), null,
                cluster, currentStateOutput);
    verifySemiAutoRebalance(resource, semiAutoResult);

    System.out.println("END " + testName + " at " + new Date(System.currentTimeMillis()));
  }
View Full Code Here

        resCfgMap.put(resourceId, csResCfgMap.get(resourceId));
      }
    }

    for (ResourceId resourceId : cluster.getResourceMap().keySet()) {
      Resource resource = cluster.getResource(resourceId);
      RebalancerConfig rebalancerCfg = resource.getRebalancerConfig();

      ResourceConfig.Builder resCfgBuilder = new ResourceConfig.Builder(resourceId);
      resCfgBuilder.schedulerTaskConfig(resource.getSchedulerTaskConfig());
      resCfgBuilder.rebalancerConfig(rebalancerCfg);
      resCfgBuilder.provisionerConfig(resource.getProvisionerConfig());
      resCfgBuilder.idealState(resource.getIdealState());
      resCfgMap.put(resourceId, resCfgBuilder.build());
    }

    event.addAttribute(AttributeName.RESOURCES.toString(), resCfgMap);
  }
View Full Code Here

          event.getAttribute(AttributeName.BEST_POSSIBLE_STATE.toString());
      List<ResourceAssignment> changedAssignments = Lists.newLinkedList();
      List<PropertyKey> changedKeys = Lists.newLinkedList();
      for (ResourceId resourceId : assignments.getAssignedResources()) {
        ResourceAssignment assignment = assignments.getResourceAssignment(resourceId);
        Resource resource = cluster.getResource(resourceId);
        boolean toAdd = false;
        if (resource != null) {
          ResourceAssignment existAssignment = resource.getResourceAssignment();
          if (existAssignment == null || !existAssignment.equals(assignment)) {
            toAdd = true;
          }
        } else {
          toAdd = true;
View Full Code Here

  public void setNumContainers(String appName, String serviceName, int numContainers) {
    ResourceId resourceId = ResourceId.from(serviceName);

    ClusterAccessor clusterAccessor = _connection.createClusterAccessor(ClusterId.from(appName));
    Resource resource = clusterAccessor.readResource(resourceId);
    LOG.info("Current provisioner config:" + resource.getProvisionerConfig());

    ResourceConfig.Delta delta = new ResourceConfig.Delta(resourceId);
    YarnProvisionerConfig config = new YarnProvisionerConfig(resourceId);
    config.setNumContainers(numContainers);
    delta.setProvisionerConfig(config);
    delta.setIdealState(resource.getIdealState());
    ResourceConfig updatedResourceConfig = clusterAccessor.updateResource(resourceId, delta);
    LOG.info("Update provisioner config:" + updatedResourceConfig.getProvisionerConfig());

  }
View Full Code Here

    Map<ParticipantId, Participant> participants = cluster.getParticipantMap();
    builder.append("AppName").append(TAB).append(clusterId).append(NEWLINE);
    Map<ResourceId, Resource> resources = cluster.getResourceMap();
    for (ResourceId resourceId : resources.keySet()) {
      builder.append("SERVICE").append(TAB).append(resourceId).append(NEWLINE);
      Resource resource = resources.get(resourceId);
      Map<ParticipantId, State> serviceStateMap = null;
      if (resource != null) {
        HelixDataAccessor accessor = connection.createDataAccessor(clusterId);
        ExternalView externalView =
            accessor.getProperty(accessor.keyBuilder().externalView(resourceId.stringify()));
        if (externalView != null) {
          serviceStateMap =
              externalView.getStateMap(PartitionId.from(resourceId.stringify() + "_0"));
        }
      }

      builder.append(TAB).append("CONTAINER_NAME").append(TAB).append(TAB)
          .append("CONTAINER_STATE").append(TAB).append("SERVICE_STATE").append(TAB)
          .append("CONTAINER_ID").append(NEWLINE);
      for (Participant participant : participants.values()) {
        // need a better check
        if (!participant.getId().stringify().startsWith(resource.getId().stringify())) {
          continue;
        }
        ContainerConfig containerConfig = participant.getContainerConfig();
        ContainerState containerState = ContainerState.UNDEFINED;
        ContainerId containerId = ContainerId.from("N/A");
View Full Code Here

   * @param resourceDelta changes to the resource
   * @return ResourceConfig, or null if the resource is not persisted
   */
  public ResourceConfig updateResource(ResourceId resourceId, ResourceConfig.Delta resourceDelta) {
    resourceDelta.merge(_accessor);
    Resource resource = readResource(resourceId);
    return (resource != null) ? resource.getConfig() : null;
  }
View Full Code Here

TOP

Related Classes of org.apache.helix.api.Resource

Copyright © 2018 www.massapicom. 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.