You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The call fails with the exception message Cannot create an instance of OpenSearch.Client.S3Repository because it has no constructor taking 0 arguments.
What is the expected behavior?
A GetRepositoryResponse would be returned successfully containing two S3Repositorys in its Repositories dictionary, one with either null or empty settings, and the other with appropriately populated settings.
What is your host/environment?
I have seen the same issue locally using macOS and in the deployed environment running on x86 and arm ec2 instances (in a container).
and attempts to invoke a constructor by reflection that doesn't exist.
As a workaround I've tried listing all of the repositories besides cs-automated using the documented support for exclude pattern, but it doesn't work as expected on the server-side. I.e.
GET ***.es.amazonaws.com/_snapshot/*,-cs-automated?pretty
Since this area in the opensearch documentation is sparse, please advise if my query format expectations are wrong (there are no relevant examples of using exclude patterns in the official docs).
The text was updated successfully, but these errors were encountered:
What is the bug?
When listing snapshot repositories using
Snapshot.GetRepositoryAsync()
, s3 repositories without settings can't be deserialized.How can one reproduce the bug?
Using an AWS opensearch domain (not serverless) running version OpenSearch_2_11_R20231113-P3, when I send this request:
GET ***.es.amazonaws.com/_snapshot/_all?pretty
I get a response like this (some data redacted):
The
cs-automated
snapshot repository seems to have been created on my behalf by AWS, and is therefore presumably valid.Using this call defined by the
IOpenSearchClient
, using version 1.7.0:The call fails with the exception message
Cannot create an instance of OpenSearch.Client.S3Repository because it has no constructor taking 0 arguments.
What is the expected behavior?
A
GetRepositoryResponse
would be returned successfully containing twoS3Repository
s in itsRepositories
dictionary, one with either null or empty settings, and the other with appropriately populated settings.What is your host/environment?
I have seen the same issue locally using macOS and in the deployed environment running on x86 and arm ec2 instances (in a container).
Do you have any screenshots?
N/A
Do you have any additional context?
It seems to hit this condition:
opensearch-net/src/OpenSearch.Client/Snapshot/Repositories/GetRepository/GetRepositoryResponseFormatter.cs
Lines 144 to 145 in df71677
and attempts to invoke a constructor by reflection that doesn't exist.
As a workaround I've tried listing all of the repositories besides
cs-automated
using the documented support for exclude pattern, but it doesn't work as expected on the server-side. I.e.results in the following response
Since this area in the opensearch documentation is sparse, please advise if my query format expectations are wrong (there are no relevant examples of using exclude patterns in the official docs).
The text was updated successfully, but these errors were encountered: