public static IdealState getTableIdealState(HelixManager manager, String resourceName) { final HelixDataAccessor accessor = manager.getHelixDataAccessor(); final Builder builder = accessor.keyBuilder(); return accessor.getProperty(builder.idealStates(resourceName)); }
/** * Returns the config for all the instances in the cluster. */ public static List<InstanceConfig> getInstanceConfigs(HelixManager helixManager) { HelixDataAccessor helixDataAccessor = helixManager.getHelixDataAccessor(); return helixDataAccessor.getChildValues(helixDataAccessor.keyBuilder().instanceConfigs()); }
/** * Returns all instances for the given cluster. * * @param helixAdmin The HelixAdmin object used to interact with the Helix cluster * @param clusterName Name of the cluster for which to get all the instances for. * @return Returns a List of strings containing the instance names for the given cluster. */ public static List<String> getAllInstances(HelixAdmin helixAdmin, String clusterName) { return helixAdmin.getInstancesInCluster(clusterName); }
@Override public void run() { HelixManager helixManager = _notificationContext.getManager(); HelixDataAccessor helixDataAccessor = helixManager.getHelixDataAccessor(); HelixProperty helixProperty = helixDataAccessor.getProperty( _message.getKey(helixDataAccessor.keyBuilder(), helixManager.getInstanceName())); // The absence of the shutdown message indicates it has been removed if (helixProperty == null) { GobblinTaskRunner.this.stop(); } } }, 0, 1, TimeUnit.SECONDS);
@Override protected CurrentState getState(String resourceName) { PropertyKey.Builder keyBuilder = _helixDataAccessor.keyBuilder(); LiveInstance liveInstance = _helixDataAccessor.getProperty(keyBuilder.liveInstance(_instanceName)); String sessionId = liveInstance.getSessionId(); return _helixDataAccessor.getProperty(keyBuilder.currentState(_instanceName, sessionId, resourceName)); }
public DefaultRebalanceSegmentStrategy(HelixManager helixManager) { _helixManager = helixManager; _helixAdmin = helixManager.getClusterManagmentTool(); _helixClusterName = helixManager.getClusterName(); _propertyStore = helixManager.getHelixPropertyStore(); }
/*** * Build a Helix Manager (Helix Controller instance). * * @param helixInstanceName the Helix Instance name. * @param helixClusterName the Helix Cluster name. * @param zkConnectionString the ZooKeeper connection string. * @return HelixManager */ public static HelixManager buildHelixManager(String helixInstanceName, String helixClusterName, String zkConnectionString) { return HelixManagerFactory.getZKHelixManager(helixClusterName, helixInstanceName, InstanceType.CONTROLLER, zkConnectionString); }
@Override public void close() throws IOException { helixManager.disconnect(); } });
private List<String> getTagsForInstance(String instanceName) { InstanceConfig config = _helixDataAccessor.getProperty(_keyBuilder.instanceConfig(instanceName)); return config.getTags(); }
@Override public Long call() throws Exception { return _helixManager.isConnected() ? 1L : 0L; } });
public BrokerResourceOnlineOfflineStateModelFactory(HelixManager helixManager, ZkHelixPropertyStore<ZNRecord> propertyStore, HelixExternalViewBasedRouting helixExternalViewBasedRouting, TableQueryQuotaManager tableQueryQuotaManager) { _helixManager = helixManager; _propertyStore = propertyStore; _helixAdmin = helixManager.getClusterManagmentTool(); _helixExternalViewBasedRouting = helixExternalViewBasedRouting; _tableQueryQuotaManager = tableQueryQuotaManager; }
public List<String> getOnlineInstanceList() { return _helixDataAccessor.getChildNames(_keyBuilder.liveInstances()); }
private void retagInstance(String instanceName, String oldTag, String newTag) { _helixAdmin.removeInstanceTag(_helixClusterName, instanceName, oldTag); _helixAdmin.addInstanceTag(_helixClusterName, instanceName, newTag); }
/** * Gets the ideal state of the table * @param tableNameWithType Table name with suffix * @return IdealState of tableNameWithType */ public IdealState getTableIdealState(String tableNameWithType) { return _helixAdmin.getResourceIdealState(_helixClusterName, tableNameWithType); }
ControllerLeaderLocator(HelixManager helixManager) { _helixManager = helixManager; _clusterName = helixManager.getClusterName(); }
/** * Gets the external view of the table * @param tableNameWithType Table name with suffix * @return ExternalView of tableNameWithType */ public ExternalView getTableExternalView(String tableNameWithType) { return _helixAdmin.getResourceExternalView(_helixClusterName, tableNameWithType); }
/** * Toggle the state of the instance between OFFLINE and ONLINE. * * @param instanceName Name of the instance for which to toggle the state. * @param clusterName Name of the cluster to which the instance belongs. * @param admin HelixAdmin to access the cluster. * @param enable Set enable to true for ONLINE and FALSE for OFFLINE. */ public static void setInstanceState(String instanceName, String clusterName, HelixAdmin admin, boolean enable) { admin.enableInstance(clusterName, instanceName, enable); }
public ReplicaGroupRebalanceSegmentStrategy(HelixManager helixManager) { _helixManager = helixManager; _helixAdmin = helixManager.getClusterManagmentTool(); _helixClusterName = helixManager.getClusterName(); _propertyStore = helixManager.getHelixPropertyStore(); }
protected IdealState getResourceIdealState(String resourceName) { return _helixAdmin.getResourceIdealState(_clusterName, resourceName); } }
@Override protected ExternalView getState(String resourceName) { return _helixAdmin.getResourceExternalView(_clusterName, resourceName); }