Skip to content

Commit b433704

Browse files
russcamgithub-actions[bot]
authored andcommitted
Make assertions on job created in test (#4665)
This commit updates the GetJobStatsApiTests to make assertions on the job configured for the integration test. This avoids grabbing a random job that may exist in the cluster at the time the test concurrently runs. The machine memory available to ML is also increased from the default 30% to 50%, to avoid exceptions in running out of memory, which have occurred locally on a machine with 32GB RAM when running all integration tests.
1 parent 3161ce5 commit b433704

File tree

2 files changed

+36
-34
lines changed

2 files changed

+36
-34
lines changed

tests/Tests/XPack/MachineLearning/GetJobStats/GetJobStatsApiTests.cs

+33-33
Original file line numberDiff line numberDiff line change
@@ -45,42 +45,42 @@ protected override void ExpectResponse(GetJobStatsResponse response)
4545
response.Count.Should().BeGreaterOrEqualTo(1);
4646
response.Jobs.Count.Should().BeGreaterOrEqualTo(1);
4747

48-
var firstJob = response.Jobs.First();
49-
firstJob.State.Should().Be(JobState.Closed);
50-
firstJob.AssignmentExplanation.Should().BeNull();
51-
52-
firstJob.DataCounts.Should().NotBeNull();
53-
firstJob.DataCounts.BucketCount.Should().Be(0);
54-
firstJob.DataCounts.EmptyBucketCount.Should().Be(0);
55-
firstJob.DataCounts.InputBytes.Should().Be(0);
56-
firstJob.DataCounts.InputFieldCount.Should().Be(0);
57-
firstJob.DataCounts.InputRecordCount.Should().Be(0);
58-
firstJob.DataCounts.InvalidDateCount.Should().Be(0);
59-
firstJob.DataCounts.MissingFieldCount.Should().Be(0);
60-
firstJob.DataCounts.OutOfOrderTimestampCount.Should().Be(0);
61-
firstJob.DataCounts.ProcessedFieldCount.Should().Be(0);
62-
firstJob.DataCounts.ProcessedRecordCount.Should().Be(0);
63-
firstJob.DataCounts.SparseBucketCount.Should().Be(0);
64-
65-
firstJob.ModelSizeStats.Should().NotBeNull();
66-
firstJob.ModelSizeStats.BucketAllocationFailuresCount.Should().Be(0);
67-
firstJob.ModelSizeStats.LogTime.Should().BeAfter(new DateTime(2017, 9, 1));
68-
firstJob.ModelSizeStats.MemoryStatus.Should().Be(MemoryStatus.Ok);
69-
firstJob.ModelSizeStats.ModelBytes.Should().BeGreaterOrEqualTo(0);
70-
firstJob.ModelSizeStats.ResultType.Should().Be("model_size_stats");
71-
firstJob.ModelSizeStats.TotalByFieldCount.Should().Be(0);
72-
firstJob.ModelSizeStats.TotalOverFieldCount.Should().Be(0);
73-
firstJob.ModelSizeStats.TotalPartitionFieldCount.Should().Be(0);
48+
var job = response.Jobs.Single(j => j.JobId == CallIsolatedValue);
49+
job.State.Should().Be(JobState.Closed);
50+
job.AssignmentExplanation.Should().BeNull();
51+
52+
job.DataCounts.Should().NotBeNull();
53+
job.DataCounts.BucketCount.Should().Be(0);
54+
job.DataCounts.EmptyBucketCount.Should().Be(0);
55+
job.DataCounts.InputBytes.Should().Be(0);
56+
job.DataCounts.InputFieldCount.Should().Be(0);
57+
job.DataCounts.InputRecordCount.Should().Be(0);
58+
job.DataCounts.InvalidDateCount.Should().Be(0);
59+
job.DataCounts.MissingFieldCount.Should().Be(0);
60+
job.DataCounts.OutOfOrderTimestampCount.Should().Be(0);
61+
job.DataCounts.ProcessedFieldCount.Should().Be(0);
62+
job.DataCounts.ProcessedRecordCount.Should().Be(0);
63+
job.DataCounts.SparseBucketCount.Should().Be(0);
64+
65+
job.ModelSizeStats.Should().NotBeNull();
66+
job.ModelSizeStats.BucketAllocationFailuresCount.Should().Be(0);
67+
job.ModelSizeStats.LogTime.Should().BeAfter(new DateTime(2017, 9, 1));
68+
job.ModelSizeStats.MemoryStatus.Should().Be(MemoryStatus.Ok);
69+
job.ModelSizeStats.ModelBytes.Should().BeGreaterOrEqualTo(0);
70+
job.ModelSizeStats.ResultType.Should().Be("model_size_stats");
71+
job.ModelSizeStats.TotalByFieldCount.Should().Be(0);
72+
job.ModelSizeStats.TotalOverFieldCount.Should().Be(0);
73+
job.ModelSizeStats.TotalPartitionFieldCount.Should().Be(0);
7474

7575
if (TestConfiguration.Instance.InRange(">=7.3.0"))
7676
{
77-
firstJob.TimingStats.Should().NotBeNull();
78-
firstJob.TimingStats.JobId.Should().Be(firstJob.JobId);
79-
firstJob.TimingStats.BucketCount.Should().Be(0);
80-
firstJob.TimingStats.MinimumBucketProcessingTimeMilliseconds.Should().Be(0);
81-
firstJob.TimingStats.MaximumBucketProcessingTimeMilliseconds.Should().Be(0);
82-
firstJob.TimingStats.AverageBucketProcessingTimeMilliseconds.Should().Be(0);
83-
firstJob.TimingStats.ExponentialAverageBucketProcessingTimeMilliseconds.Should().Be(0);
77+
job.TimingStats.Should().NotBeNull();
78+
job.TimingStats.JobId.Should().Be(job.JobId);
79+
job.TimingStats.BucketCount.Should().Be(0);
80+
job.TimingStats.MinimumBucketProcessingTimeMilliseconds.Should().Be(0);
81+
job.TimingStats.MaximumBucketProcessingTimeMilliseconds.Should().Be(0);
82+
job.TimingStats.AverageBucketProcessingTimeMilliseconds.Should().Be(0);
83+
job.TimingStats.ExponentialAverageBucketProcessingTimeMilliseconds.Should().Be(0);
8484
}
8585
}
8686
}

tests/Tests/XPack/MachineLearning/MachineLearningCluster.cs

+3-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@ public MachineLearningCluster() : base(new XPackClusterConfiguration
1919
{
2020
{ "xpack.ml.node_concurrent_job_allocations", "4", ">=5.4.0" },
2121
{ "node.attr.ml.max_open_jobs", "30", ">=5.4.0 <6.0.0" },
22-
{ "xpack.ml.max_open_jobs", "30", ">=6.0.0" }
22+
{ "xpack.ml.max_open_jobs", "30", ">=6.0.0" },
23+
// increase machine memory available for ML
24+
{ "xpack.ml.max_machine_memory_percent", "50" }
2325
},
2426
AdditionalBeforeNodeStartedTasks =
2527
{

0 commit comments

Comments
 (0)