Skip to content

Commit acd35bd

Browse files
authored
update IngestStats version guards to 7.6 and re-enable bwc tests (#48768)
* update IngestStats version guards to 7.6 after backporting #48485 in #48661, version guards in master can be updated from 8.0 to 7.6 for IngestStats serialization guards * forward port bwc tests in ingeststats * fix null ingeststats when reading the stream * re-enable bwc tests
1 parent f96a5ca commit acd35bd

File tree

4 files changed

+32
-8
lines changed

4 files changed

+32
-8
lines changed

build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -206,8 +206,8 @@ task verifyVersions {
206206
* after the backport of the backcompat code is complete.
207207
*/
208208

209-
boolean bwc_tests_enabled = false
210-
final String bwc_tests_disabled_issue = "https://github.com/elastic/elasticsearch/pull/48661<Paste>" /* place a PR link here when committing bwc changes */
209+
boolean bwc_tests_enabled = true
210+
final String bwc_tests_disabled_issue = "" /* place a PR link here when committing bwc changes */
211211
if (bwc_tests_enabled == false) {
212212
if (bwc_tests_disabled_issue.isEmpty()) {
213213
throw new GradleException("bwc_tests_disabled_issue must be set when bwc_tests_enabled == false")

server/src/main/java/org/elasticsearch/action/admin/cluster/stats/ClusterStatsNodes.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
import org.elasticsearch.common.xcontent.ToXContentFragment;
3737
import org.elasticsearch.common.xcontent.XContentBuilder;
3838
import org.elasticsearch.discovery.DiscoveryModule;
39-
import org.elasticsearch.ingest.IngestStats;
4039
import org.elasticsearch.monitor.fs.FsInfo;
4140
import org.elasticsearch.monitor.jvm.JvmInfo;
4241
import org.elasticsearch.plugins.PluginInfo;

server/src/main/java/org/elasticsearch/ingest/IngestStats.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@ public IngestStats(StreamInput in) throws IOException {
6868
List<ProcessorStat> processorStatsPerPipeline = new ArrayList<>(processorsSize);
6969
for (int j = 0; j < processorsSize; j++) {
7070
String processorName = in.readString();
71-
String processorType = null;
72-
if (in.getVersion().onOrAfter(Version.V_8_0_0)) {
71+
String processorType = "_NOT_AVAILABLE";
72+
if (in.getVersion().onOrAfter(Version.V_7_6_0)) {
7373
processorType = in.readString();
7474
}
7575
Stats processorStat = new Stats(in);
@@ -93,7 +93,7 @@ public void writeTo(StreamOutput out) throws IOException {
9393
out.writeVInt(processorStatsForPipeline.size());
9494
for (ProcessorStat processorStat : processorStatsForPipeline) {
9595
out.writeString(processorStat.getName());
96-
if (out.getVersion().onOrAfter(Version.V_8_0_0)) {
96+
if (out.getVersion().onOrAfter(Version.V_7_6_0)) {
9797
out.writeString(processorStat.getType());
9898
}
9999
processorStat.getStats().writeTo(out);

server/src/test/java/org/elasticsearch/ingest/IngestStatsTests.java

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,12 @@
1919

2020
package org.elasticsearch.ingest;
2121

22+
import org.elasticsearch.Version;
2223
import org.elasticsearch.common.collect.MapBuilder;
2324
import org.elasticsearch.common.io.stream.BytesStreamOutput;
2425
import org.elasticsearch.common.io.stream.StreamInput;
2526
import org.elasticsearch.test.ESTestCase;
27+
import org.elasticsearch.test.VersionUtils;
2628

2729
import java.io.IOException;
2830
import java.util.Collections;
@@ -40,7 +42,24 @@ public void testSerialization() throws IOException {
4042
Map<String, List<IngestStats.ProcessorStat>> processorStats = createProcessorStats(pipelineStats);
4143
IngestStats ingestStats = new IngestStats(totalStats, pipelineStats, processorStats);
4244
IngestStats serializedStats = serialize(ingestStats);
43-
assertIngestStats(ingestStats, serializedStats, true);
45+
assertIngestStats(ingestStats, serializedStats, true, true);
46+
}
47+
48+
public void testBWCIngestProcessorTypeStats() throws IOException {
49+
IngestStats.Stats totalStats = new IngestStats.Stats(50, 100, 200, 300);
50+
List<IngestStats.PipelineStat> pipelineStats = createPipelineStats();
51+
Map<String, List<IngestStats.ProcessorStat>> processorStats = createProcessorStats(pipelineStats);
52+
IngestStats expectedIngestStats = new IngestStats(totalStats, pipelineStats, processorStats);
53+
54+
//legacy output logic
55+
BytesStreamOutput out = new BytesStreamOutput();
56+
out.setVersion(VersionUtils.getPreviousVersion(Version.V_7_6_0));
57+
expectedIngestStats.writeTo(out);
58+
59+
StreamInput in = out.bytes().streamInput();
60+
in.setVersion(VersionUtils.getPreviousVersion(Version.V_7_6_0));
61+
IngestStats serializedStats = new IngestStats(in);
62+
assertIngestStats(expectedIngestStats, serializedStats, true, false);
4463
}
4564

4665
private List<IngestStats.PipelineStat> createPipelineStats() {
@@ -70,7 +89,8 @@ private IngestStats serialize(IngestStats stats) throws IOException {
7089
return new IngestStats(in);
7190
}
7291

73-
private void assertIngestStats(IngestStats ingestStats, IngestStats serializedStats, boolean expectProcessors){
92+
private void assertIngestStats(IngestStats ingestStats, IngestStats serializedStats, boolean expectProcessors,
93+
boolean expectProcessorTypes){
7494
assertNotSame(ingestStats, serializedStats);
7595
assertNotSame(ingestStats.getTotalStats(), serializedStats.getTotalStats());
7696
assertNotSame(ingestStats.getPipelineStats(), serializedStats.getPipelineStats());
@@ -92,6 +112,11 @@ private void assertIngestStats(IngestStats ingestStats, IngestStats serializedSt
92112
for (IngestStats.ProcessorStat serializedProcessorStat : serializedProcessorStats) {
93113
IngestStats.ProcessorStat ps = it.next();
94114
assertEquals(ps.getName(), serializedProcessorStat.getName());
115+
if (expectProcessorTypes) {
116+
assertEquals(ps.getType(), serializedProcessorStat.getType());
117+
} else {
118+
assertEquals("_NOT_AVAILABLE", serializedProcessorStat.getType());
119+
}
95120
assertStats(ps.getStats(), serializedProcessorStat.getStats());
96121
}
97122
assertFalse(it.hasNext());

0 commit comments

Comments
 (0)