Interface SegmentSelector

  • All Known Implementing Classes:
    DefaultSegmentSelector

    public interface SegmentSelector
    The segment selector selects the segments for the query. The segments selected should cover the whole dataset (table) without overlap.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void init​(org.apache.helix.model.IdealState idealState, org.apache.helix.model.ExternalView externalView, Set<String> onlineSegments)
      Initializes the segment selector with the ideal state, external view and online segments (segments with ONLINE/CONSUMING instances in the ideal state and pre-selected by the SegmentPreSelector).
      void onAssignmentChange​(org.apache.helix.model.IdealState idealState, org.apache.helix.model.ExternalView externalView, Set<String> onlineSegments)
      Processes the segment assignment (ideal state or external view) change based on the given online segments (segments with ONLINE/CONSUMING instances in the ideal state and pre-selected by the SegmentPreSelector).
      Set<String> select​(org.apache.pinot.common.request.BrokerRequest brokerRequest)
      Selects the segments queried by the given broker request.
    • Method Detail

      • init

        void init​(org.apache.helix.model.IdealState idealState,
                  org.apache.helix.model.ExternalView externalView,
                  Set<String> onlineSegments)
        Initializes the segment selector with the ideal state, external view and online segments (segments with ONLINE/CONSUMING instances in the ideal state and pre-selected by the SegmentPreSelector). Should be called only once before calling other methods.
      • onAssignmentChange

        void onAssignmentChange​(org.apache.helix.model.IdealState idealState,
                                org.apache.helix.model.ExternalView externalView,
                                Set<String> onlineSegments)
        Processes the segment assignment (ideal state or external view) change based on the given online segments (segments with ONLINE/CONSUMING instances in the ideal state and pre-selected by the SegmentPreSelector).
      • select

        Set<String> select​(org.apache.pinot.common.request.BrokerRequest brokerRequest)
        Selects the segments queried by the given broker request. The segments selected should cover the whole dataset (table) without overlap.