Class SegmentRefreshMessage


  • public class SegmentRefreshMessage
    extends org.apache.helix.model.Message
    This (Helix) message is sent from the controller to servers and brokers when a request is received to refresh an existing segment. When server gets this message, it will check the crc of the local segment and the segment ZK metadata and download the refreshed segment if necessary. When broker gets this message, it will update the routing properties (time boundary, partition info etc.) based on the refreshed segment ZK metadata. NOTE: Changing this class to include new fields is a change in the protocol, so the new fields must be made optional, and coded in such a way that either controller, broker or server may be upgraded first. TODO: "tableName" and "segmentName" are new added fields. Change SegmentMessageHandlerFactory to use these 2 fields in the next release for backward-compatibility
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.apache.helix.model.Message

        org.apache.helix.model.Message.Attributes, org.apache.helix.model.Message.MessageState, org.apache.helix.model.Message.MessageType
      • Nested classes/interfaces inherited from class org.apache.helix.HelixProperty

        org.apache.helix.HelixProperty.HelixPropertyAttribute, org.apache.helix.HelixProperty.Stat
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static String REFRESH_SEGMENT_MSG_SUB_TYPE  
      • Fields inherited from class org.apache.helix.model.Message

        CREATE_TIME_COMPARATOR, MESSAGE_EXPECT_COMPLETION_PERIOD, RELAY_MESSAGE_DEFAULT_EXPIRY
      • Fields inherited from class org.apache.helix.HelixProperty

        _record
    • Method Summary

      Modifier and Type Method Description
      String getSegmentName()  
      String getTableNameWithType()  
      • Methods inherited from class org.apache.helix.model.Message

        addPartitionName, attachRelayMessage, createReplyMessage, getAttribute, getBucketSize, getCompletionDueTimeStamp, getCorrelationId, getCreateTimeStamp, getDebug, getExecuteStartTimeStamp, getExecutionSessionId, getExecutionTimeout, getExpiryPeriod, getFromState, getGeneration, getKey, getMsgId, getMsgSrc, getMsgState, getMsgSubType, getMsgType, getPartitionName, getPartitionNames, getReadTimeStamp, getRelayMessage, getRelayMessages, getRelaySrcHost, getRelayTime, getResourceGroupName, getResourceName, getResourceTag, getResultMap, getRetryCount, getSrcClusterName, getSrcInstanceType, getSrcSessionId, getStateModelDef, getStateModelFactoryName, getTgtName, getTgtSessionId, getToState, hasRelayMessages, isControlerMsg, isExpired, isParticipantStatusChangeType, isRelayMessage, isValid, setAttribute, setBucketSize, setCompletionDueTimeStamp, setCorrelationId, setCreateTimeStamp, setExecuteSessionId, setExecuteStartTimeStamp, setExecutionTimeout, setExpectedSessionId, setExpired, setExpiryPeriod, setFromState, setMsgId, setMsgState, setMsgSubType, setPartitionName, setReadTimeStamp, setRelayTime, setResourceGroupName, setResourceName, setResourceTag, setResultMap, setRetryCount, setSrcClusterName, setSrcInstanceType, setSrcName, setSrcSessionId, setStateModelDef, setStateModelFactoryName, setTgtName, setTgtSessionId, setToState
      • Methods inherited from class org.apache.helix.HelixProperty

        convertListToMap, convertToList, convertToTypedInstance, convertToTypedList, equals, getBatchMessageMode, getId, getRecord, getStat, serialize, setBatchMessageMode, setDeltaList, setStat, toString
    • Constructor Detail

      • SegmentRefreshMessage

        public SegmentRefreshMessage​(String tableNameWithType,
                                     String segmentName)
        Constructor for the sender.
      • SegmentRefreshMessage

        public SegmentRefreshMessage​(org.apache.helix.model.Message message)
        Constructor for the receiver.
        Parameters:
        message - The incoming message that has been received from helix.
        Throws:
        IllegalArgumentException - if the message is not of right sub-type
    • Method Detail

      • getTableNameWithType

        public String getTableNameWithType()
      • getSegmentName

        public String getSegmentName()