I'm not sure what happens next. If you have any suggestions on how to increase the likelihood of this being accepted by Oracle, I'd be happy to hear them. Stewart, I was unexpectedly away a lot in July and August and didn't get to follow up on this. Looking at the original bug report, I have seen absolutely no activity.
If anyone here knows a way to get it into the upstream, I'd appreciate any help you can offer. If not, I'd like to investigate getting it added into Percona directly. I'm actually using Percona servers anyway, so getting it there would be great, although I'd prefer to see it move upstream. Essentially, we created a new Chef role with the existing provisioning code but with the new version specified for the MySQL server version variable and modified the code so that the following happens:.
After this work was completed, all we had to do to provision an upgraded version was to specify that the new VM be built with the new Chef role. Performing the upgrade is the easy part, operationally. Making sure the newer version performs the way we expect and can be safely rolled back to the old version, however, is the tricky part.
However, when testing the downgrade from 5. This is what we saw when tailing the error logs:. When we allowed the calculation of transient stats at startup to run to completion, it took over a day due to a lengthy table analyze process on some of our shards—not great if we needed to roll back more urgently than that. Once we had our hypothesis, we started to test it.
This culminated in a group debugging session where a few members of our team found that the following steps reproduced the bug that resulted in the full table rebuild:.
Digging deeper, we found past attempts to fix this bug. In the 5. A fix was merged for the bug, however we saw that there was a second attempt to fix this behaviour. In order to safely upgrade past this bug, we still needed MySQL to behave in a reasonable way on downgrade, and we ended up patching Percona Server in our internal fork. We tested our patched version successfully in our final rollback tests, unblocking our upgrade.
However, we can see that in the first attempt to fix the bug in 5. To remedy this, from 5. That, however, meant that if a table was created prior to 5. So upon upgrade to 5. In our patch, during downgrade, if the old version of the table from 5. While all of this rollback testing work was in progress, another part of the team was hard at work shipping new features in Mason to let it handle the upgrades. These were some of the requirements we had that guided the project work:.
Underlying all of this was an abundance of caution in shipping the new features. In the initial stages of the project, stabilizing the service was important since it played a critical role in maintaining our MySQL topology. Over time, it had turned into a critical component of our infrastructure that significantly improved our on-call quality of life. Do you want to help you secure your MySQL server? Contact Us. Blog Home Blog. Take care of your MySQL performance. Learn More. Percona is dedicated to keeping open source open.
Whenever possible, we strive to include permissive licensing for both our software and documentation. We encourage contributions and are always looking for new members that are as dedicated to serving the community as we are. The Contributing Guide contains how you can contribute. You can reach us by using the Forum.
Skip to content. Star Percona Server www. View license. Branches Tags. Could not load branches. Could not load tags. Latest commit. Git stats , commits. Failed to load latest commit information. Merge branch 'PS Jan 12,
0コメント