In the last couple of days, we made the latest Apache Cassandra releases available in production for Instaclustr Managed Cassandra. This is something we do very regularly and normally I wouldn’t be writing a blog post about it. However, this time we’ve taken the unusual step of building our own patched version of Cassandra 3.7 rather than simply releasing the official Apache Cassandra builds so I wanted to explain our reasons for this and the arrangements that would be put in place.
Firstly, I want to be very clear we are not attempting to create a competing distribution to the official Apache releases. With the move to tick-tock release, the advice from the Cassandra PMC has been (paraphrasing) “if you need to keep running an old tick-tock release and need a particular bug fix then back port it yourself”. We are following this advice in our role managing and supporting Cassandra for our customers. We felt this was particularly necessary for this instance due to the 3.8/3.9 releases being merged and falling out of the normal tick-tock pattern of a feature release followed by a bug fix only release.
So, while we have made Apache Cassandra 3.9 available for use through Instaclustr it is in beta status and not eligible for SLAs. We have taken the bug fixes included in Cassandra 3.9 (plus an additional patch created for one of our customers that is still waiting for release), backported them to 3.7, run the standard Apache Cassandra automated testing and released this as our 3.7 patched version. This is our fully supported version for Apache Cassandra 3.x (we also have fully supported 2.1.x, 2.2.x and 3.0.x versions).
There are a few things to know about how we will be supporting this patched release:
- We intend to support it for at least six months provided we have customers using it (which we expect we will).
- We will continue to monitor and back port significant bug fixes during this period.
- We won’t be back porting new features. One likely exception to this is the Time Window Compaction Strategy as this is largely addressing issues with the existing Date Tiered Compaction Strategy.
- We absolutely won’t be introducing new patches that aren’t already submitted to the Apache Cassandra project (unless they are specific to this patched version).
- We have and (will continue) to publish the source for our patched version so that customers and others can run it outside of the Instaclustr environment if they choose. The source is available on our GitHub repo here: https://github.com/instaclustr/cassandra.
We think this is an important and valuable step for our customers and we hope it will also be useful for others in the community that are running Cassandra 3.x.
Should you have any feedback or questions on this then please feel free to drop me a note at firstname.lastname@example.org.