diff options
author | Christoph Büscher <christoph@elastic.co> | 2017-06-17 13:06:31 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-17 13:06:31 +0200 |
commit | e99ced06ccc0fac29f70c79b017a2712b656e616 (patch) | |
tree | 2e43e0170678cc9364e3687dcb9cb51ab5d7df14 /core/src/main/java/org/elasticsearch/search/aggregations/metrics | |
parent | fde6f72cb57960a73f7466071517a724b6de9402 (diff) |
[Tests] Check that parsing aggregations works in a forward compatible way (#25219)
This change adds tests for the aggregation parsing that try to simulate that we
can parse existing aggregations in a forward compatible way in the future,
ignoring potential newly added fields or substructures to the xContent response.
Diffstat (limited to 'core/src/main/java/org/elasticsearch/search/aggregations/metrics')
-rw-r--r-- | core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/ParsedPercentiles.java | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/ParsedPercentiles.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/ParsedPercentiles.java index 48f3dccece..3f56b21dcd 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/ParsedPercentiles.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/ParsedPercentiles.java @@ -140,6 +140,8 @@ public abstract class ParsedPercentiles extends ParsedAggregation implements Ite } } else if (token == XContentParser.Token.VALUE_NULL) { aggregation.addPercentile(Double.valueOf(parser.currentName()), Double.NaN); + } else { + parser.skipChildren(); // skip potential inner objects and arrays for forward compatibility } } } else if (token == XContentParser.Token.START_ARRAY) { @@ -164,6 +166,8 @@ public abstract class ParsedPercentiles extends ParsedAggregation implements Ite } } else if (token == XContentParser.Token.VALUE_NULL) { value = Double.NaN; + } else { + parser.skipChildren(); // skip potential inner objects and arrays for forward compatibility } } if (key != null) { |