-
Notifications
You must be signed in to change notification settings - Fork 24.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Synthetic _source: support ignore_malformed #90007
Comments
Pinging @elastic/es-analytics-geo (Team:Analytics) |
Pinging @elastic/es-search (Team:Search) |
Began in #90038 |
heya @nik9000 do you remember what is left to do here? |
AFAICS, Nik added support for the ip field type but others are missing. I guess the first step would be to create a list of all field types and tick the one(s) off that are supported already and then work on implementing support for the rest. We have recently made the change to use |
Nvm. this already exists here: #86603 |
Wow I missed this comment. Sorry. I left off trying to build |
Pinging @elastic/es-storage-engine (Team:StorageEngine) |
Currently
|
@lkts is that list meant to be exhaustive? It's also not supported by Lines 686 to 693 in 15be94a
|
Enable ignore_malformed on all non-metrics APM data streams, and enable ignore_dynamic_beyond_limit for all APM data streams. We can enable ignore_malformed on metrics data streams when elastic#90007 is fixed.
* apm-data: ignore_{malformed,dynamic_beyond_limit} Enable ignore_malformed on all non-metrics APM data streams, and enable ignore_dynamic_beyond_limit for all APM data streams. We can enable ignore_malformed on metrics data streams when #90007 is fixed. * Update docs/changelog/108444.yaml
I missed that, thank you for notifying. |
See #106483. |
Closing as a duplicate of #106483. |
As part of LX, we want to make log indices more lenient. Therefore, we're planning on using ignore_malformed. See also #88777. While using synthetic source is not a requirement for LX, we should think about how we could eventually leverage synthetic source to save space.
One of the blockers is that synthetic source doesn't have support for ignore_malformed. That's because malformed values will only be available in the _source. But if the source is synthetic, malformed values would just be lost.
We could to something similar to #89466 and store malformed values in a hidden stored field. One of the challenges is that stored fields are strictly typed (IINM) but the malformed value could be of any type. But we could just always store the malformed value in a string field, in the exact form that was provided in the JSON document. For example
"42"
(note the quotes),true
,42
. When re-constructing the _source, we can just use that value and append it to the JSON document. Just an idea :)cc @nik9000
The text was updated successfully, but these errors were encountered: