Skip to content
This repository was archived by the owner on Jun 1, 2024. It is now read-only.

Commit fbba80b

Browse files
fixes: v9.0.0 fails template creation with ES v7 with ElasticsearchClientException #518 (#533)
Co-authored-by: AlexGoris-KasparSolutions
1 parent 376ec1e commit fbba80b

File tree

5 files changed

+11
-13
lines changed

5 files changed

+11
-13
lines changed

src/Serilog.Sinks.Elasticsearch/Sinks/ElasticSearch/ElasticsearchSinkState.cs

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,6 @@ public static ElasticsearchSinkState Create(ElasticsearchSinkOptions options)
5252

5353
private readonly ElasticsearchVersionManager _versionManager;
5454

55-
private bool IncludeTypeName => _versionManager.EffectiveVersion.Major >= 7;
56-
5755
public ElasticsearchSinkOptions Options => _options;
5856
public IElasticLowLevelClient Client => _client;
5957
public ITextFormatter Formatter => _formatter;
@@ -172,20 +170,16 @@ public void RegisterTemplateIfNeeded()
172170
}
173171
}
174172

175-
StringResponse result;
176-
if (_versionManager.EffectiveVersion.Major < 8)
177-
{
178-
result = _client.Indices.PutTemplateForAll<StringResponse>(_templateName, GetTemplatePostData(),
173+
var result = _versionManager.EffectiveVersion.Major switch
174+
{
175+
< 8 => _client.Indices.PutTemplateForAll<StringResponse>(_templateName, GetTemplatePostData(),
179176
new PutIndexTemplateRequestParameters
180177
{
181-
IncludeTypeName = IncludeTypeName ? true : (bool?)null
182-
});
183-
}
184-
else
185-
{
178+
IncludeTypeName = _versionManager.EffectiveVersion.Major < 7 ? true : null
179+
}),
186180
// Default to version 8 API
187-
result = _client.Indices.PutTemplateV2ForAll<StringResponse>(_templateName, GetTemplatePostData());
188-
}
181+
_ => _client.Indices.PutTemplateV2ForAll<StringResponse>(_templateName, GetTemplatePostData()),
182+
};
189183

190184
if (!result.Success)
191185
{

test/Serilog.Sinks.Elasticsearch.Tests/Templating/SendsTemplateTests.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ public void TemplatePutToCorrectUrl()
4242
{
4343
var uri = _templatePut.Item1;
4444
uri.AbsolutePath.Should().Be("/_template/serilog-events-template");
45+
uri.Query.Should().Be(string.Empty);
4546
}
4647
}
4748
}

test/Serilog.Sinks.Elasticsearch.Tests/Templating/Sendsv6TemplateTests.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ public void TemplatePutToCorrectUrl()
4343
{
4444
var uri = _templatePut.Item1;
4545
uri.AbsolutePath.Should().Be("/_template/serilog-events-template");
46+
uri.Query.Should().Be("?include_type_name=true");
4647
}
4748
}
4849
}

test/Serilog.Sinks.Elasticsearch.Tests/Templating/Sendsv7TemplateTests.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ public void TemplatePutToCorrectUrl()
4444
{
4545
var uri = _templatePut.Item1;
4646
uri.AbsolutePath.Should().Be("/_template/serilog-events-template");
47+
uri.Query.Should().Be(string.Empty);
4748
}
4849
}
4950
}

test/Serilog.Sinks.Elasticsearch.Tests/Templating/Sendsv8TemplateTests.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ public void TemplatePutToCorrectUrl()
4343
{
4444
var uri = _templatePut.Item1;
4545
uri.AbsolutePath.Should().Be("/_index_template/serilog-events-template");
46+
uri.Query.Should().Be(string.Empty);
4647
}
4748
}
4849
}

0 commit comments

Comments
 (0)