Skip to content

Pre-flight product check #5728

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 25 commits into from
Jun 29, 2021
Merged

Pre-flight product check #5728

merged 25 commits into from
Jun 29, 2021

Conversation

stevejgordon
Copy link
Contributor

Adds support for running a pre-flight check on first use to check the product and version.

This check is part of the request pipeline and runs once, before any other requests to check the validity of the product, issuing appropriate warnings and errors when failures are detected.

@stevejgordon
Copy link
Contributor Author

CI build is unrelated and fixed in #5729

@stevejgordon stevejgordon force-pushed the feature/product-check branch from 2685ea5 to 159363f Compare June 17, 2021 14:18
@stevejgordon stevejgordon marked this pull request as draft June 18, 2021 13:20
@stevejgordon stevejgordon marked this pull request as ready for review June 29, 2021 06:40
@stevejgordon stevejgordon merged commit d110a99 into 7.x Jun 29, 2021
@stevejgordon stevejgordon deleted the feature/product-check branch June 29, 2021 06:40
@stevejgordon stevejgordon changed the title [WIP] Pre-flight product check Pre-flight product check Jul 22, 2021
@glautrou
Copy link

glautrou commented Aug 9, 2021

This is a breaking change, not an enhancement.

After upgrading from NuGet "NEST 7.13.2" to "NEST 7.14.0" I get the following error:
Elasticsearch.Net.UnsupportedProductException: The client noticed that the server is not a supported distribution of Elasticsearch.

Associated code:

client.Ingest.PutPipeline(PipelineName, p => p
    .Description(PipelineDescription)
    .Processors(pr => pr
        .Attachment<GedIndex>(a => a
            .Field(f => f.ContenuBase64)
            .TargetField(f => f.Attachment)
        )
        .Remove<GedIndex>(r => r
            .Field(f => f
                .Field(j => j.ContenuBase64))
        )
    )
);

ES instance = v.7.9.2.

Note : I use the official ES Ingest Attachment Processor Plugin.

@jbrouwer1
Copy link

We have the same problem when updating Elasticsearch.Net to 7.14.0 and NEST to 7.14.0
Our AWS ES instance is v7.9 but what versions are supported for the new check to pass?
@stevejgordon

@stevejgordon
Copy link
Contributor Author

@glautrou With the 7.11 release of Elasticsearch, we no longer release oss-only distributions, as stated in the FAQ on license change. The recommendation is to upgrade to the latest default distribution of Elasticsearch, which is free to use under Elastic License v2. Otherwise, you can pin the client version to <7.14.

We have labelled this as an enhancement since it affects only unsupported client and server combinations. In supported configurations, the change is not breaking. The intent here is to make this incompatibility explicit by failing fast to avoid consumers incorrectly assuming they are running in a supported configuration which is not tested and may not function as expected.

@jbrouwer1 The Elasticsearch clients go through rigorous testing and validation against the official Elasticsearch distribution coming from Elastic. Since the AWS Elasticsearch Service has incompatible APIs with Elasticsearch itself, either by missing APIs or has incompatible format, we do not support it. Please consider using Elastic Cloud for an official and formally supported hosted Elasticsearch distribution.

@elastic elastic locked as resolved and limited conversation to collaborators Aug 9, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants