[
https://issues.apache.org/jira/browse/SOLR-11722?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16324348#comment-16324348
]
ASF GitHub Bot commented on SOLR-11722:
---------------------------------------
Github user nsoft commented on a diff in the pull request:
https://github.com/apache/lucene-solr/pull/304#discussion_r161294218
--- 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);
+ throw solrException;
+ }
+ SolrParams v1Params = convertToV1WhenRequired(req, collectionParams);
+
+ // We need to add this temporary name just to pass validation.
--- End diff --
ah that's actually checked here:
https://github.com/apache/lucene-solr/pull/304/files#diff-3fe6a8aeb14a57e63507fa17f8346771R207,
but It could be moved to this class (or done both places)
> 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: [email protected]
For additional commands, e-mail: [email protected]