Replies: 2 comments 5 replies
|
Are each of the erlang nodes single cpu systems? Then there could be an issue with parallelism as other work may stop the aten sink process from running in a timely manner, combined with warping times could well result in false positives. Aten will never guarantee that there won't be false positives btw, you need to supplement the aten notification with additional probes/checks before you take any form of drastic action. Did it help at all to change to monotonic time? tbh aten probably should use monotonic time instead of system time. |
5 replies
|
This belongs to a discussion, which this repository apparently did not have enabled. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Describe the bug
Hello.
We are experiencing something with aten, what we are calling "spurious events", and we would like to know if you guys could give us some insigths.
We have a cluster of 8 cpus (seperate boards) and all of them have aten started. We noticed that some boards receive up/down events, while others do not.
For instance, there are 3 boards, board1, board3 and board8. Sometimes,board8 receives board1 down, but board3 does not. And board1 was never down.
So, we start debugging and find out that it wasn´t a network issue.
Then we moved to cpu usage, and figure that we had a sub-system which was taking a lot of cpu.
After disabling these sub-systems, we still had "spurious events". Less, but still. So we kept debugging, and notice some ntp issues on our system.
We are at this stage right now. We tried to generate those events moving time forward. The events happens but not in a deterministic way.
Could NTP be a source of the problem?
We are using time correction with multi_time_warp.
The vm.args parameters look like this:
In a first attempt to fix the issue, we changed aten_detect:ts() to use monotonic_time:
Link: https://github.com/rabbitmq/aten/blob/main/src/aten_detect.erl#L73
instead of system_time, are we safe from time warping of the monotonic clock?
Should we play with aten parameters instead?
What is the best approach here?
Kind regards,
Reproduction steps
Expected behavior
Aten should not generate "spurious event" while nodes are reachable.
Additional context
No response
All reactions