Friday, December 03, 2021

Error in ElasticSearch Cloud - The client is unable to verify that the server is Elasticsearch due to an unsuccessful product check call

When we get the below error, the issue might be with respect to establishing SSL connection with Elastic Search Cloud. 

If the client is connecting to ElasticSearch cloud with old TLS protocol (like 1.1), then you may get this error.

To connect with TLS 1.2, add the following line at appropriate place (if you are using .Net Framework).

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12

If it is a Web application/API, you can add it to Application_Start of Global.asax.

If it is a Console application, you can add it at the beginning or before making the call to ElasticSearch Cloud. 


 Invalid NEST response built from a unsuccessful () low level call on POST: /_bulk

# Invalid Bulk items:

# Audit trail of this API call:

 - [1] ProductCheckOnStartup: Took: 00:00:00.5350041

 - [2] ProductCheckFailure: Node: https://someid.region.azure.elastic-cloud.com:9243/ Took: 00:00:00.5350041

# OriginalException: Elasticsearch.Net.ElasticsearchClientException: The client is unable to verify that the server is Elasticsearch due to an unsuccessful product check call. Some functionality may not be compatible if the server is running an unsupported product. Call: Status code unknown from: GET / ---> Elasticsearch.Net.PipelineException: The client is unable to verify that the server is Elasticsearch due to an unsuccessful product check call. Some functionality may not be compatible if the server is running an unsupported product. ---> System.Net.WebException: The request was aborted: Could not create SSL/TLS secure channel.

   at System.Net.HttpWebRequest.GetResponse()

   at Elasticsearch.Net.HttpWebRequestConnection.Request[TResponse](RequestData requestData)

   --- End of inner exception stack trace ---

   at Elasticsearch.Net.RequestPipeline.ThrowIfTransientProductCheckFailure()

   at Elasticsearch.Net.RequestPipeline.Ping(Node node)

   at Elasticsearch.Net.Transport`1.Ping(IRequestPipeline pipeline, Node node)

   at Elasticsearch.Net.Transport`1.Request[TResponse](HttpMethod method, String path, PostData data, IRequestParameters requestParameters)

   --- End of inner exception stack trace ---

# Request:

<Request stream not captured or already read to completion by serializer. Set DisableDirectStreaming() on ConnectionSettings to force it to be set on the response.>

# Response:

No comments:

Post a Comment