### CI Link

https://gradle-enterprise.elastic.co/s/hpsiqb6ogssti/tests/:x-pack:plugin:autoscaling:test/org.elasticsearch.xpack.autoscaling.capacity.AutoscalingCalculateCapacityServiceTests/testMultiplePoliciesFixedCapacity

### Repro line

`./gradlew ':x-pack:plugin:autoscaling:test' --tests "org.elasticsearch.xpack.autoscaling.capacity.AutoscalingCalculateCapacityServiceTests.testMultiplePoliciesFixedCapacity" -Dtests.seed=59B9B4C860720152 -Dtests.locale=es-PR -Dtests.timezone=Europe/Mariehamn -Druntime.java=17`

### Does it reproduce?

Yes

### Applicable branches

main,

### Failure history

https://gradle-enterprise.elastic.co/scans/tests?search.timeZoneId=Europe/Berlin&tests.container=org.elasticsearch.xpack.autoscaling.capacity.AutoscalingCalculateCapacityServiceTests

### Failure excerpt

```
java.lang.IllegalArgumentException: processors must be a non-negative number; provided [0.0]
        at __randomizedtesting.SeedInfo.seed([59B9B4C860720152:A780761874932F2D]:0)
        at org.elasticsearch.common.unit.Processors.of(Processors.java:58)
        at org.elasticsearch.xpack.autoscaling.capacity.FixedAutoscalingDeciderService.lambda$static$0(FixedAutoscalingDeciderService.java:35)
        at org.elasticsearch.common.settings.Setting.get(Setting.java:482)
        at org.elasticsearch.common.settings.Setting.get(Setting.java:476)
        at org.elasticsearch.xpack.autoscaling.capacity.FixedAutoscalingDeciderService.scale(FixedAutoscalingDeciderService.java:55)
        at org.elasticsearch.xpack.autoscaling.capacity.AutoscalingCalculateCapacityService.calculateForDecider(AutoscalingCalculateCapacityService.java:226)
        at org.elasticsearch.xpack.autoscaling.capacity.AutoscalingCalculateCapacityService.lambda$calculateForPolicy$3(AutoscalingCalculateCapacityService.java:167)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.TreeMap$EntrySpliterator.forEachRemaining(TreeMap.java:3287)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
        at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
        at org.elasticsearch.xpack.autoscaling.capacity.AutoscalingCalculateCapacityService.calculateForPolicy(AutoscalingCalculateCapacityService.java:168)
        at org.elasticsearch.xpack.autoscaling.capacity.AutoscalingCalculateCapacityService.lambda$calculate$2(AutoscalingCalculateCapacityService.java:124)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.TreeMap$EntrySpliterator.forEachRemaining(TreeMap.java:3287)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
        at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
        at org.elasticsearch.xpack.autoscaling.capacity.AutoscalingCalculateCapacityService.calculate(AutoscalingCalculateCapacityService.java:134)
        at org.elasticsearch.xpack.autoscaling.capacity.AutoscalingCalculateCapacityServiceTests.testMultiplePoliciesFixedCapacity(AutoscalingCalculateCapacityServiceTests.java:66)
x-pack/plugin/autoscaling/src/test/java/org/elasticsearch/xpack/autoscaling/capacity/AutoscalingDeciderResultsTests.java
)
        );
        assertThat(e.getMessage(), equalTo("results can not be empty"));
    }
    @AwaitsFix(bugUrl = "https://github.com/elastic/elasticsearch/issues/89854")
    public void testRequiredCapacity() {
        AutoscalingCapacity single = randomBoolean() ? randomAutoscalingCapacity() : null;
        verifyRequiredCapacity(single, single);
        
        verifyRequiredCapacity(null, single, null);
        verifyRequiredCapacity(null, null, single);
        boolean node = randomBoolean();
        boolean storage = randomBoolean();
        boolean memory = randomBoolean();
        boolean processor = randomBoolean() || (storage == false && memory == false);
        AutoscalingCapacity large = randomCapacity(node, storage, memory, processor, 1000, 2000);
        List<AutoscalingCapacity> autoscalingCapacities = new ArrayList<>();
        autoscalingCapacities.add(large);
        IntStream.range(0, 10).mapToObj(i -> randomCapacity(node, storage, memory, processor, 0, 1000)).forEach(autoscalingCapacities::add);
        Randomness.shuffle(autoscalingCapacities);
        verifyRequiredCapacity(large, autoscalingCapacities.toArray(AutoscalingCapacity[]::new));
        AutoscalingCapacity largerStorage = randomCapacity(node, true, false, false, 2000, 3000);
        verifySingleMetricLarger(node, largerStorage, large, large, autoscalingCapacities, largerStorage);
        AutoscalingCapacity largerMemory = randomCapacity(node, false, true, false, 2000, 3000);
        verifySingleMetricLarger(node, large, largerMemory, large, autoscalingCapacities, largerMemory);
        AutoscalingCapacity largerProcessor = randomCapacity(node, false, false, true, 2000, 3000);
        verifySingleMetricLarger(node, large, large, largerProcessor, autoscalingCapacities, largerProcessor);
    }
    public void testToXContent() {
        AutoscalingDeciderResults results = randomAutoscalingDeciderResults();