Skip to content

Commit 3bda778

Browse files
russcamgithub-actions[bot]
authored andcommitted
Handle "NaN" in sampling fields (#5404)
Fixes #5007
1 parent ec65a6c commit 3bda778

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

src/Nest/Aggregations/AggregateFormatter.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -639,6 +639,8 @@ private IAggregate GetExtendedStatsAggregate(ref JsonReader reader, IJsonFormatt
639639
extendedStatsMetric.SumOfSquares = reader.ReadNullableDouble();
640640
reader.ReadNext(); // ,
641641

642+
var formatter = new NullableStringDoubleFormatter();
643+
642644
while (reader.GetCurrentJsonToken() != JsonToken.EndObject)
643645
{
644646
var propertyName = reader.ReadPropertyNameSegmentRaw();
@@ -660,13 +662,13 @@ private IAggregate GetExtendedStatsAggregate(ref JsonReader reader, IJsonFormatt
660662
extendedStatsMetric.VariancePopulation = reader.ReadNullableDouble();
661663
break;
662664
case 4:
663-
extendedStatsMetric.VarianceSampling = reader.ReadNullableDouble();
665+
extendedStatsMetric.VarianceSampling = formatter.Deserialize(ref reader, formatterResolver);
664666
break;
665667
case 5:
666668
extendedStatsMetric.StdDeviationPopulation = reader.ReadNullableDouble();
667669
break;
668670
case 6:
669-
extendedStatsMetric.StdDeviationSampling = reader.ReadNullableDouble();
671+
extendedStatsMetric.StdDeviationSampling = formatter.Deserialize(ref reader, formatterResolver);
670672
break;
671673
}
672674
}

src/Nest/Aggregations/Metric/ExtendedStats/ExtendedStatsAggregate.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
// See the LICENSE file in the project root for more information
44

55
using System.Runtime.Serialization;
6+
using Nest.Utf8Json;
67

78
namespace Nest
89
{
@@ -73,9 +74,11 @@ public class StandardDeviationBounds
7374
public double? UpperPopulation { get; set; }
7475

7576
[DataMember(Name = "lower_sampling")]
77+
[JsonFormatter(typeof(NullableStringDoubleFormatter))]
7678
public double? LowerSampling { get; set; }
7779

7880
[DataMember(Name = "upper_sampling")]
81+
[JsonFormatter(typeof(NullableStringDoubleFormatter))]
7982
public double? UpperSampling { get; set; }
8083
}
8184
}

0 commit comments

Comments
 (0)