-
Notifications
You must be signed in to change notification settings - Fork 599
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
feat(license): invalidate license when cpu exceeds limit instead of rejecting new compute nodes from joining #20276
feat(license): invalidate license when cpu exceeds limit instead of rejecting new compute nodes from joining #20276
Conversation
d38d436
to
564d163
Compare
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
This pull request has been modified. If you want me to regenerate unit test for any of the files related, please find the file in "Files Changed" tab and add a comment |
This stack of pull requests is managed by Graphite. Learn more about stacking. |
…ejecting new compute nodes from joining Signed-off-by: Bugen Zhao <[email protected]>
Signed-off-by: Bugen Zhao <[email protected]>
Signed-off-by: Bugen Zhao <[email protected]>
Signed-off-by: Bugen Zhao <[email protected]>
Signed-off-by: Bugen Zhao <[email protected]>
Signed-off-by: Bugen Zhao <[email protected]>
Signed-off-by: Bugen Zhao <[email protected]>
Signed-off-by: Bugen Zhao <[email protected]>
Signed-off-by: Bugen Zhao <[email protected]>
Signed-off-by: Bugen Zhao <[email protected]>
68b6ce5
to
3fcb446
Compare
I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
In #18022, we introduced CPU core limit for license keys, where we would reject new compute nodes from joining the cluster if the limit was exceeded. This led to some confusing behavior like #18401.
In this PR, we modify the behavior so that the license key is temporarily invalidated (thus all
Paid
features unavailable) when the CPU exceeds its limit. This requires the information of "cluster size" is broadcast to all worker nodes. For simplicity, a new notification variant ofcompute_node_total_cpu_count
is introduced, instead of maintaining the complete worker node meta data.The benefit is that, the check for CPU limit is deferred until a paid feature is actually used, and scaling out the cluster won't trigger a hard error any more. If the user isn't utilizing any paid features, they may not even notice this limit. This may enable us to offer a default 'Paid' license key with a small CPU limit in production, helping users better investigate and demonstrate our product.
Checklist
Documentation
Release note