-
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
[Logs+] Assign a default @timestamp if missing #95551
Comments
Pinging @elastic/es-data-management (Team:Data Management) |
For anyone doing the implementation, please add this functionality to |
Yep, that was the plan 👍 |
I started implementing this and while searching for a way to represent and load pipelines as JSON files I bumped into #95198, which seems to be pretty identical to what I started doing, only as part of Enterprise Search.
|
@jbaiera @dakrone when adding composable templates, we first verify that all required component templates exist as well.
|
One more question in this regard- since all components are added through asynchronous client calls, what prevents a race condition between their addition? For example, if a composable template C is composed of templates A and B, and all of those are added at the same |
Either way, the one that was added is in the
I'm generally +1 on verifying, so I think it'd be great if we could verify that the pipeline existed from within the registry when the the
I think this would be a breaking change if we did this at the template level, and since we don't do it for index creation, I don't think we should.
The registry-based validation I think we should investigate (to see how hard it is at the least).
Putting the composable template performs a check that all the required component templates already exist, so it won't add the composable template until it passes that validation. |
Thanks for the answers!
I think I meant what you mean, but just to be sure- my intention is to add a validation within the registry exactly like the one you referenced and I get it that you are +1 on that
Right, I meant in the registry, where it can't be a breaking change as it was not supported until we add it now
That is exactly what I meant to ask- if a composable template C is composed of templates A and B, and all of those are added at the same |
For example, I think we may consider upgrading this verification to observe the versions of the installed components. So that if a composable template C is composed of A and B and the required version of C is 3, then A and B need not only to be installed, but also have the right version. Does this make sense? |
They aren't all added in the same
Hopefully that helps clarify? Let me know if not.
I am not convinced for this validation, for example, we allow installing a higher version of a template (component or composable) as an escape hatch for when a user needs to quickly make a configuration change that will not be overridden. Adding this validation would break that behavior. Why should we validate this strictly? Are you concerned about the two being out of version alignment? |
Extremely helpful, that was exactly what I was looking for, thanks! What I was mainly missing is the fact that each cluster state change, including such related to added components, will trigger the event handling sequence, which is what guarantees that these additions will be sequential.
Maybe not likely as a permanent state, but I think this does break the sequentiality guarantee that you described above, at least for short terms, or for longer terms if a dependent template gets rejected for some reason. |
This issue is currently blocked on #95782 |
Multiple ways to do that were investigated in the past. The most generic is probably to install an ingest pipeline for
logs-*-*
data streams during setup. This is currently not possible in Elasticsearch, so this task should begin with investigation of the feasibility of this option. If we can add this capability natively to Elasticsearch, we will be able to benefit from it for other things we plan to do through ingest pipelines later on, like automatic detection of JSON inputs and rerouting (to enable automatic dataset separation, for example based on automatically discovered services).The text was updated successfully, but these errors were encountered: