Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-13586

Solr 7.7.2 - Autoscaling ignores sysprop rules if no nodes able to satisfy

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 7.7.2
    • Fix Version/s: None
    • Component/s: AutoScaling
    • Labels:
      None

      Description

      Solr 7.7.2 on new Znode on ZK. Created the chroot using solr zk mkroot.

       

       

      Created a policy:

       

      {'set-policy': {'banana': [{'replica': '#ALL',
                                   'sysprop.HELM_CHART': 'notbanana'}]}}

       

       

      No errors on creation of the policy.

       

       

      I have no nodes that have that value for the system property "HELM_CHART", I have nodes that contain "banana" and "rulesos" for that value only.

       

       

       

      I create the collection with a call to the /admin/collections:

       

      {'action': 'CREATE',
       'collection.configName': 'project-solr-7',
       'name': 'banana',
       'numShards': '2',
       'policy': 'banana',
       'replicationFactor': '2'}

       

       

      and it creates the collection without an error. My expectation would be that it would error as the policy cannot be followed.

       

      Autoscaling seems to silently ignore rules (at least sysprop rules). Example rule:

       

      {'set-policy': {'sales-uat': [{'node': '#ANY',
                                     'replica': '<2',
                                     'strict': 'false'},
                                    {'replica': '#ALL',
                                     'strict': 'true',
                                     'sysprop.HELM_CHART': 'foo'}]}}

       

       

      Two cases will get the sysprop rule ignored:

      1. No nodes have a HELM_CHART system property defined
      2. No nodes have the value "foo" for the HELM_CHART system property

       

      If you have SOME nodes that have -DHELM_CHART=foo, then it will fail if it cannot satisfy another strict rule. So sysprop autoscaling rules appear to be unable to be strict on their own it appears.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              akettmann Andrew Kettmann
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: