-
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
[ML] Take more care that memory estimation uses unique named pipes #60395
[ML] Take more care that memory estimation uses unique named pipes #60395
Conversation
Prior to this change ML memory estimation processes for a given job would always use the same named pipe names. This would often cause one of the processes to fail. This change avoids this risk by adding an incrementing counter value into the named pipe names used for memory estimation processes. Relates elastic/kibana#70885
Pinging @elastic/ml-core (:ml) |
Although this problem has existed as long as we've had memory estimation functionality for data frame analytics it has become a major problem for 7.9 because the data frame analytics config UI refactor in 7.9 now regularly triggers this bug. |
Jenkins run elasticsearch-ci/2 |
Prior to this change ML memory estimation processes for a given job would always use the same named pipe names. This would often cause one of the processes to fail. This change avoids this risk by adding an incrementing counter value into the named pipe names used for memory estimation processes. Backport of elastic#60395
Prior to this change ML memory estimation processes for a given job would always use the same named pipe names. This would often cause one of the processes to fail. This change avoids this risk by adding an incrementing counter value into the named pipe names used for memory estimation processes. Backport of elastic#60395
…60405) Prior to this change ML memory estimation processes for a given job would always use the same named pipe names. This would often cause one of the processes to fail. This change avoids this risk by adding an incrementing counter value into the named pipe names used for memory estimation processes. Backport of #60395
…60406) Prior to this change ML memory estimation processes for a given job would always use the same named pipe names. This would often cause one of the processes to fail. This change avoids this risk by adding an incrementing counter value into the named pipe names used for memory estimation processes. Backport of #60395
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.
LGTM
The changes of elastic#54636 and elastic#60395 were incorrect in their assertion that "the job ID passed to the process pipes is only used to make the file names unique". In fact it is also passed to the C++ log handler and gets logged with every message logged by the C++ processes. This PR splits the job ID and unique IDs (added in elastic#54636 and elastic#60395) so that the correct job ID is passed to the log handler. Nothing really bad happened as a result of this problem - it was just cosmetic.
The changes of #54636 and #60395 were incorrect in their assertion that "the job ID passed to the process pipes is only used to make the file names unique". In fact it is also passed to the C++ log handler and gets logged with every message logged by the C++ processes. This PR splits the job ID and unique IDs (added in #54636 and #60395) so that the correct job ID is passed to the log handler. Nothing really bad happened as a result of this problem - it was just cosmetic.
The changes of #54636 and #60395 were incorrect in their assertion that "the job ID passed to the process pipes is only used to make the file names unique". In fact it is also passed to the C++ log handler and gets logged with every message logged by the C++ processes. This PR splits the job ID and unique IDs (added in #54636 and #60395) so that the correct job ID is passed to the log handler. Nothing really bad happened as a result of this problem - it was just cosmetic.
Prior to this change ML memory estimation processes for a
given job would always use the same named pipe names. This
would often cause one of the processes to fail.
This change avoids this risk by adding an incrementing counter
value into the named pipe names used for memory estimation
processes.
Relates elastic/kibana#70885