I'd like to start a discussion about ideas to improve release quality for Cassandra. Specifically I wonder if the community can do more to help the project as a whole become more solid. Cassandra has an active and vibrant community using Cassandra for a variety of things. If we all pitch in a little bit, it seems like we can make a difference here.
Release quality is difficult, especially for a distributed system like Cassandra. The core devs have done an amazing job with this considering how complicated it is. Currently, there are several things in place to make sure that a release is generally usable: - review-then-commit - 72 hour voting period - at least 3 binding +1 votes - unit tests - integration tests Then there is the personal responsibility aspect - testing a release in a staging environment before pushing it to production. I wonder if more could be done here to give more confidence in releases. I wanted to see if there might be ways that the community could help out without being too burdensome on either the core devs or the community. Some ideas: More automation: run YCSB and stress with various setups. Maybe people can rotate donating cloud instances (or simply money for them) but have a common set of scripts to do this in the source. Dedicated distributed test suite: I know there has been work done on various distributed test suites (which is great!) but none have really caught on so far. I know what the apache guidelines say, but what if the community could help out with the testing effort in a more formal way. For example, for each release to be finalized, what if there needed to be 3 community members that needed to try it out in their own environment? What if there was a post release +1 vote for the community to sign off on - sort of a "works for me" kind of thing to reassure others that it's safe to try. So when the release email gets posted to the user list, start a tradition of people saying +1 in reply if they've tested it out and it works for them. That's happening informally now when there are problems, but it might be nice to see a vote of confidence. Just another idea. Any other ideas or variations?