NEST version: 7.0.0-alpha1
Elasticsearch version: 7.0.1
Simple calls to ExtendedStats or Percentiles generates exceptions:
"message": "An error has occurred.",
"exceptionMessage": "expected:',', actual:'\"extended_stats#name\"', at offset:402",
"exceptionType": "Elasticsearch.Net.UnexpectedElasticsearchClientException",
"stackTrace": " at Elasticsearch.Net.Transport`1.Request[TResponse](HttpMethod method, String path, PostData data, IRequestParameters requestParameters)\r\n at Elasticsearch.Net.ElasticLowLevelClient.DoRequest[TResponse](HttpMethod method, String path, PostData data, IRequestParameters requestParameters)\r\n at Nest.ElasticClient.DoRequest[TRequest,TResponse](TRequest p, IRequestParameters parameters, Action`1 forceConfiguration)\r\n at Nest.ElasticClient.Search[T,TResult](ISearchRequest request)\r\n at Nest.ElasticClient.Search[T](ISearchRequest request)\r\n at Nest.ElasticClient.Search[T,TResult](Func`2 selector)\r\n at Nest.ElasticClient.Search[T](Func`2 selector)\r\n at ......
Thanks for reporting @meriturva. Do you have a sample response to work with, that threw the exception?
Running the integration tests, I think this may already be fixed in 7.x. Would you be able to try with the latest 7.x package from our CI feed: https://ci.appveyor.com/nuget/elasticsearch-net? It'll be the latest 7.1.0* package there
Running against version: 7.1.0-ci20190507T015600 doesn't fix issue.
Here inner exception stack trace:
```
Elasticsearch.Net.JsonParsingException: expected:',', actual:'"extended_stats#queueTimeStats"', at offset:402
at Elasticsearch.Net.JsonReader.ReadIsValueSeparatorWithVerify()
at Elasticsearch.Net.JsonReader.ReadIsInArray(Int32& count)
at Nest.AggregateFormatter.GetMultiBucketAggregate(JsonReader& reader, IJsonFormatterResolver formatterResolver, ArraySegment1& propertyName)
at Nest.AggregateFormatter.ReadAggregate(JsonReader& reader, IJsonFormatterResolver formatterResolver)
at Nest.AggregateFormatter.GetSubAggregates(JsonReader& reader, String name, IJsonFormatterResolver formatterResolver)
at Nest.AggregateFormatter.GetSingleBucketAggregate(JsonReader& reader, IJsonFormatterResolver formatterResolver)
at Nest.AggregateFormatter.ReadAggregate(JsonReader& reader, IJsonFormatterResolver formatterResolver)
at Nest.AggregateDictionaryFormatter.Deserialize(JsonReader& reader, IJsonFormatterResolver formatterResolver)
at Deserialize(Object[] , JsonReader& , IJsonFormatterResolver )
at Elasticsearch.Net.DynamicMethodAnonymousFormatter1.Deserialize(JsonReader& reader, IJsonFormatterResolver formatterResolver)
at Elasticsearch.Net.JsonSerializer.DeserializeT
at Elasticsearch.Net.JsonSerializer.DeserializeT
at Elasticsearch.Net.JsonSerializer.DeserializeT
at Nest.InternalSerializer.DeserializeT
at Elasticsearch.Net.ResponseBuilder.SetBodyTResponse
at Elasticsearch.Net.ResponseBuilder.ToResponseTResponse
at Elasticsearch.Net.HttpConnection.RequestTResponse
at Elasticsearch.Net.RequestPipeline.CallElasticsearchTResponse
at Elasticsearch.Net.Transport`1.RequestTResponse
Elasticsearch.Net.JsonParsingException: expected:',', actual:'"extended_stats#queueTimeStats"', at offset:402
at Elasticsearch.Net.JsonReader.ReadIsValueSeparatorWithVerify()
at Elasticsearch.Net.JsonReader.ReadIsInArray(Int32& count)
at Nest.AggregateFormatter.GetMultiBucketAggregate(JsonReader& reader, IJsonFormatterResolver formatterResolver, ArraySegment1& propertyName)
at Nest.AggregateFormatter.ReadAggregate(JsonReader& reader, IJsonFormatterResolver formatterResolver)
at Nest.AggregateFormatter.GetSubAggregates(JsonReader& reader, String name, IJsonFormatterResolver formatterResolver)
at Nest.AggregateFormatter.GetSingleBucketAggregate(JsonReader& reader, IJsonFormatterResolver formatterResolver)
at Nest.AggregateFormatter.ReadAggregate(JsonReader& reader, IJsonFormatterResolver formatterResolver)
at Nest.AggregateDictionaryFormatter.Deserialize(JsonReader& reader, IJsonFormatterResolver formatterResolver)
at Deserialize(Object[] , JsonReader& , IJsonFormatterResolver )
at Elasticsearch.Net.DynamicMethodAnonymousFormatter1.Deserialize(JsonReader& reader, IJsonFormatterResolver formatterResolver)
at Elasticsearch.Net.JsonSerializer.DeserializeT
at Elasticsearch.Net.JsonSerializer.DeserializeT
at Elasticsearch.Net.JsonSerializer.DeserializeT
at Nest.InternalSerializer.DeserializeT
at Elasticsearch.Net.ResponseBuilder.SetBodyTResponse
at Elasticsearch.Net.ResponseBuilder.ToResponseTResponse
at Elasticsearch.Net.HttpConnection.RequestTResponse
at Elasticsearch.Net.RequestPipeline.CallElasticsearchTResponse
at Elasticsearch.Net.Transport`1.RequestTResponse
Elasticsearch.Net.UnexpectedElasticsearchClientException: expected:',', actual:'"extended_stats#queueTimeStats"', at offset:402 ---> Elasticsearch.Net.JsonParsingException: expected:',', actual:'"extended_stats#queueTimeStats"', at offset:402
at Elasticsearch.Net.JsonReader.ReadIsValueSeparatorWithVerify()
at Elasticsearch.Net.JsonReader.ReadIsInArray(Int32& count)
at Nest.AggregateFormatter.GetMultiBucketAggregate(JsonReader& reader, IJsonFormatterResolver formatterResolver, ArraySegment1& propertyName)
at Nest.AggregateFormatter.ReadAggregate(JsonReader& reader, IJsonFormatterResolver formatterResolver)
at Nest.AggregateFormatter.GetSubAggregates(JsonReader& reader, String name, IJsonFormatterResolver formatterResolver)
at Nest.AggregateFormatter.GetSingleBucketAggregate(JsonReader& reader, IJsonFormatterResolver formatterResolver)
at Nest.AggregateFormatter.ReadAggregate(JsonReader& reader, IJsonFormatterResolver formatterResolver)
at Nest.AggregateDictionaryFormatter.Deserialize(JsonReader& reader, IJsonFormatterResolver formatterResolver)
at Deserialize(Object[] , JsonReader& , IJsonFormatterResolver )
at Elasticsearch.Net.DynamicMethodAnonymousFormatter1.Deserialize(JsonReader& reader, IJsonFormatterResolver formatterResolver)
at Elasticsearch.Net.JsonSerializer.DeserializeT
at Elasticsearch.Net.JsonSerializer.DeserializeT
at Elasticsearch.Net.JsonSerializer.DeserializeT
at Nest.InternalSerializer.DeserializeT
at Elasticsearch.Net.ResponseBuilder.SetBodyTResponse
at Elasticsearch.Net.ResponseBuilder.ToResponseTResponse
at Elasticsearch.Net.HttpConnection.RequestTResponse
at Elasticsearch.Net.RequestPipeline.CallElasticsearchTResponse
at Elasticsearch.Net.Transport1.Request[TResponse](HttpMethod method, String path, PostData data, IRequestParameters requestParameters)
--- End of inner exception stack trace ---
at Elasticsearch.Net.Transport1.RequestTResponse
at Elasticsearch.Net.ElasticLowLevelClient.DoRequestTResponse
at Nest.ElasticClient.DoRequestTRequest,TResponse
at Nest.ElasticClient.SearchT
at xxxxx(Int64[] yyyy, Int64[] zzzz, DateTime fromDate, DateTime toDate) in xxxx:line 400
```
is there a chance that you could capture the JSON response and add it here too, with Fiddler or OnRequestCompleted?
Here JSON response filtered but seems to still throw that exception during deserialization phase:
Thanks for the response @meriturva, it was super helpful in identifying a couple of issues. I've opened https://github.com/elastic/elasticsearch-net/pull/3724 to address
Closing this as #3724 has been merged and will be in the next release