elasticsearch-net icon indicating copy to clipboard operation
elasticsearch-net copied to clipboard

Elastic.Transport.UnexpectedTransportException: 'The JSON value could not be converted to Elastic.Clients.Elasticsearch.Ingest.InferenceConfig'

Open AntonDambrouski opened this issue 1 year ago • 2 comments

Elastic.Clients.Elasticsearch version: 8.9.2

Elasticsearch version: 8.9.1

.NET runtime version: net6.0

Operating system version: Windows 10

Description of the problem including expected versus actual behavior: The problem is that I'm trying to get info about the specific pipeline. If it dosn't exist - everything works fine, it returns 404 response. But if I have pipeline with 'inference_config', it throws the exception that it could not parse the json.

Steps to reproduce:

  1. Create pipeline with 'inference_config' set;
{
 "example-pipeline": {
   "description": "Text embedding pipeline",
   "processors": [
     {
       "inference": {
         "model_id": ".elser_model_1",
         "target_field": "ml",
         "field_map": {
           "name": "text_field"
         },
         "inference_config": {
           "text_expansion": {
             "results_field": "tokens"
           }
         }
       }
     }
   ]
 }
}
  1. Request this pipeline using .Net; var response = client.Ingest.GetPipeline(p => p.Id("example_pipeline"));

Expected behavior The client returns info about pipeline (if exists) without throwing any errors.

Provide DebugInformation (if relevant): Elastic.Transport.UnexpectedTransportException HResult=0x80131500 Message=The JSON value could not be converted to Elastic.Clients.Elasticsearch.Ingest.InferenceConfig. Path: $.inference_config | LineNumber: 0 | BytePositionInLine: 179. Source=Elastic.Transport StackTrace: at Elastic.Transport.DefaultHttpTransport1.ThrowUnexpectedTransportException[TResponse](Exception killerException, List1 seenExceptions, RequestData requestData, TResponse response, RequestPipeline pipeline) at Elastic.Transport.DefaultHttpTransport1.Request[TResponse](HttpMethod method, String path, PostData data, RequestParameters requestParameters) at Elastic.Clients.Elasticsearch.ElasticsearchClient.DoRequest[TRequest,TResponse,TRequestParameters](TRequest request, Action1 forceConfiguration) at Program.<Main>$(String[] args) in ...\Program.cs:line 11

This exception was originally thrown at this call stack: [External Code]

Inner Exception 1: JsonException: The JSON value could not be converted to Elastic.Clients.Elasticsearch.Ingest.InferenceConfig. Path: $.inference_config | LineNumber: 0 | BytePositionInLine: 179.

AntonDambrouski avatar Aug 29 '23 12:08 AntonDambrouski

Hi @AntonDambrouski, does this issue still exist in 8.13.x?

flobernd avatar Apr 18 '24 09:04 flobernd

Hello @flobernd, the issue still persists, but the method GetPipeline() is marked as obsolete. BTW I solved my task without this method, so if it is obsolete I guess we can close this issue. What do you think?

Here is the error details:

Elastic.Transport.UnexpectedTransportException HResult=0x80131500 Message=Unknown property name 'text_expansion' received while deserializing the 'InferenceConfig' from the response. Source=Elastic.Transport StackTrace: at Elastic.Transport.DistributedTransport1.ThrowUnexpectedTransportException[TResponse](Exception killerException, List1 seenExceptions, RequestData requestData, TResponse response, RequestPipeline pipeline) at Elastic.Transport.DistributedTransport1.<RequestCoreAsync>d__161.MoveNext() at System.Threading.Tasks.ValueTask1.get_Result() at System.Runtime.CompilerServices.ValueTaskAwaiter1.GetResult() at Elastic.Transport.TaskExtensions.EnsureCompleted[T](ValueTask1 task) at Elastic.Transport.DistributedTransport1.Request[TResponse](HttpMethod method, String path, PostData data, RequestParameters requestParameters, OpenTelemetryData& openTelemetryData) at Elastic.Clients.Elasticsearch.ElasticsearchClient.<>c__DisplayClass28_03.<<DoRequestCoreAsync>g__SendRequest|0>d.MoveNext() at Elastic.Clients.Elasticsearch.Ingest.IngestNamespacedClient.GetPipeline(Action1 configureRequest) at Program.<Main>$(String[] args) in..\Program.cs:line 8

This exception was originally thrown at this call stack: [External Code]

Inner Exception 1: JsonException: Unknown property name 'text_expansion' received while deserializing the 'InferenceConfig' from the response.

AntonDambrouski avatar May 28 '24 10:05 AntonDambrouski