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?

Reply via email to