Hi,

For some strange reason global tags (such as “cores”) don’t support the 
“nodeset” syntax. For “cores” the only supported attribute is “node”, and then 
you’re only allowed to use #ANY or a single specific node name (with optional 
“!" NOT operand), or a JSON array containing node names to indicate the IN 
operand.

The Ref Guide indeed is not very clear on that…


> On 17 Dec 2019, at 21:20, Cao, Li <li_...@comcast.com> wrote:
> 
> Hi!
> 
> I am trying to add a cluster policy to a freshly built 8.3.0 cluster (no 
> collection added). I got this error when adding such a cluster policy
> 
> { 
> "set-cluster-policy":[{"cores":"<3","nodeset":{"sysprop.rex.node.type":"tlog"}}]}
> 
> Basically I want to limit the number of cores for certain machines with a 
> special environmental variable value.
> 
> But I got this error response:
> 
> {
>  "responseHeader":{
>    "status":400,
>    "QTime":144},
>  "result":"failure",
>  "WARNING":"This response format is experimental.  It is likely to change in 
> the future.",
>  "error":{
>    "metadata":[
>      "error-class","org.apache.solr.api.ApiBag$ExceptionWithErrObject",
>      "root-error-class","org.apache.solr.api.ApiBag$ExceptionWithErrObject"],
>    "details":[{
>        "set-cluster-policy":[{
>            "cores":"<3",
>            "nodeset":{"sysprop.rex.node.type":"tlog"}}],
>        "errorMessages":["No value present"]}],
>    "msg":"Error in command payload",
>    "code":400}}
> 
> However, this works:
> 
> { "set-cluster-policy":[{"cores":"<3","node":"#ANY"}]}
> 
> I read the autoscaling policy documentations and cannot figure out why. Could 
> someone help me on this?
> 
> Thanks!
> 
> Li

Reply via email to