[jira] [Commented] (SOLR-11722) API to create a Time Routed Alias and first collection

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[jira] [Commented] (SOLR-11722) API to create a Time Routed Alias and first collection

JIRA jira@apache.org

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

ASF GitHub Bot commented on SOLR-11722:

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

    --- 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 --
    fixed in update

> 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

To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]