-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Distributed Table-Based Lock #9955
base: main
Are you sure you want to change the base?
Conversation
Cleanup old mac address handling code to use JDK11 lib instead of hacks. Also really strange to see some basic string parsing code was written by hand, replaced with Long.parseValue(str, 16) to convert hex string to long. Signed-off-by: Rohit Yadav <[email protected]>
This introduces a MySQL innodb table based distributed lock which can be used by one or more management server and its threads. This removes usage of MySQL server provided locking functions (GET_LOCK, RELEASE_LOCK) which are not replicated or supported currently by any MySQL clustering solutions. This would be the first main step in having CloudStack to work with a MySQL clustering solution such as InnoDB cluster, Percona Xtradb cluster, MariaDB galera cluster. There may be other changes required which can be found in due course if this feature works at scale. Signed-off-by: Rohit Yadav <[email protected]>
@blueorangutan package |
@rohityadavcloud a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #9955 +/- ##
============================================
- Coverage 15.80% 4.04% -11.77%
============================================
Files 5627 392 -5235
Lines 492343 32177 -460166
Branches 59694 5679 -54015
============================================
- Hits 77828 1301 -76527
+ Misses 405992 30728 -375264
+ Partials 8523 148 -8375
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚨 Try these New Features:
|
Packaging result [SF]: ✖️ el8 ✖️ el9 ✖️ debian ✖️ suse15. SL-JID 11588 |
@shwstppr can you help look at this? 🙏 |
This introduces an experimental MySQL Db-table based locking mechanism instead of using GET_LOCK/RELEASE_LOCK which is documented as limitation for many Mysql-clustering solutions such as https://docs.percona.com/percona-xtradb-cluster/8.0/limitation.html
This needs to be reviewed and tested against such mysql-clustering solutions and whether active-active or active-backup setup can work with CloudStack mgmt server(s) with these changes.
Types of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale