Skip to content

Commit 8bb8543

Browse files
authored
Treat PostDataActionResponse.DataCounts.bucketCount as incremental rather than absolute (total). (#44803) (#44856)
1 parent 03dd22b commit 8bb8543

File tree

5 files changed

+18
-17
lines changed

5 files changed

+18
-17
lines changed

x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/datafeed/DatafeedTimingStats.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,8 @@ public void incrementTotalSearchTimeMs(double searchTimeMs) {
114114
this.totalSearchTimeMs += searchTimeMs;
115115
}
116116

117-
public void setBucketCount(long bucketCount) {
118-
this.bucketCount = bucketCount;
117+
public void incrementBucketCount(long bucketCount) {
118+
this.bucketCount += bucketCount;
119119
}
120120

121121
@Override

x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/ml/datafeed/DatafeedTimingStatsTests.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -125,9 +125,9 @@ public void testIncrementTotalSearchTimeMs() {
125125
assertThat(stats.getAvgSearchTimePerBucketMs(), equalTo(30.0));
126126
}
127127

128-
public void testSetBucketCount() {
128+
public void testIncrementBucketCount() {
129129
DatafeedTimingStats stats = new DatafeedTimingStats(JOB_ID, 5, 10, 100.0);
130-
stats.setBucketCount(20);
130+
stats.incrementBucketCount(10);
131131
assertThat(stats.getJobId(), equalTo(JOB_ID));
132132
assertThat(stats.getSearchCount(), equalTo(5L));
133133
assertThat(stats.getBucketCount(), equalTo(20L));
@@ -141,7 +141,7 @@ public void testAvgSearchTimePerBucketIsCalculatedProperlyAfterUpdates() {
141141
assertThat(stats.getTotalSearchTimeMs(), equalTo(100.0));
142142
assertThat(stats.getAvgSearchTimePerBucketMs(), equalTo(10.0));
143143

144-
stats.setBucketCount(20);
144+
stats.incrementBucketCount(10);
145145
assertThat(stats.getBucketCount(), equalTo(20L));
146146
assertThat(stats.getTotalSearchTimeMs(), equalTo(100.0));
147147
assertThat(stats.getAvgSearchTimePerBucketMs(), equalTo(5.0));
@@ -151,7 +151,7 @@ public void testAvgSearchTimePerBucketIsCalculatedProperlyAfterUpdates() {
151151
assertThat(stats.getTotalSearchTimeMs(), equalTo(300.0));
152152
assertThat(stats.getAvgSearchTimePerBucketMs(), equalTo(15.0));
153153

154-
stats.setBucketCount(25);
154+
stats.incrementBucketCount(5);
155155
assertThat(stats.getBucketCount(), equalTo(25L));
156156
assertThat(stats.getTotalSearchTimeMs(), equalTo(300.0));
157157
assertThat(stats.getAvgSearchTimePerBucketMs(), equalTo(12.0));

x-pack/plugin/ml/src/main/java/org/elasticsearch/xpack/ml/datafeed/DatafeedTimingStatsReporter.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public void reportDataCounts(DataCounts dataCounts) {
5757
if (dataCounts == null) {
5858
return;
5959
}
60-
currentTimingStats.setBucketCount(dataCounts.getBucketCount());
60+
currentTimingStats.incrementBucketCount(dataCounts.getBucketCount());
6161
flushIfDifferSignificantly();
6262
}
6363

x-pack/plugin/ml/src/main/java/org/elasticsearch/xpack/ml/job/process/autodetect/AutodetectProcessManager.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ public void persistJob(JobTask jobTask, Consumer<Exception> handler) {
223223
* @param input Data input stream
224224
* @param xContentType the {@link XContentType} of the input
225225
* @param params Data processing parameters
226-
* @param handler Delegate error or datacount results (Count of records, fields, bytes, etc written)
226+
* @param handler Delegate error or datacount results (Count of records, fields, bytes, etc written as a result of this call)
227227
*/
228228
public void processData(JobTask jobTask, AnalysisRegistry analysisRegistry, InputStream input,
229229
XContentType xContentType, DataLoadParams params, BiConsumer<DataCounts, Exception> handler) {

x-pack/plugin/ml/src/test/java/org/elasticsearch/xpack/ml/datafeed/DatafeedTimingStatsReporterTests.java

+10-9
Original file line numberDiff line numberDiff line change
@@ -94,22 +94,17 @@ public void testReportDataCounts_Null() {
9494
}
9595

9696
public void testReportDataCounts() {
97-
DataCounts dataCounts = new DataCounts(JOB_ID);
98-
dataCounts.incrementBucketCount(20);
9997
DatafeedTimingStatsReporter timingStatsReporter =
100-
new DatafeedTimingStatsReporter(new DatafeedTimingStats(JOB_ID, 3, dataCounts.getBucketCount(), 10000.0), jobResultsPersister);
98+
new DatafeedTimingStatsReporter(new DatafeedTimingStats(JOB_ID, 3, 20, 10000.0), jobResultsPersister);
10199
assertThat(timingStatsReporter.getCurrentTimingStats(), equalTo(new DatafeedTimingStats(JOB_ID, 3, 20, 10000.0)));
102100

103-
dataCounts.incrementBucketCount(1);
104-
timingStatsReporter.reportDataCounts(dataCounts);
101+
timingStatsReporter.reportDataCounts(createDataCountsWithBucketCount(1));
105102
assertThat(timingStatsReporter.getCurrentTimingStats(), equalTo(new DatafeedTimingStats(JOB_ID, 3, 21, 10000.0)));
106103

107-
dataCounts.incrementBucketCount(1);
108-
timingStatsReporter.reportDataCounts(dataCounts);
104+
timingStatsReporter.reportDataCounts(createDataCountsWithBucketCount(1));
109105
assertThat(timingStatsReporter.getCurrentTimingStats(), equalTo(new DatafeedTimingStats(JOB_ID, 3, 22, 10000.0)));
110106

111-
dataCounts.incrementBucketCount(1);
112-
timingStatsReporter.reportDataCounts(dataCounts);
107+
timingStatsReporter.reportDataCounts(createDataCountsWithBucketCount(1));
113108
assertThat(timingStatsReporter.getCurrentTimingStats(), equalTo(new DatafeedTimingStats(JOB_ID, 3, 23, 10000.0)));
114109

115110
InOrder inOrder = inOrder(jobResultsPersister);
@@ -118,6 +113,12 @@ public void testReportDataCounts() {
118113
verifyNoMoreInteractions(jobResultsPersister);
119114
}
120115

116+
private static DataCounts createDataCountsWithBucketCount(long bucketCount) {
117+
DataCounts dataCounts = new DataCounts(JOB_ID);
118+
dataCounts.incrementBucketCount(bucketCount);
119+
return dataCounts;
120+
}
121+
121122
public void testTimingStatsDifferSignificantly() {
122123
assertThat(
123124
DatafeedTimingStatsReporter.differSignificantly(

0 commit comments

Comments
 (0)