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

Change default TypeName to '_doc' #298

Closed

Conversation

NikolajDL
Copy link

Fixes #200

It introduces a potential "breaking change", since it influences code relying on the former default TypeName.

@mivano
Copy link
Contributor

mivano commented Nov 26, 2019

Thanks for the PR, this is indeed a breaking change. But when needed at some point, we should go for it. I m not completely into this anymore, @Mpdreamz can I ask you for some advice? Would this be needed already, be conditional (as we are supporting now some concept of ES versions) or break and document?

@Mpdreamz
Copy link
Contributor

Mpdreamz commented Dec 2, 2019

The current form its conditional:

If _options.DetectElasticsearchVersion is set and we see that we are targeting ES 7.x we default to _doc.

We also detect if the intended template to be registered is the v6 to include type name or not in the put template call.

DetectElasticsearchVersion defaults to false though as to not need to introduce a new major version.

I think defaulting to _doc and possibly enabling DetectElasticsearchVersion by default would be good at this point in time to move forward.

@mivano
Copy link
Contributor

mivano commented Dec 3, 2019

Thanks for the input. @excolo can you reflect this in the readme and changelog markdown files as well?

@NikolajDL
Copy link
Author

@mivano Certainly. I'll see to it tomorrow.

@mivano
Copy link
Contributor

mivano commented Dec 16, 2019

@excolo had any time to change it in the docs?

@mivano
Copy link
Contributor

mivano commented Dec 16, 2019

This is merged into dev now.

@mivano mivano closed this Dec 16, 2019
@mivano
Copy link
Contributor

mivano commented Dec 16, 2019

Thanks for the PR. I updated the changelog.

mikkelbu added a commit to mikkelbu/serilog-sinks-elasticsearch that referenced this pull request Jul 1, 2021
The default TypeName was changed to '_doc' in serilog-contrib#298
mivano pushed a commit that referenced this pull request Jul 1, 2021
The default TypeName was changed to '_doc' in #298
mivano added a commit that referenced this pull request Feb 2, 2023
* Create codeql-analysis.yml (#370)

* fix: Correct comment about default TypeName (#393)

The default TypeName was changed to '_doc' in #298

* Proper handling of TypeName = null from appsettings.json (#420)

Co-authored-by: Marius Wingerei <mawi@berg-hansen.no>

* Add `ElasticsearchSinkOptions.BufferFileRollingInterval` option (#416)

* Add `ElasticsearchSinkOptions.BufferFileRollingInterval` option

- Using this option we can customize buffer file rolling interval. The default is `RollingInterval.Day` (so no changes here). In some cases higher granularity may be needed.
- Changed regular expression for FileSet to get buffer files to support different rolling interval file name formats - from Infinite to Minute. All of them are different amount of digits representing date - 0(Infinite), 4(Year),..., 12 (Minute). So replaced expression part for day format `(?<date>\\d{8})` with the expression for all interval date `(?<date>\\d{0,12})`.

* Add tests for the desired functionality, which fail now.

- Return code to support only Daily rolling interval
- Add RollingIntervalExtensions.cs (origin: Serilog.Sinks.File) with InternalVisible attribute to be able to test
- Add InternalVisible to FileSet.cs to be able to test it
- Sign tests assembly the same way as Serilog.Sinks.Elasticsearch for InternalVisible to work

* Support different rolling intervals for DurableElasticsearchSink rolling files.

- Make support only for intervals like Day, Hour, Minute. As for less frequent intervals we cannot get specific date (specific day) for passing to _getIndexForEvent in `ElasticsearchPayloadReader`.
- Support handling rolling files for different intervals in `ElasticsearchPayloadReader` and `FileSet` by using corresponding formats and search patterns.
- Add tests of changed code - for `ElasticsearchPayloadReader` and `FileSet`

* Remove redundant spaces

* Fix internal or IntelliSense typos (#406)

Cleaning up a few very minor typos in internal methods or exposed via
IntelliSense:

 * "semi column" -> "semi-colon"
 * "preforming" -> "performing"
 * "CreatePlayLoad" -> "CreatePayload"

Co-authored-by: Bo Flynn <Bo.Flynn@nethealth.com>

* Clean package sources

* clean obsolete .net versions

* updated packages

* added dependabot

* Bump actions/setup-dotnet from 1 to 2 (#431)

Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 1 to 2.
- [Release notes](https://github.com/actions/setup-dotnet/releases)
- [Commits](actions/setup-dotnet@v1...v2)

---
updated-dependencies:
- dependency-name: actions/setup-dotnet
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump actions/checkout from 2 to 3 (#427)

Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump actions/cache from 2 to 3 (#429)

Bumps [actions/cache](https://github.com/actions/cache) from 2 to 3.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](actions/cache@v2...v3)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump actions/download-artifact from 2 to 3 (#424)

Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 2 to 3.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](actions/download-artifact@v2...v3)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* added dependencies

* copy local files

* updating versions

* publish test results

* remove old nuspec and updated icons

* added icon

* updates

* fix build

* multiple packages

* name

* cicd

* skip test for now as it is flaky

* version

* Names

* use correct folder

* older version

* diffferent way of pushing

* enviroment

* Remove app veyor and dotnet-version

* Use repo owner

* use dotnet nuget

* logging

* remove @

* --skip-duplicate

* update project url

* Updated changelog

* paths

* use correct output path

* remove the source

* skip duplicates

* Bump actions/setup-dotnet from 2 to 3.0.2 (#478)

Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 2 to 3.0.2.
- [Release notes](https://github.com/actions/setup-dotnet/releases)
- [Commits](actions/setup-dotnet@v2...v3.0.2)

---
updated-dependencies:
- dependency-name: actions/setup-dotnet
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update cicd.yaml

* Bump actions/download-artifact from 1 to 3 (#439)

Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 1 to 3.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](actions/download-artifact@v1...v3)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump actions/upload-artifact from 2 to 3 (#438)

Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](actions/upload-artifact@v2...v3)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update cicd.yaml

* fix file references in the Visual Studio Solution file. (#461)

Co-authored-by: Nenad Vicentic <vicentic@immounited.com>

* Bump actions/setup-dotnet from 3.0.2 to 3.0.3 (#487)

Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 3.0.2 to 3.0.3.
- [Release notes](https://github.com/actions/setup-dotnet/releases)
- [Commits](actions/setup-dotnet@v3.0.2...v3.0.3)

---
updated-dependencies:
- dependency-name: actions/setup-dotnet
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump github/codeql-action from 1 to 2 (#426)

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 1 to 2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@v1...v2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Automatically handle `TypeName` parameter for different versions of Elasticsearch (<7, 7 or higher) (#462)

* fix file references in the Visual Studio Solution file.

* Do not set `TypeName` by default any more.
* last version of Elasticsearch that supported user-defined `_type` field - v6.8.x is running out of support on 2022-02-10 (https://www.elastic.co/support/eol)

* Automatically handle `ElasticsearchSinkOptions.TypeName` for different versions Elasticsearch (<7, 7+) when `ElasticsearchSinkOptions.DetectElasticsearchVersion` is enabled.

* Add unit test for automatic settings of `TypeName` when `DetectElasticsearchVersion` is set to `true`.
- Two methods used - instantiate `ElasticsearchSinkState` directly and via `LoggerConfiguration`

* Add Elasticsearch v8 template + parsing of Elasticsearch major version to `int` + decision branch for which version of index-template API to use + removal of obsolete `ElasticsearchTemplateProvider.GetTemplate(...)` method overload.

* Upgrade to .NET 6.0 and update test-frameworks related NuGet pacakges

* Upgrade to Elasticsearch.NET 7.17.5 + handle new "preflight" request

https://discuss.elastic.co/t/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/310969/9

"The 7.16 client performs a pre-flight GET request to the root URL of the server before the first request.".

* Make `ConnectionStub` a bit more robust .

* Use `System.Version` to parse Elasticsearch server version number (similar to what `Elasticsearch.Net` does)

* Update NuGet packages

* Replace obsolete NuGet package `Serilog.Sinks.ColoredConsole` with `Serilog.Sinks.Console`

* Update `Serilog.Sinks.PeriodicBatching` package and reimplent `ElasticsearchSink` so that it does not use obsolete `PeriodicBatchingSink` constructor.

* Better handling of Elasticsearch server version number in mocked `ConnectionStub`

* Cleanup: refactor to use single `JsonEquals` method.

* Turn on `DetectElasticSearchVersion` option by default. Assume version 7 on fallback.

* Cleanup: remove unused namespaces

* Cleanup: move `ElasticsearchSinkTestsBase` into `Stubs` subfolder.

* Refactor: extract `ConnectionStub` into a separate file.

* Fix: json comparison in .NET Framework 4.6+

* Run unit-tests on multiple .NET frameworks.

* Cleanup: remove unused NUnit runner package.

* Use newer, built-in compilation constants.
https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/preprocessor-directives#conditional-compilation

* Use standard MSBuild property `IsPackable` for clarity.

* Cleanup: remove unused package refrence.

* Update GitHub actions

* docs: updated documentation to reflect  changes in behavior of the sink.

Co-authored-by: Nenad Vicentic <vicentic@immounited.com>

* Update dotnet sdk

* disable net48 tests

* set api key

* Remove support for Elasticsearch v2 and v5. (#488)

* Remove support for Elasticsearch v2 and v5.

* Code-conventions: add rule for underscore `_` on private fields (as it already is in the code).

* Remove GitHub's `set-output` command deprication warning.

Co-authored-by: Nenad Vicentic <vicentic@immounited.com>

* added path for tests

* fix: Example in README is incorrect #402 (#496)

* Applying right versioning

* Update AssemblyInfo.cs

* Remove `AssemblyInfo.cs` and move attributes to the `*.csproj` file. This enables setting assembly version via command line and CI. (#501)

1. Build and pack:
    dotnet build -c Release -p:Version=9.0.0-beta11
    dotnet pack -c Release --no-build  -p:Version=9.0.0-beta11
2. Pack (with implicit build)
    dotnet pack -c Release -p:Version=9.0.0-beta11

Co-authored-by: Nenad Vicentic <vicentic@immounited.com>

* Read Elasticsearch server version from a root page response (#502)

Co-authored-by: Nenad Vicentic <vicentic@immounited.com>

* Versioning and permission for unit tests

* [no ci]

* #498 Disable `PublicSign` to fix strong-name signature verification issue of assemblies from public NuGet package: (#504)

> Could not load file or assembly 'Serilog.Formatting.Elasticsearch' or one of its dependencies. Strong name signature could not be verified. The assembly may have been tampered with, or it was delay signed but not fully signed with the correct private key. (Exception from HRESULT: 0x80131045)"

Co-authored-by: Nenad Vicentic <vicentic@immounited.com>

* [no ci]

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Mikkel Nylander Bundgaard <mikkelbu@users.noreply.github.com>
Co-authored-by: mariwing <mariwing@gmail.com>
Co-authored-by: Marius Wingerei <mawi@berg-hansen.no>
Co-authored-by: Andrey Kozlov <andrey.kozlov@skuvault.com>
Co-authored-by: Bo Flynn <boflynn@gmail.com>
Co-authored-by: Bo Flynn <Bo.Flynn@nethealth.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nenad Vićentić <nenadvicentic@users.noreply.github.com>
Co-authored-by: Nenad Vicentic <vicentic@immounited.com>
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.

Change default TypeName to _doc
3 participants