Class TimeRoutedAlias

    • Field Detail

      • TYPE

        public static final org.apache.solr.client.solrj.RoutedAliasTypes TYPE

        public static final Set<String> REQUIRED_ROUTER_PARAMS
        Parameters required for creating a routed alias

        public static final Set<String> OPTIONAL_ROUTER_PARAMS
        Optional parameters for creating a routed alias excluding parameters for collection creation.
    • Method Detail

      • computeInitialCollectionName

        public String computeInitialCollectionName()
      • parseInstantFromCollectionName

        public static Instant parseInstantFromCollectionName​(String aliasName,
                                                             String collection)
      • formatCollectionNameFromInstant

        public static String formatCollectionNameFromInstant​(String aliasName,
                                                             Instant timestamp)
      • updateParsedCollectionAliases

        public boolean updateParsedCollectionAliases​( zkStateReader,
                                                     boolean contextualize)
        Description copied from class: RoutedAlias
        Ensure our parsed version of the alias collection list is up to date. If it was modified, return true. Note that this will return true if some other alias was modified or if properties were modified. These are spurious and the caller should be written to be tolerant of no material changes.
        Specified by:
        updateParsedCollectionAliases in class RoutedAlias
      • getAliasName

        public String getAliasName()
        Description copied from class: RoutedAlias
        The name of the alias. This name is used in place of a collection name for both queries and updates.
        Specified by:
        getAliasName in class RoutedAlias
        The name of the Alias.
      • getRouteField

        public String getRouteField()
      • getRoutedAliasType

        public org.apache.solr.client.solrj.RoutedAliasTypes getRoutedAliasType()
      • getIntervalMath

        public String getIntervalMath()
      • getMaxFutureMs

        public long getMaxFutureMs()
      • getPreemptiveCreateWindow

        public String getPreemptiveCreateWindow()
      • getAutoDeleteAgeMath

        public String getAutoDeleteAgeMath()
      • getTimeZone

        public TimeZone getTimeZone()
      • validateRouteValue

        public void validateRouteValue​(AddUpdateCommand cmd)
                                throws org.apache.solr.common.SolrException
        Description copied from class: RoutedAlias
        Check that the value we will be routing on is legal for this type of routed alias.
        Specified by:
        validateRouteValue in class RoutedAlias
        cmd - the command containing the document
      • getHeadCollectionIfOrdered

        protected String getHeadCollectionIfOrdered​(AddUpdateCommand cmd)
        Description copied from class: RoutedAlias
        Calculate the head collection (i.e. the most recent one for a TRA) if this routed alias has an implicit order, or if the collection is unordered return the appropriate collection name for the value in the current document. This method should never return null.
        Specified by:
        getHeadCollectionIfOrdered in class RoutedAlias
      • findCandidateGivenValue

        public findCandidateGivenValue​(AddUpdateCommand cmd)
        Given the route key, finds the correct collection and an indication of any collection that needs to be created. Future docs will potentially cause creation of a collection that does not yet exist. This method presumes that the doc time stamp has already been checked to not exceed maxFutureMs
        org.apache.solr.common.SolrException - if the doc is too old to be stored in the TRA
      • calculateActions

        protected List<RoutedAlias.Action> calculateActions​(String targetCol)
        Description copied from class: RoutedAlias
        Determine the combination of adds/deletes implied by the arrival of a document destined for the specified collection.
        Specified by:
        calculateActions in class RoutedAlias
        targetCol - the collection for which a document is destined.
        A list of actions across the DRA.