[ https://issues.apache.org/jira/browse/SOLR-11722?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16322993#comment-16322993 ]
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_r161071581 --- Diff: solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java --- @@ -962,6 +982,76 @@ public static CollectionOperation get(CollectionAction action) { } } + private static SolrParams convertToV1WhenRequired(SolrQueryRequest req, ModifiableSolrParams params) { + SolrParams v1Params = params; // (maybe...) + + // in the v2 world we get a data map based on the json request, from the CommandOperation associated + // with the request, so locate that if we can.. if we find it we have to translate the v2 request + // properties to v1 params, otherwise we're already good to go. + List<CommandOperation> cmds = req.getCommands(true); + if (cmds.size() > 1) { + // todo: not sure if this is the right thing to do here, but also not sure what to do if there is more than one... + throw new SolrException(BAD_REQUEST, "Only one command is allowed when creating a routed alias"); + } + CommandOperation c = cmds.size() == 0 ? null : cmds.get(0); + if (c != null) { // v2 api, do conversion to v1 + v1Params = new BaseHandlerApiSupport.V2ToV1SolrParams(CollectionApiMapping.Meta.CREATE_COLLECTION, + req.getPathTemplateValues(), true, params, + new CommandOperation("create", c.getDataMap().get("create-collection"))); + } + return v1Params; + } + + private static Map<String, Object> parseColletionCreationProps(CollectionsHandler h, SolrParams params, String prefix) --- End diff -- typo > 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