General flow
Default implementations availablemanager = HelixManagerFactory.getManagerForROLE(); ROLE can be participant, spectator or a controller
manager.connect(); manager.addSOMEListener(); After connect the subsequent interactions will be via listener onChange callbacks There will be 3 scenarios for onChange callback, which can be determined using NotificationContext.type INIT -> will be invoked the first time the listener is added CALLBACK -> will be invoked due to datachange in the property value FINALIZE -> will be invoked when listener is removed or session expires manager.disconnect()
BaseDataAccessor<T> | Generic interface for accessing and manipulating data on a backing store like Zookeeper. |
ClusterMessagingService | Provides the ability to |
ConfigChangeListener | This interface is deprecated. replaced by InstanceConfigChangeListener |
ControllerChangeListener | Interface to implement to respond to controller changes. |
CurrentStateChangeListener | Interface to implement to respond to changes in the current state |
ExternalViewChangeListener | Interface to implement to be notified of changes to the external view |
HealthStateChangeListener | Interface to implement to listen for when a health status event is triggered. |
HelixAdmin | |
HelixAutoController | Autonomous controller |
HelixConnection | Helix connection (aka helix manager) |
HelixConnectionStateListener | |
HelixConstants | |
HelixController | |
HelixDataAccessor | Interface used to interact with Helix Data Types like IdealState, Config, LiveInstance, Message, ExternalView etc PropertyKey represent the HelixData type. |
HelixManager | Class that represents the Helix Agent. |
HelixParticipant | Helix participant |
HelixRole | helix-role i.e. |
HelixService | Operational methods of a helix role |
IdealStateChangeListener | Interface to implement to listen for changes to the ideal state of resources. |
InstanceConfigChangeListener | Interface to implement to listen for changes to instance configurations. |
LiveInstanceChangeListener | Interface to implement to listen for live instance changes. |
LiveInstanceInfoProvider | Interface to provide additional information about a live instance at creation time |
MessageListener | Interface to implement when there is a change to messages |
PreConnectCallback | Called to allow definition of tasks prior to connecting to Zookeeper |
ScopedConfigChangeListener | Interface to implement to listen for changes to any specified scope. |
AccessOption | |
ConfigAccessor | Provides access to the persistent configuration of the cluster, the instances that live on it, and the logical resources assigned to it. |
Criteria | Describes various properties that operations involving Message delivery will follow. |
ExternalCommand | Wrapper for running commands outside of the JVM |
GroupCommit | Support committing updates to data such that they are ordered for each key |
HelixManagerFactory | Obtain one of a set of Helix cluster managers, organized by the backing system. |
HelixManagerProperties | hold helix-manager properties read from helix-core/src/main/resources/cluster-manager.properties |
HelixProperty | A wrapper class for ZNRecord. |
HelixTimerTask | Interface for defining a generic task to run periodically. |
NotificationContext | Metadata associated with a notification event and the current state of the cluster |
PropertyKey | Key allowing for type-safe lookups of and conversions to HelixProperty objects. |
PropertyKey.Builder | PropertyKey builder for a cluster |
PropertyPathConfig | Utility mapping properties to their Zookeeper locations |
ZNRecord | Generic Record Format to store data at a Node This can be used to store simpleFields mapFields listFields |
ZNRecordAssembler | Constructs ZNRecords from collections of ZNRecords |
ZNRecordBucketizer | Operations to divide a ZNRecord into specified buckets |
ZNRecordDelta | A ZNRecord container that specifies how it should be merged with another ZNRecord |
ZNRecordUpdater | Class that specifies how a ZNRecord should be updated with another ZNRecord |
Criteria.DataSource | |
HelixConstants.ChangeType | |
HelixConstants.ClusterConfigType | |
HelixConstants.StateModelToken | |
HelixDefinedState | helix defined states ERROR : when errors happen during state transitions, transit to ERROR state participant will also invoke state-model.on-err(), ignore errors in state-model.on-err() when drop resource in ERROR state and not disabled, controller sends ERROR->DROPPED transition if errors happen in ERROR->DROPPED transition, participant will disable resource/partition when disable resource/partition in ERROR state, resource/partition will be marked disabled but controller not send any transitions when reset resource/partition in ERROR state and not disabled controller send ERROR->initial-state transition if errors happen in ERROR->initial-state transition, remain in ERROR state DROPPED : when drop resource in a non-ERROR state and not disabled controller sends all the transitions from current-state to initial-state then sends initial-state->DROPPED transition |
HelixProperty.HelixPropertyAttribute | |
InstanceType | CONTROLLER: cluster managing component is a controller PARTICIPANT: participate in the cluster state changes SPECTATOR: interested in the state changes in the cluster CONTROLLER_PARTICIPANT: special participant that competes for the leader of CONTROLLER_CLUSTER used in cluster controller of distributed mode {@HelixControllerMain } |
NotificationContext.MapKey | keys used for object map |
NotificationContext.Type | Valid types of notifications |
PropertyType | Types of data stored on Zookeeper by Helix |
ZNRecordDelta.MergeOperation | Supported methods of updating a ZNRecord |
HelixException | Base class for an exception thrown by Helix due to inconsistencies caught by Helix itself. |