-
Notifications
You must be signed in to change notification settings - Fork 4.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
[Ingest Manager] Restart process on output change #24907
[Ingest Manager] Restart process on output change #24907
Conversation
💚 Build Succeeded
Expand to view the summary
Build stats
Test stats 🧪
Trends 🧪💚 Flaky test reportTests succeeded. Expand to view the summary
Test stats 🧪
|
Pinging @elastic/agent (Team:Agent) |
Pinging @elastic/ingest-management (Team:Ingest Management) |
This pull request is now in conflicts. Could you fix it? 🙏
|
This pull request is now in conflicts. Could you fix it? 🙏
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change/code looks good, but I still don't like this idea.
Where we going to actually land this approach for 7.13? Have we noticed any side-effects with making this change?
@blakerouse You don't like the idea of restarting the process? @urso |
I would greatly prefer to fix the real issue versus a hack to make it work. |
The output reloading did never work without issues and should not have been used by agent in the first place. This is why I created: #24538 Although I would love to have the reloading issue fixed in Beats, it is no easy fix and we did try a few times in the past. But in order to fix the issue properly we would have to introduce some bigger architectural changes to libbeat, which was decided to postpone. The race condition in the reloading can lead to events not being removed from the memory/disk queue, which will eventually lead to a deadlock (in any Beat). Although restarting is quite intrusive, we do not expect this to happen every now and so often, right? |
@michalpristas Have you tried if you can reproduce the issue #23596 before/after the change? |
havent tried but i was not able to repro even before |
@urso With the new permissions work, any time a new integration is added to a policy that requires a new index or a new permission it will be marked as a new output and so the beats will be restarted. |
Yes, I'm aware of that. Getting your environment configured is somewhat bumpy right now. But once you are settled with your setup, reconfigurations of API keys should be an exception. |
…-github-pr-comment-template * upstream/master: [Ingest Manager] Keep http and logging config during enroll (elastic#25132) Refactor kubernetes autodiscover to avoid skipping short-living pods (elastic#24742) [libbeat] New decode xml wineventlog processor (elastic#25115) Add svc to agent k8s clusterRole (elastic#25146) Add awsfargate module to collect container logs from Amazon ECS on Fargate (elastic#25041) [Filebeat][Cisco ASA] log enhancement and performance (elastic#24744) Watch kubernetes namespaces for autodiscover metadata for pods (elastic#25117) Cyberark Privileged Access Security module (elastic#24803) [Elastic Agent] Log the container command output with LOGS_PATH (elastic#25150) Fix for tests after `device...` field has been removed (elastic#25141) [Ingest Manager] Restart process on output change (elastic#24907) Set --insecure in container when FLEET_SERVER_ENABLE and FLEET_INSECURE set. (elastic#25137) [filebeat] Update documentation / changelog / beta warnings for the syslog input (elastic#25047) Add support for ignore_inactive in filestream input (elastic#25036) Fix bug with annotations dedot config on k8s not used (elastic#25111)
What does this PR do?
This PR adds an option to specify in a spec file behavior on output change as sometimes new output definition is not reloaded correctly on beats side.
Endpoint reloads output ok, fleet server does not reload output at all but we agreed to fix it on server side.
Why is it important?
#23596
#24538
Checklist
CHANGELOG.next.asciidoc
orCHANGELOG-developer.next.asciidoc
.