lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <>
Subject [jira] [Commented] (SOLR-11722) API to create a Time Routed Alias and first collection
Date Thu, 11 Jan 2018 21:33:00 GMT


ASF GitHub Bot commented on SOLR-11722:

Github user dsmiley commented on a diff in the pull request:
    --- Diff: solr/core/src/java/org/apache/solr/handler/admin/ ---
    @@ -476,6 +451,31 @@ private static void addStatusToResponse(NamedList<Object> results,
           return req.getParams().required().getAll(null, NAME, "collections");
    +      String alias = req.getParams().get(NAME);
    +      SolrIdentifierValidator.validateAliasName(alias);
    +      Map<String, Object> params = req.getParams().required()
    +          .getAll(null, REQUIRED_ROUTING_PARAMS.toArray(new String[REQUIRED_ROUTING_PARAMS.size()]));
    +      req.getParams().getAll(params, NONREQUIRED_ROUTING_PARAMS);
    +      // subset the params to reuse the collection creation/parsing code
    +      ModifiableSolrParams collectionParams = extractPrefixedParams("create-collection.",
    +      if (collectionParams.get(NAME) != null) {
    +        SolrException solrException = new SolrException(BAD_REQUEST, "routed aliases
calculate names for their " +
    +            "dependent collections, you cannot specify the name.");
    +        log.error("Could not create routed alias",solrException);
    --- End diff --
    I believe the general practice for BAD_REQUEST param validation is for Solr to not log
it.  Besides, it's redundant with throwing the exception, and any exception thrown could be
chosen to log or not centrally at some entrypoint juncture or by a thread handler for uncaught
exceptions.  So lets not litter log statements that are superfluous unless there's some interesting/useful

> API to create a Time Routed Alias and first collection
> ------------------------------------------------------
>                 Key: SOLR-11722
>                 URL:
>             Project: Solr
>          Issue Type: Sub-task
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: SolrCloud
>            Reporter: David Smiley
>         Attachments: SOLR-11722.patch, SOLR-11722.patch
> This issue is about creating a single API command to create a "Time Routed Alias" along
with its first collection.  Need to decide what endpoint URL it is and parameters.
> Perhaps in v2 it'd be {{/api/collections?command=create-routed-alias}} or alternatively
piggy-back off of command=create-alias but we add more options, perhaps with a prefix like
> Inputs:
> * alias name
> * misc collection creation metadata (e.g. config, numShards, ...) perhaps in this context
with a prefix like "collection."
> * metadata for TimeRoutedAliasUpdateProcessor, currently: router.field
> * date specifier for first collection; can include "date math".
> We'll certainly add more options as future features unfold.
> I believe the collection needs to be created first (referring to the alias name via a
core property), and then the alias pointing to it which demands collections exist first. 
When figuring the collection name, you'll need to reference the format in TimeRoutedAliasUpdateProcessor.

This message was sent by Atlassian JIRA

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message