[
https://issues.apache.org/jira/browse/SOLR-11722?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16323000#comment-16323000
]
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_r161078867
--- Diff: solr/core/src/java/org/apache/solr/cloud/CreateAliasCmd.java ---
@@ -68,34 +249,100 @@ public void call(ClusterState state, ZkNodeProps
message, NamedList results)
Thread.sleep(100);
}
+ private Map<String, String> buildAliasMap(String routedField, String
routingType, String tz, String increment, String maxFutureMs, ZkNodeProps
collectionProps) {
+ Map<String, Object> properties = collectionProps.getProperties();
+ Map<String,String> cleanMap = properties.entrySet().stream()
+ .filter(stringObjectEntry ->
+ !"fromApi".equals(stringObjectEntry.getKey())
+ && !"stateFormat".equals(stringObjectEntry.getKey())
+ && !"name".equals(stringObjectEntry.getKey()))
+ .collect(Collectors.toMap((e) -> "collection-create." +
e.getKey(), e -> String.valueOf(e.getValue())));
+ cleanMap.put(ROUTING_FIELD, routedField);
+ cleanMap.put(ROUTING_TYPE, routingType);
+ cleanMap.put(ROUTING_INCREMENT, increment);
+ cleanMap.put(ROUTING_MAX_FUTURE, maxFutureMs);
+ cleanMap.put(TZ, tz);
+ return cleanMap;
+ }
+
+ private Instant validateStart(TimeZone zone, DateTimeFormatter fmt,
String start) {
--- End diff --
This appears redundant with using DateMathParser earlier and I'm sure we
don't need so much code for this matter (ignore millisecond truncation; in
practice the user is going to do something like `/MONTH` or `/DAY` for start.
> 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]