Skip to content
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

pass NODETOOL_NODE_PREFIX to relx-generated script, spare some atoms #1079

Conversation

hmmr
Copy link
Contributor

@hmmr hmmr commented Aug 29, 2021

Each time riak status (and the like) is run, relx generates a unique id which is then converted to an atom (of the form "[email protected]") in the riak VM to which it connects, eventually causing atom table exhaustion. Now that relx has been modified to optionally produce a static id if NODETOOL_NODE_PREFIX env var is present instead of generating a random id, let's make use of this. Convenient when the caller guarantees calls are always serialized.

Each time riak status (and the like) is run, relx generates a unique id
which is then converted to an atom ("[email protected]") in
riak VM, eventually causing atom table exhaustion.  Relx has been modified
to optionally generate a static id if NODETOOL_NODE_PREFIX env var is
present.  Convenient when the caller guarantees calls are always
serialized.
@ThomasArts
Copy link
Contributor

Could you please explain here what happens if you do not set NODETOOL_NODE_PREFIX today and what would happen with your patch if you do not set this variable?

Would it impact customers that don't bother using this env variable?

@hmmr
Copy link
Contributor Author

hmmr commented Sep 21, 2021

If NODETOOL_NODE_PREFIX is not set, relx will default to old behaviour, which is to generate a random id.

Customers are only to be advised to use this feature if they can guarantee their calls to riak status are always separated in time. However, if they can guarantee that, the patch will help to mitigate against atom table overflow.

@martinsumner martinsumner merged commit 96ff4d4 into basho:develop-3.0 Oct 6, 2021
@hmmr
Copy link
Contributor Author

hmmr commented Oct 6, 2021

Just a heads-up (apologies if you have already taken this into account): this feature should be mentioned in release announcement. Those who do periodic, and frequent enough, riak status on their clusters, would appreciate it.

@hmmr hmmr deleted the azavada/develop-3.0/pass-static-prefix-to-relx branch October 6, 2021 16:02
@martinsumner
Copy link
Contributor

@hmmr - release PR is here #1082, including release notes update

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants