Skip to content

1.9.0 client with elastic 1.7.5 GetTemplate fails with exception. #2188

@niemyjski

Description

@niemyjski

I'm doing a put

04:21.74738 T:DailyEmployeeIndex - PUT http://localhost:9200/_template/employees
{
  "template": "employees-v1-*",
  "settings": {},
  "mappings": {},
  "warmers": {},
  "aliases": {
    "employees": {}
  }
}

And then I do a Get

var template = await _client.GetTemplateAsync("employees");
Assert.True(template.IsValid);

which returns (via http GET _template/employees)

{
   "employees": {
      "order": 0,
      "template": "employees-v1-*",
      "settings": {},
      "mappings": {},
      "warmers": {},
      "aliases": {
         "employees": {}
      }
   }
}

Throws:

Newtonsoft.Json.JsonSerializationException
Could not create an instance of type Nest.ICreateAliasOperation. Type is an interface or abstract class and cannot be instantiated. Path 'employees.aliases.employees', line 1, position 118.
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateNewObject(JsonReader reader, JsonObjectContract objectContract, JsonProperty containerMember, JsonProperty containerProperty, String id, Boolean& createdFromNonDefaultCreator)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateDictionary(IDictionary dictionary, JsonReader reader, JsonDictionaryContract contract, JsonProperty containerProperty, String id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateDictionary(IDictionary dictionary, JsonReader reader, JsonDictionaryContract contract, JsonProperty containerProperty, String id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
   at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
   at Nest.NestSerializer.DeserializeUsingSettings[T](Stream stream, JsonSerializerSettings settings) in c:\code\elasticsearch-net\src\Nest\ExposedInternals\NestSerializer.cs:line 105
   at Nest.NestSerializer.Deserialize[T](Stream stream) in c:\code\elasticsearch-net\src\Nest\ExposedInternals\NestSerializer.cs:line 85
   at Nest.ElasticClient.DeserializeTemplateResponse(IElasticsearchResponse response, Stream stream) in c:\code\elasticsearch-net\src\Nest\ElasticClient-Template.cs:line 169
   at Elasticsearch.Net.Connection.RequestHandlers.RequestHandlerAsync.DeserializeAsyncToResponse[T](Stream response, ITransportRequestState requestState, ElasticsearchResponse`1 typedResponse, ReadResponse`1 readResponse) in c:\code\elasticsearch-net\src\Elasticsearch.Net\Connection\RequestHandlers\RequestHandlerAsync.cs:line 352
   at Elasticsearch.Net.Connection.RequestHandlers.RequestHandlerAsync.<>c__DisplayClass7_0`1.<ReturnTypedResponse>b__1(Task`1 gotStream) in c:\code\elasticsearch-net\src\Elasticsearch.Net\Connection\RequestHandlers\RequestHandlerAsync.cs:line 146
   at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
   at Elasticsearch.Net.ExceptionExtensions.RethrowKeepingStackTrace(Exception exception) in c:\code\elasticsearch-net\src\Elasticsearch.Net\Extensions\ExceptionExtensions.cs:line 21
   at Elasticsearch.Net.Connection.Transport.<>c__DisplayClass31_0`1.<DoRequestAsync>b__0(Task`1 t) in c:\code\elasticsearch-net\src\Elasticsearch.Net\Connection\Transport.cs:line 357
   at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
   at Elasticsearch.Net.ExceptionExtensions.RethrowKeepingStackTrace(Exception exception) in c:\code\elasticsearch-net\src\Nest\Extensions\ExceptionExtensions.cs:line 21
   at Nest.ElasticClient.<>c__DisplayClass492_0`4.<Nest.IHighLevelToLowLevelDispatcher.DispatchAsync>b__0(Task`1 r) in c:\code\elasticsearch-net\src\Nest\ElasticClient.cs:line 101
   at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at Foundatio.Repositories.Elasticsearch.Tests.IndexTests.<CanReindexTimeSeriesIndex>d__7.MoveNext() in C:\Code\Foundatio.Repositories\src\Elasticsearch\Tests\IndexTests.cs:line 122
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Xunit.Sdk.TestInvoker`1.<>c__DisplayClass46_1.<<InvokeTestMethodAsync>b__1>d.MoveNext() in C:\BuildAgent\work\cb37e9acf085d108\src\xunit.execution\Sdk\Frameworks\Runners\TestInvoker.cs:line 227
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Xunit.Sdk.ExecutionTimer.<AggregateAsync>d__4.MoveNext() in C:\BuildAgent\work\cb37e9acf085d108\src\xunit.execution\Sdk\Frameworks\ExecutionTimer.cs:line 48
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Xunit.Sdk.ExceptionAggregator.<RunAsync>d__9.MoveNext() in C:\BuildAgent\work\cb37e9acf085d108\src\xunit.core\Sdk\ExceptionAggregator.cs:line 90

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