Skip to content

Commit 5276ec8

Browse files
authored
[7.13] Limit stats values in tests to prevent long overflow (#73216)
1 parent d977e96 commit 5276ec8

File tree

1 file changed

+19
-6
lines changed

1 file changed

+19
-6
lines changed

server/src/test/java/org/elasticsearch/action/admin/cluster/node/stats/NodeStatsTests.java

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -480,21 +480,34 @@ public static NodeStats createNodeStats() {
480480
: null;
481481
IngestStats ingestStats = null;
482482
if (frequently()) {
483-
IngestStats.Stats totalStats = new IngestStats.Stats(randomNonNegativeLong(), randomNonNegativeLong(), randomNonNegativeLong(),
484-
randomNonNegativeLong());
485483
int numPipelines = randomIntBetween(0, 10);
486484
int numProcessors = randomIntBetween(0, 10);
485+
long maxStatValue = Long.MAX_VALUE / Math.max(1, numPipelines) / Math.max(1, numProcessors);
486+
IngestStats.Stats totalStats = new IngestStats.Stats(
487+
randomLongBetween(0, maxStatValue),
488+
randomLongBetween(0, maxStatValue),
489+
randomLongBetween(0, maxStatValue),
490+
randomLongBetween(0, maxStatValue)
491+
);
487492
List<IngestStats.PipelineStat> ingestPipelineStats = new ArrayList<>(numPipelines);
488493
Map<String, List<IngestStats.ProcessorStat>> ingestProcessorStats = new HashMap<>(numPipelines);
489494
for (int i = 0; i < numPipelines; i++) {
490495
String pipelineId = randomAlphaOfLengthBetween(3, 10);
491-
ingestPipelineStats.add(new IngestStats.PipelineStat(pipelineId, new IngestStats.Stats
492-
(randomNonNegativeLong(), randomNonNegativeLong(), randomNonNegativeLong(), randomNonNegativeLong())));
496+
ingestPipelineStats.add(new IngestStats.PipelineStat(pipelineId, new IngestStats.Stats(
497+
randomLongBetween(0, maxStatValue),
498+
randomLongBetween(0, maxStatValue),
499+
randomLongBetween(0, maxStatValue),
500+
randomLongBetween(0, maxStatValue))
501+
));
493502

494503
List<IngestStats.ProcessorStat> processorPerPipeline = new ArrayList<>(numProcessors);
495504
for (int j =0; j < numProcessors;j++) {
496-
IngestStats.Stats processorStats = new IngestStats.Stats
497-
(randomNonNegativeLong(), randomNonNegativeLong(), randomNonNegativeLong(), randomNonNegativeLong());
505+
IngestStats.Stats processorStats = new IngestStats.Stats(
506+
randomLongBetween(0, maxStatValue),
507+
randomLongBetween(0, maxStatValue),
508+
randomLongBetween(0, maxStatValue),
509+
randomLongBetween(0, maxStatValue)
510+
);
498511
processorPerPipeline.add(new IngestStats.ProcessorStat(randomAlphaOfLengthBetween(3, 10),
499512
randomAlphaOfLengthBetween(3, 10), processorStats));
500513
}

0 commit comments

Comments
 (0)