Skip to content

elasticClient.Snapshot.GetRepository API raises JsonParsingException  #4467

@najamsaqib

Description

@najamsaqib

Hi Rus,
As suggested, I have opened this new issue for the problem I am facing when I call GetRepository API, I am getting "Elasticsearch.Net.Utf8Json.JsonParsingException: expected:'true | false', actual:'"true"'" when I call GetRepository API through NEST, but when i used LowLevel API to get repository it work but I am not sure how to parse the response.

API call & Json Output from Kibana/Sens is as follows
GET /_snapshot/_all
{
"test_repository" : {
"type" : "azure",
"settings" : {
"container" : "test-backup-container",
"client" : "default",
"base_path" : "test-backups",
"chunk_size" : "64mb"
}
},
"repo_aligncare_v7" : {
"type" : "azure",
"settings" : {
"container" : "aligncare-backup-container-02292020",
"base_path" : "aligncare-backups",
"chunk_size" : "64m",
"compress" : "true"
}
}
}

I think "compress" :"true" is causing the issue, because it worked fine when I called the API for the repository which wasn't configured to be compressed.

Here is the stack trace of the error i am getting, seems like issue related to JsonFormatter same as above case.

FailureReason: Unrecoverable/Unexpected BadResponse while attempting GET on http://localdev:9200/_snapshot/_all?pretty=true

Audit exception in step 1 BadResponse:

Elasticsearch.Net.Utf8Json.JsonParsingException: expected:'true | false', actual:'"true"', at offset:429
at Elasticsearch.Net.Utf8Json.JsonReader.ReadBoolean() in C:\Source\elasticsearch-net-7.x\src\Elasticsearch.Net\Utf8Json\JsonReader.cs:line 853
at Elasticsearch.Net.Utf8Json.Formatters.NullableBooleanFormatter.Deserialize(JsonReader& reader, IJsonFormatterResolver formatterResolver) in C:\Source\elasticsearch-net-7.x\src\Elasticsearch.Net\Utf8Json\Formatters\PrimitiveFormatter.cs:line 1330
at Deserialize(Object[] , JsonReader& , IJsonFormatterResolver )
at Elasticsearch.Net.Utf8Json.Resolvers.DynamicMethodAnonymousFormatter1.Deserialize(JsonReader& reader, IJsonFormatterResolver formatterResolver) in C:\Source\elasticsearch-net-7.x\src\Elasticsearch.Net\Utf8Json\Resolvers\DynamicObjectResolver.cs:line 1714 at Nest.GetRepositoryResponseFormatter.GetRepository[TRepository,TSettings](ArraySegment1 settings, IJsonFormatterResolver formatterResolver) in C:\Source\elasticsearch-net-7.x\src\Nest\Modules\SnapshotAndRestore\Repositories\GetRepository\GetRepositoryResponseFormatter.cs:line 120
at Nest.GetRepositoryResponseFormatter.Deserialize(JsonReader& reader, IJsonFormatterResolver formatterResolver) in C:\Source\elasticsearch-net-7.x\src\Nest\Modules\SnapshotAndRestore\Repositories\GetRepository\GetRepositoryResponseFormatter.cs:line 79
at Elasticsearch.Net.Utf8Json.JsonSerializer.Deserialize[T](Byte[] bytes, Int32 offset, IJsonFormatterResolver resolver) in C:\Source\elasticsearch-net-7.x\src\Elasticsearch.Net\Utf8Json\JsonSerializer.cs:line 262
at Elasticsearch.Net.Utf8Json.JsonSerializer.Deserialize[T](Byte[] bytes, IJsonFormatterResolver resolver) in C:\Source\elasticsearch-net-7.x\src\Elasticsearch.Net\Utf8Json\JsonSerializer.cs:line 244
at Elasticsearch.Net.Utf8Json.JsonSerializer.Deserialize[T](Stream stream, IJsonFormatterResolver resolver) in C:\Source\elasticsearch-net-7.x\src\Elasticsearch.Net\Utf8Json\JsonSerializer.cs:line 323
at Nest.DefaultHighLevelSerializer.Deserialize[T](Stream stream) in C:\Source\elasticsearch-net-7.x\src\Nest\CommonAbstractions\SerializationBehavior\DefaultHighLevelSerializer.cs:line 24
at Elasticsearch.Net.DiagnosticsSerializerProxy.Deserialize[T](Stream stream) in C:\Source\elasticsearch-net-7.x\src\Elasticsearch.Net\Serialization\DiagnosticsSerializerProxy.cs:line 78
at Elasticsearch.Net.ResponseBuilder.SetBody[TResponse](ApiCallDetails details, RequestData requestData, Stream responseStream, String mimeType) in C:\Source\elasticsearch-net-7.x\src\Elasticsearch.Net\Transport\Pipeline\ResponseBuilder.cs:line 113
at Elasticsearch.Net.ResponseBuilder.ToResponse[TResponse](RequestData requestData, Exception ex, Nullable1 statusCode, IEnumerable1 warnings, Stream responseStream, String mimeType) in C:\Source\elasticsearch-net-7.x\src\Elasticsearch.Net\Transport\Pipeline\ResponseBuilder.cs:line 31
at Elasticsearch.Net.HttpWebRequestConnection.Request[TResponse](RequestData requestData) in C:\Source\elasticsearch-net-7.x\src\Elasticsearch.Net\Connection\HttpWebRequestConnection.cs:line 73
at Elasticsearch.Net.RequestPipeline.CallElasticsearch[TResponse](RequestData requestData) in C:\Source\elasticsearch-net-7.x\src\Elasticsearch.Net\Transport\Pipeline\RequestPipeline.cs:line 168
at Elasticsearch.Net.Transport`1.Request[TResponse](HttpMethod method, String path, PostData data, IRequestParameters requestParameters) in C:\Source\elasticsearch-net-7.x\src\Elasticsearch.Net\Transport\Transport.cs:line 73

Inner Exception: expected:'true | false', actual:'"true"', at offset:429

Elasticsearch.Net.Utf8Json.JsonParsingException: expected:'true | false', actual:'"true"', at offset:429
at Elasticsearch.Net.Utf8Json.JsonReader.ReadBoolean() in C:\Source\elasticsearch-net-7.x\src\Elasticsearch.Net\Utf8Json\JsonReader.cs:line 853
at Elasticsearch.Net.Utf8Json.Formatters.NullableBooleanFormatter.Deserialize(JsonReader& reader, IJsonFormatterResolver formatterResolver) in C:\Source\elasticsearch-net-7.x\src\Elasticsearch.Net\Utf8Json\Formatters\PrimitiveFormatter.cs:line 1330
at Deserialize(Object[] , JsonReader& , IJsonFormatterResolver )
at Elasticsearch.Net.Utf8Json.Resolvers.DynamicMethodAnonymousFormatter1.Deserialize(JsonReader& reader, IJsonFormatterResolver formatterResolver) in C:\Source\elasticsearch-net-7.x\src\Elasticsearch.Net\Utf8Json\Resolvers\DynamicObjectResolver.cs:line 1714 at Nest.GetRepositoryResponseFormatter.GetRepository[TRepository,TSettings](ArraySegment1 settings, IJsonFormatterResolver formatterResolver) in C:\Source\elasticsearch-net-7.x\src\Nest\Modules\SnapshotAndRestore\Repositories\GetRepository\GetRepositoryResponseFormatter.cs:line 120
at Nest.GetRepositoryResponseFormatter.Deserialize(JsonReader& reader, IJsonFormatterResolver formatterResolver) in C:\Source\elasticsearch-net-7.x\src\Nest\Modules\SnapshotAndRestore\Repositories\GetRepository\GetRepositoryResponseFormatter.cs:line 79
at Elasticsearch.Net.Utf8Json.JsonSerializer.Deserialize[T](Byte[] bytes, Int32 offset, IJsonFormatterResolver resolver) in C:\Source\elasticsearch-net-7.x\src\Elasticsearch.Net\Utf8Json\JsonSerializer.cs:line 262
at Elasticsearch.Net.Utf8Json.JsonSerializer.Deserialize[T](Byte[] bytes, IJsonFormatterResolver resolver) in C:\Source\elasticsearch-net-7.x\src\Elasticsearch.Net\Utf8Json\JsonSerializer.cs:line 244
at Elasticsearch.Net.Utf8Json.JsonSerializer.Deserialize[T](Stream stream, IJsonFormatterResolver resolver) in C:\Source\elasticsearch-net-7.x\src\Elasticsearch.Net\Utf8Json\JsonSerializer.cs:line 323
at Nest.DefaultHighLevelSerializer.Deserialize[T](Stream stream) in C:\Source\elasticsearch-net-7.x\src\Nest\CommonAbstractions\SerializationBehavior\DefaultHighLevelSerializer.cs:line 24
at Elasticsearch.Net.DiagnosticsSerializerProxy.Deserialize[T](Stream stream) in C:\Source\elasticsearch-net-7.x\src\Elasticsearch.Net\Serialization\DiagnosticsSerializerProxy.cs:line 78
at Elasticsearch.Net.ResponseBuilder.SetBody[TResponse](ApiCallDetails details, RequestData requestData, Stream responseStream, String mimeType) in C:\Source\elasticsearch-net-7.x\src\Elasticsearch.Net\Transport\Pipeline\ResponseBuilder.cs:line 113
at Elasticsearch.Net.ResponseBuilder.ToResponse[TResponse](RequestData requestData, Exception ex, Nullable1 statusCode, IEnumerable1 warnings, Stream responseStream, String mimeType) in C:\Source\elasticsearch-net-7.x\src\Elasticsearch.Net\Transport\Pipeline\ResponseBuilder.cs:line 31
at Elasticsearch.Net.HttpWebRequestConnection.Request[TResponse](RequestData requestData) in C:\Source\elasticsearch-net-7.x\src\Elasticsearch.Net\Connection\HttpWebRequestConnection.cs:line 73
at Elasticsearch.Net.RequestPipeline.CallElasticsearch[TResponse](RequestData requestData) in C:\Source\elasticsearch-net-7.x\src\Elasticsearch.Net\Transport\Pipeline\RequestPipeline.cs:line 168
at Elasticsearch.Net.Transport`1.Request[TResponse](HttpMethod method, String path, PostData data, IRequestParameters requestParameters) in C:\Source\elasticsearch-net-7.x\src\Elasticsearch.Net\Transport\Transport.cs:line 73

Exception:

Elasticsearch.Net.UnexpectedElasticsearchClientException: expected:'true | false', actual:'"true"', at offset:429 ---> Elasticsearch.Net.Utf8Json.JsonParsingException: expected:'true | false', actual:'"true"', at offset:429
at Elasticsearch.Net.Utf8Json.JsonReader.ReadBoolean() in C:\Source\elasticsearch-net-7.x\src\Elasticsearch.Net\Utf8Json\JsonReader.cs:line 853
at Elasticsearch.Net.Utf8Json.Formatters.NullableBooleanFormatter.Deserialize(JsonReader& reader, IJsonFormatterResolver formatterResolver) in C:\Source\elasticsearch-net-7.x\src\Elasticsearch.Net\Utf8Json\Formatters\PrimitiveFormatter.cs:line 1330
at Deserialize(Object[] , JsonReader& , IJsonFormatterResolver )
a...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions