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.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]