[ 
https://issues.apache.org/jira/browse/SOLR-11722?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16322985#comment-16322985
 ] 

ASF GitHub Bot commented on SOLR-11722:
---------------------------------------

Github user dsmiley commented on a diff in the pull request:

    https://github.com/apache/lucene-solr/pull/304#discussion_r161068781
  
    --- Diff: 
solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java ---
    @@ -476,6 +451,31 @@ private static void 
addStatusToResponse(NamedList<Object> results, RequestStatus
           SolrIdentifierValidator.validateAliasName(req.getParams().get(NAME));
           return req.getParams().required().getAll(null, NAME, "collections");
         }),
    +    CREATEROUTEDALIAS_OP(CREATEROUTEDALIAS, (req, rsp, h) -> {
    +      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.", req.getParams());
    +      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 
context.



> API to create a Time Routed Alias and first collection
> ------------------------------------------------------
>
>                 Key: SOLR-11722
>                 URL: https://issues.apache.org/jira/browse/SOLR-11722
>             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 "router"?
> 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
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to