-
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
[Heartbeat] Crashing on concurrent map write #6616
Comments
@ruflin FYI, I added this one to the Heartbeat GA checklist. |
RHEL 7 64bit:
|
Windows server 2016:
|
Windows yml file:
RHEL yml file:
|
The work around for me is to add "max_procs: 1" in the general section of the heartbeat.yml |
It seems two go routines write to the same map: beats/heartbeat/monitors/util.go Line 133 in 1a25c91
and beats/heartbeat/beater/manager.go Line 293 in 1a25c91
@urso Does that trigger anything on your end? We should probably have a copy of the fields or use a lock? |
It's not that simple. Events are build in multiple steps. It could be a step in the past did a deep-update using a global shared map. That global shared map is now updated again using DeepUpdate. Could be anywhere. Unfortunately beats events don't have any copy-on-write semantics. (That's the reason we always Clone shared maps in the publisher pipelines processors). |
Heartbeat is crashing after ~20 minutes with fatal map errors ("concurrent map writes" or "concurrent map iteration and map write").
For confirmed bugs, please report:
The text was updated successfully, but these errors were encountered: