You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pr@cassandra.apache.org by GitBox <gi...@apache.org> on 2022/05/19 08:17:49 UTC
[GitHub] [cassandra-website] ErickRamirezAU commented on a diff in pull request #130: CASSANDRA-17639 May 2022 blog "The Path to Green CI"
ErickRamirezAU commented on code in PR #130:
URL: https://github.com/apache/cassandra-website/pull/130#discussion_r876658965
##########
site-content/source/modules/ROOT/pages/blog.adoc:
##########
@@ -8,6 +8,31 @@ NOTES FOR CONTENT CREATORS
- Replace post tile, date, description and link to you post.
////
+//start card
+[openblock,card shadow relative test]
+----
+[openblock,card-header]
+------
+[discrete]
+=== The Path to Green CI
+[discrete]
+==== May 19, 2022
+------
+[openblock,card-content]
+------
+We reflect on our development journey, the work that goes into testing and pull out some numbers to demonstrate the level of testing that now goes into Apache Cassandra as we approach the GA of Cassandra 4.1.
Review Comment:
@dtopdontstop each card can only hold a maximum of 175 characters (or roughly 25 words) so I've edited the summary to make it fit within the card:
```suggestion
As we approach the GA of Cassandra 4.1, we reflect on our development journey and show some statistics to demonstrate the level of testing that now goes into the project.
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
Review Comment:
```suggestion
1. `src/java`: raw database code
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
Review Comment:
The acronym `LoC` gets used further down so I'm defining it here as `lines of code`:
```suggestion
But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” (LoC) as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
Review Comment:
```suggestion
3. `test/distributed`: distributed tests in java code
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
Review Comment:
```suggestion
| |Lines |% total
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
+|*3.0 Total:*|*316,262*|100.00%
+
+|src|181,871|57.51%
+
+|junit|100,284|31.71%
+
+|jdtest|9,225|2.92%
+
+|pdtest|24,882|7.87%
+
Review Comment:
```suggestion
|*3.0 Total*|*316,262*|100.00%
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
+|*3.0 Total:*|*316,262*|100.00%
+
+|src|181,871|57.51%
+
Review Comment:
```suggestion
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
+|*3.0 Total:*|*316,262*|100.00%
+
+|src|181,871|57.51%
+
+|junit|100,284|31.71%
+
+|jdtest|9,225|2.92%
+
+|pdtest|24,882|7.87%
+
+|All tests|134,391|42.49%
+|=======
+
+[cols=4*]
Review Comment:
Mark the first row as the table header:
```suggestion
[%header,cols=4*]
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
+|*3.0 Total:*|*316,262*|100.00%
+
+|src|181,871|57.51%
+
+|junit|100,284|31.71%
+
+|jdtest|9,225|2.92%
+
+|pdtest|24,882|7.87%
+
+|All tests|134,391|42.49%
+|=======
+
Review Comment:
Add a blank line:
```suggestion
{sp} +
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
+|*3.0 Total:*|*316,262*|100.00%
+
+|src|181,871|57.51%
+
+|junit|100,284|31.71%
+
+|jdtest|9,225|2.92%
+
+|pdtest|24,882|7.87%
+
+|All tests|134,391|42.49%
+|=======
+
+[cols=4*]
+|=====
+|||*% total*|*% change since 3.0*
+
+|*4.0 Total:*|495,566|100.00%|156.69%
+
Review Comment:
Delete blank line:
```suggestion
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
+|*3.0 Total:*|*316,262*|100.00%
+
+|src|181,871|57.51%
+
+|junit|100,284|31.71%
+
+|jdtest|9,225|2.92%
+
+|pdtest|24,882|7.87%
+
+|All tests|134,391|42.49%
+|=======
+
+[cols=4*]
+|=====
+|||*% total*|*% change since 3.0*
+
+|*4.0 Total:*|495,566|100.00%|156.69%
+
+|src|261,825|52.83%|143.96%
+
+|junit|172,672|34.84%|172.18%
+
+|jdtest|21,769|4.39%|235.98%
+
+|pdtest|39,300|7.93%|157.95%
+
Review Comment:
```suggestion
|*4.0 Total*|*495,566*|100.00%|156.69%
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
+|*3.0 Total:*|*316,262*|100.00%
+
+|src|181,871|57.51%
+
+|junit|100,284|31.71%
+
+|jdtest|9,225|2.92%
+
+|pdtest|24,882|7.87%
+
+|All tests|134,391|42.49%
+|=======
+
+[cols=4*]
+|=====
+|||*% total*|*% change since 3.0*
+
+|*4.0 Total:*|495,566|100.00%|156.69%
+
+|src|261,825|52.83%|143.96%
+
+|junit|172,672|34.84%|172.18%
+
+|jdtest|21,769|4.39%|235.98%
+
Review Comment:
Delete blank line:
```suggestion
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
+|*3.0 Total:*|*316,262*|100.00%
+
+|src|181,871|57.51%
+
+|junit|100,284|31.71%
+
+|jdtest|9,225|2.92%
+
+|pdtest|24,882|7.87%
+
+|All tests|134,391|42.49%
+|=======
+
+[cols=4*]
+|=====
+|||*% total*|*% change since 3.0*
+
+|*4.0 Total:*|495,566|100.00%|156.69%
+
+|src|261,825|52.83%|143.96%
+
+|junit|172,672|34.84%|172.18%
+
+|jdtest|21,769|4.39%|235.98%
+
+|pdtest|39,300|7.93%|157.95%
+
+|All tests|233,741|47.17%|
+|=======
+|=====
+
+[cols=4*]
Review Comment:
Mark the first row as the table header:
```suggestion
[%header,cols=4*]
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
+|*3.0 Total:*|*316,262*|100.00%
+
+|src|181,871|57.51%
+
+|junit|100,284|31.71%
+
+|jdtest|9,225|2.92%
+
+|pdtest|24,882|7.87%
+
+|All tests|134,391|42.49%
+|=======
+
+[cols=4*]
+|=====
+|||*% total*|*% change since 3.0*
+
+|*4.0 Total:*|495,566|100.00%|156.69%
Review Comment:
```suggestion
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
+|*3.0 Total:*|*316,262*|100.00%
+
+|src|181,871|57.51%
+
+|junit|100,284|31.71%
+
+|jdtest|9,225|2.92%
+
+|pdtest|24,882|7.87%
+
+|All tests|134,391|42.49%
+|=======
+
+[cols=4*]
+|=====
+|||*% total*|*% change since 3.0*
+
+|*4.0 Total:*|495,566|100.00%|156.69%
+
+|src|261,825|52.83%|143.96%
+
+|junit|172,672|34.84%|172.18%
+
+|jdtest|21,769|4.39%|235.98%
+
+|pdtest|39,300|7.93%|157.95%
+
+|All tests|233,741|47.17%|
+|=======
+|=====
+
+[cols=4*]
+|=======
+|||*% total*|*% change since 4.0*
+
+|*4.1 Total:*|566,127|100.00%|114.24%
+
+|src|297,685|52.58%|113.70%
+
+|junit|197,231|34.84%|114.22%
+
+|jdtest|31,306|5.53%|143.81%
+
+|pdtest|39,905|7.05%|101.54%
+
Review Comment:
```suggestion
|*4.1 Total*|*566,127*|100.00%|114.24%
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
Review Comment:
Mark the first row as the table header:
```suggestion
[%header,cols=3*]
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
+|*3.0 Total:*|*316,262*|100.00%
+
+|src|181,871|57.51%
+
+|junit|100,284|31.71%
+
+|jdtest|9,225|2.92%
+
+|pdtest|24,882|7.87%
+
+|All tests|134,391|42.49%
+|=======
+
+[cols=4*]
+|=====
+|||*% total*|*% change since 3.0*
+
+|*4.0 Total:*|495,566|100.00%|156.69%
+
+|src|261,825|52.83%|143.96%
+
+|junit|172,672|34.84%|172.18%
+
+|jdtest|21,769|4.39%|235.98%
+
+|pdtest|39,300|7.93%|157.95%
+
+|All tests|233,741|47.17%|
+|=======
+|=====
+
+[cols=4*]
+|=======
+|||*% total*|*% change since 4.0*
+
+|*4.1 Total:*|566,127|100.00%|114.24%
+
+|src|297,685|52.58%|113.70%
+
+|junit|197,231|34.84%|114.22%
+
+|jdtest|31,306|5.53%|143.81%
+
+|pdtest|39,905|7.05%|101.54%
+
+|All tests|268,442|47.42%|
+|=======
+
+The biggest thing that immediately jumps out to me: our in-jvm dtests have been growing at a very strong pace relative to the rest of the code-base. Immense effort has gone into not just authoring this testing _framework_, but also adding new tests to it. As a percentage of our total code, there was a significant jump from 3.0 to 4.0 of almost a 5% relative increase in total test code to the entire codebase.
+
+We can also infer that our new code addition to the database has _accelerated_ in the past year, as the delta from 4.0-4.1 represents a time frame of one calendar year and roughly 38k LoC net add vs. the 5.5 year gap between 3.0 and 4.0 with a net add of ~80k LoC. While the database also had a release line of 3.1-3.11 introducing new features and tests during this time window; for the sake of this analysis we’re only considering major traditional point releases.
+
+So what does all this mean for us working on and depending on the project? It means that with the release of 4.1, _we have 10% more code just *unit* testing the database than we had in the entire database in 3.0_. It means that new development on Cassandra is accelerating. It also means we’re constantly moving the goalposts on what’s required to keep https://ci-cassandra.apache.org/[Green (passing) CI (continuous integration)^].
+
+=== Keeping it Green
+
+We all know Cassandra is an incredibly complex piece of software. The power to scale up linearly to petabytes of data on hundreds of machines, with zero downtime, in a masterless single logical cluster, where machines can drop out and in, https://cassandra.apache.org/doc/latest/cassandra/operating/hints.html[hint], https://cassandra.apache.org/doc/latest/cassandra/operating/read_repair.html[heal], and https://cassandra.apache.org/doc/latest/cassandra/operating/repair.html[repair] simply cannot be implemented without a significant amount of code, infrastructure, and testing to ensure it works as expected. Further, as we support hot upgrades with zero downtime between versions with mixed version clusters running, we have a strong commitment to backwards compatibility in the mix.
+
+One of our struggles over time has been the software and hardware complexity required to keep our testing infrastructure “clean”, or green, on an ongoing basis. Balancing runtime, resourcing, and cost with a system as complex as Cassandra is a fixed challenge to begin with and is only growing over time as we’ve seen above.
+
+We always drive down to stable 0 test failures at a GA release, however what we refer to as “flaky tests” sneak back into our suite over time. Let’s take a recent example, https://nightlies.apache.org/cassandra/ci-cassandra.apache.org/job/Cassandra-trunk/1112/[build run 1112^] on trunk (effectively Cassandra 4.1 pre-alpha).
+
+19 test failures! https://nightlies.apache.org/cassandra/ci-cassandra.apache.org/job/Cassandra-trunk/1112/testReport/[Out of an entire suite of 49,704 tests makes that a 99.96% pass rate^]. Nobody wants a database that works 99.96% of the time, however, and that’s assuming we have 100% test coverage of not just all our code but also all possible combinations of state, a problem so daunting some contributors are https://issues.apache.org/jira/browse/CASSANDRA-15348[pushing the bleeding edge of the state of the art of distributed database testing^].
+
+Burning down less than 20 flaky tests to get our release out between freeze and our goal for release, an eight-week window, is quite doable, so why not just continue to float along with a low number of test failures? Well, it gets more complicated when we look at _where_ we run our tests.
+
+=== Circle vs. Jenkins
+
+As https://cassandra.apache.org/_/development/testing.html[we outline in our contributor guide on testing], tests can both be run on https://ci-cassandra.apache.org/[Apache Jenkins infrastructure^] or on https://github.com/apache/cassandra/tree/cassandra-4.1/.circleci[CircleCI^]. The primary difference between these two systems are runtime, cost, and resources allocated to each individual test. While some contributors have access to paid CircleCI accounts that allow them to dedicate more resources to their test runs and shorten feedback loops, this is an open source volunteer project and our canonical CI is the Apache Jenkins infrastructure.
Review Comment:
@dtopdontstop / @cthornett , this should have been caught at draft review stage:
```suggestion
As xref:/development/testing.adoc[we outline in our contributor guide on testing], tests can both be run on https://ci-cassandra.apache.org/[Apache Jenkins infrastructure^] or on https://github.com/apache/cassandra/tree/cassandra-4.1/.circleci[CircleCI^]. The primary difference between these two systems are runtime, cost, and resources allocated to each individual test. While some contributors have access to paid CircleCI accounts that allow them to dedicate more resources to their test runs and shorten feedback loops, this is an open source volunteer project and our canonical CI is the Apache Jenkins infrastructure.
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
Review Comment:
```suggestion
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
+|*3.0 Total:*|*316,262*|100.00%
+
+|src|181,871|57.51%
+
+|junit|100,284|31.71%
+
+|jdtest|9,225|2.92%
+
Review Comment:
```suggestion
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
+|*3.0 Total:*|*316,262*|100.00%
+
+|src|181,871|57.51%
+
+|junit|100,284|31.71%
+
Review Comment:
```suggestion
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
+|*3.0 Total:*|*316,262*|100.00%
+
Review Comment:
```suggestion
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
+|*3.0 Total:*|*316,262*|100.00%
+
+|src|181,871|57.51%
+
+|junit|100,284|31.71%
+
+|jdtest|9,225|2.92%
+
+|pdtest|24,882|7.87%
+
Review Comment:
```suggestion
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
+|*3.0 Total:*|*316,262*|100.00%
+
+|src|181,871|57.51%
+
+|junit|100,284|31.71%
+
+|jdtest|9,225|2.92%
+
+|pdtest|24,882|7.87%
+
+|All tests|134,391|42.49%
+|=======
+
+[cols=4*]
+|=====
+|||*% total*|*% change since 3.0*
+
Review Comment:
Delete blank line:
```suggestion
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
Review Comment:
```suggestion
2. `test/unit`: unit testing code
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
Review Comment:
```suggestion
4. The `cassandra-dtest` repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
+|*3.0 Total:*|*316,262*|100.00%
Review Comment:
```suggestion
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
+|*3.0 Total:*|*316,262*|100.00%
+
+|src|181,871|57.51%
+
+|junit|100,284|31.71%
+
+|jdtest|9,225|2.92%
+
+|pdtest|24,882|7.87%
+
+|All tests|134,391|42.49%
+|=======
+
+[cols=4*]
+|=====
+|||*% total*|*% change since 3.0*
Review Comment:
```suggestion
| |Lines |% total |% change since 3.0
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
+|*3.0 Total:*|*316,262*|100.00%
+
+|src|181,871|57.51%
+
+|junit|100,284|31.71%
+
+|jdtest|9,225|2.92%
+
+|pdtest|24,882|7.87%
+
+|All tests|134,391|42.49%
+|=======
+
+[cols=4*]
+|=====
+|||*% total*|*% change since 3.0*
+
+|*4.0 Total:*|495,566|100.00%|156.69%
+
+|src|261,825|52.83%|143.96%
+
Review Comment:
Delete blank line:
```suggestion
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
+|*3.0 Total:*|*316,262*|100.00%
+
+|src|181,871|57.51%
+
+|junit|100,284|31.71%
+
+|jdtest|9,225|2.92%
+
+|pdtest|24,882|7.87%
+
+|All tests|134,391|42.49%
+|=======
+
+[cols=4*]
+|=====
+|||*% total*|*% change since 3.0*
+
+|*4.0 Total:*|495,566|100.00%|156.69%
+
+|src|261,825|52.83%|143.96%
+
+|junit|172,672|34.84%|172.18%
+
+|jdtest|21,769|4.39%|235.98%
+
+|pdtest|39,300|7.93%|157.95%
+
+|All tests|233,741|47.17%|
+|=======
+|=====
+
+[cols=4*]
+|=======
+|||*% total*|*% change since 4.0*
+
Review Comment:
Delete blank line:
```suggestion
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
+|*3.0 Total:*|*316,262*|100.00%
+
+|src|181,871|57.51%
+
+|junit|100,284|31.71%
+
+|jdtest|9,225|2.92%
+
+|pdtest|24,882|7.87%
+
+|All tests|134,391|42.49%
+|=======
+
+[cols=4*]
+|=====
+|||*% total*|*% change since 3.0*
+
+|*4.0 Total:*|495,566|100.00%|156.69%
+
+|src|261,825|52.83%|143.96%
+
+|junit|172,672|34.84%|172.18%
+
Review Comment:
Delete blank line:
```suggestion
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
+|*3.0 Total:*|*316,262*|100.00%
+
+|src|181,871|57.51%
+
+|junit|100,284|31.71%
+
+|jdtest|9,225|2.92%
+
+|pdtest|24,882|7.87%
+
+|All tests|134,391|42.49%
+|=======
+
+[cols=4*]
+|=====
+|||*% total*|*% change since 3.0*
+
+|*4.0 Total:*|495,566|100.00%|156.69%
+
+|src|261,825|52.83%|143.96%
+
+|junit|172,672|34.84%|172.18%
+
+|jdtest|21,769|4.39%|235.98%
+
+|pdtest|39,300|7.93%|157.95%
+
+|All tests|233,741|47.17%|
+|=======
+|=====
Review Comment:
Delete unnecessary table markdown:
```suggestion
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
+|*3.0 Total:*|*316,262*|100.00%
+
+|src|181,871|57.51%
+
+|junit|100,284|31.71%
+
+|jdtest|9,225|2.92%
+
+|pdtest|24,882|7.87%
+
+|All tests|134,391|42.49%
+|=======
+
+[cols=4*]
+|=====
+|||*% total*|*% change since 3.0*
+
+|*4.0 Total:*|495,566|100.00%|156.69%
+
+|src|261,825|52.83%|143.96%
+
+|junit|172,672|34.84%|172.18%
+
+|jdtest|21,769|4.39%|235.98%
+
+|pdtest|39,300|7.93%|157.95%
+
+|All tests|233,741|47.17%|
+|=======
+|=====
+
+[cols=4*]
+|=======
+|||*% total*|*% change since 4.0*
+
+|*4.1 Total:*|566,127|100.00%|114.24%
Review Comment:
```suggestion
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
+|*3.0 Total:*|*316,262*|100.00%
+
+|src|181,871|57.51%
+
+|junit|100,284|31.71%
+
+|jdtest|9,225|2.92%
+
+|pdtest|24,882|7.87%
+
+|All tests|134,391|42.49%
+|=======
+
+[cols=4*]
+|=====
+|||*% total*|*% change since 3.0*
+
+|*4.0 Total:*|495,566|100.00%|156.69%
+
+|src|261,825|52.83%|143.96%
+
+|junit|172,672|34.84%|172.18%
+
+|jdtest|21,769|4.39%|235.98%
+
+|pdtest|39,300|7.93%|157.95%
+
+|All tests|233,741|47.17%|
+|=======
+|=====
+
+[cols=4*]
+|=======
+|||*% total*|*% change since 4.0*
+
+|*4.1 Total:*|566,127|100.00%|114.24%
+
+|src|297,685|52.58%|113.70%
+
+|junit|197,231|34.84%|114.22%
+
+|jdtest|31,306|5.53%|143.81%
+
Review Comment:
Delete blank line:
```suggestion
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
+|*3.0 Total:*|*316,262*|100.00%
+
+|src|181,871|57.51%
+
+|junit|100,284|31.71%
+
+|jdtest|9,225|2.92%
+
+|pdtest|24,882|7.87%
+
+|All tests|134,391|42.49%
+|=======
+
+[cols=4*]
+|=====
+|||*% total*|*% change since 3.0*
+
+|*4.0 Total:*|495,566|100.00%|156.69%
+
+|src|261,825|52.83%|143.96%
+
+|junit|172,672|34.84%|172.18%
+
+|jdtest|21,769|4.39%|235.98%
+
+|pdtest|39,300|7.93%|157.95%
+
+|All tests|233,741|47.17%|
+|=======
+|=====
+
+[cols=4*]
+|=======
+|||*% total*|*% change since 4.0*
+
+|*4.1 Total:*|566,127|100.00%|114.24%
+
Review Comment:
Delete blank line:
```suggestion
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
+|*3.0 Total:*|*316,262*|100.00%
+
+|src|181,871|57.51%
+
+|junit|100,284|31.71%
+
+|jdtest|9,225|2.92%
+
+|pdtest|24,882|7.87%
+
+|All tests|134,391|42.49%
+|=======
+
+[cols=4*]
+|=====
+|||*% total*|*% change since 3.0*
+
+|*4.0 Total:*|495,566|100.00%|156.69%
+
+|src|261,825|52.83%|143.96%
+
+|junit|172,672|34.84%|172.18%
+
+|jdtest|21,769|4.39%|235.98%
+
+|pdtest|39,300|7.93%|157.95%
+
+|All tests|233,741|47.17%|
+|=======
+|=====
+
Review Comment:
Add a blank line:
```suggestion
{sp} +
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
+|*3.0 Total:*|*316,262*|100.00%
+
+|src|181,871|57.51%
+
+|junit|100,284|31.71%
+
+|jdtest|9,225|2.92%
+
+|pdtest|24,882|7.87%
+
+|All tests|134,391|42.49%
+|=======
+
+[cols=4*]
+|=====
+|||*% total*|*% change since 3.0*
+
+|*4.0 Total:*|495,566|100.00%|156.69%
+
+|src|261,825|52.83%|143.96%
+
+|junit|172,672|34.84%|172.18%
+
+|jdtest|21,769|4.39%|235.98%
+
+|pdtest|39,300|7.93%|157.95%
+
+|All tests|233,741|47.17%|
+|=======
+|=====
+
+[cols=4*]
+|=======
+|||*% total*|*% change since 4.0*
+
+|*4.1 Total:*|566,127|100.00%|114.24%
+
+|src|297,685|52.58%|113.70%
+
+|junit|197,231|34.84%|114.22%
+
Review Comment:
Delete blank line:
```suggestion
```
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
+|*3.0 Total:*|*316,262*|100.00%
+
+|src|181,871|57.51%
+
+|junit|100,284|31.71%
+
+|jdtest|9,225|2.92%
+
+|pdtest|24,882|7.87%
+
+|All tests|134,391|42.49%
+|=======
+
+[cols=4*]
+|=====
+|||*% total*|*% change since 3.0*
+
+|*4.0 Total:*|495,566|100.00%|156.69%
+
+|src|261,825|52.83%|143.96%
+
+|junit|172,672|34.84%|172.18%
+
+|jdtest|21,769|4.39%|235.98%
+
+|pdtest|39,300|7.93%|157.95%
+
+|All tests|233,741|47.17%|
+|=======
+|=====
+
+[cols=4*]
+|=======
+|||*% total*|*% change since 4.0*
+
+|*4.1 Total:*|566,127|100.00%|114.24%
+
+|src|297,685|52.58%|113.70%
+
+|junit|197,231|34.84%|114.22%
+
+|jdtest|31,306|5.53%|143.81%
+
+|pdtest|39,905|7.05%|101.54%
+
+|All tests|268,442|47.42%|
+|=======
+
+The biggest thing that immediately jumps out to me: our in-jvm dtests have been growing at a very strong pace relative to the rest of the code-base. Immense effort has gone into not just authoring this testing _framework_, but also adding new tests to it. As a percentage of our total code, there was a significant jump from 3.0 to 4.0 of almost a 5% relative increase in total test code to the entire codebase.
+
+We can also infer that our new code addition to the database has _accelerated_ in the past year, as the delta from 4.0-4.1 represents a time frame of one calendar year and roughly 38k LoC net add vs. the 5.5 year gap between 3.0 and 4.0 with a net add of ~80k LoC. While the database also had a release line of 3.1-3.11 introducing new features and tests during this time window; for the sake of this analysis we’re only considering major traditional point releases.
+
+So what does all this mean for us working on and depending on the project? It means that with the release of 4.1, _we have 10% more code just *unit* testing the database than we had in the entire database in 3.0_. It means that new development on Cassandra is accelerating. It also means we’re constantly moving the goalposts on what’s required to keep https://ci-cassandra.apache.org/[Green (passing) CI (continuous integration)^].
+
+=== Keeping it Green
+
+We all know Cassandra is an incredibly complex piece of software. The power to scale up linearly to petabytes of data on hundreds of machines, with zero downtime, in a masterless single logical cluster, where machines can drop out and in, https://cassandra.apache.org/doc/latest/cassandra/operating/hints.html[hint], https://cassandra.apache.org/doc/latest/cassandra/operating/read_repair.html[heal], and https://cassandra.apache.org/doc/latest/cassandra/operating/repair.html[repair] simply cannot be implemented without a significant amount of code, infrastructure, and testing to ensure it works as expected. Further, as we support hot upgrades with zero downtime between versions with mixed version clusters running, we have a strong commitment to backwards compatibility in the mix.
Review Comment:
Replace all hardcoded `/doc` links:
```suggestion
We all know Cassandra is an incredibly complex piece of software. The power to scale up linearly to petabytes of data on hundreds of machines, with zero downtime, in a masterless single logical cluster, where machines can drop out and in, link:/doc/latest/cassandra/operating/hints.adoc[hint], link:/doc/latest/cassandra/operating/read_repair.adoc[heal], and link:/doc/latest/cassandra/operating/repair.adoc[repair] simply cannot be implemented without a significant amount of code, infrastructure, and testing to ensure it works as expected. Further, as we support hot upgrades with zero downtime between versions with mixed version clusters running, we have a strong commitment to backwards compatibility in the mix.
```
/cc @dtopdontstop , @cthornett
##########
site-content/source/modules/ROOT/pages/blog/The-Path-to-Green-CI.adoc:
##########
@@ -0,0 +1,133 @@
+= The Path to Green CI
+:page-layout: single-post
+:page-role: blog-post
+:page-post-date: May, 19 2022
+:page-post-author: Josh McKenzie
+:description: Testing Apache Cassandra
+:keywords:
+
+:!figure-caption:
+
+.Image credit: https://unsplash.com/@hasanalmasi[Hasan Almasi on Unsplash^]
+image::blog/the-path-to-green-ci-unsplash-hasan-almasi.jpg[the path to Green CI]
+
+As we approach the Cassandra 4.1 GA release, it’s a great time to stop and reflect on some of our development history, the past year since we released 4.0, and where we’re headed in the future. In this blog post, we’re going to limit our focus to testing Cassandra as that’s been a huge focus in the 4.0+ time frame.
+
+=== The Numbers
+
+But don’t just take my word for it - let’s start with some numbers! We’re going to use “lines of code” as a loose proxy for “where we’re spending our time”. This is definitely a fraught metric, but as _one_ way of viewing things it paints a pretty interesting picture, consistent with many of our intuitions.
+
+Below is a list for our past three major releases and how much raw code exists in the following:
+
+1. src/java: raw database code
+2. test/unit: unit testing code
+3. test/distributed: distributed tests in java code
+4. The cassandra-dtest repo .py test files: python distributed tests using https://github.com/riptano/ccm[ccm^]
+
+[cols=3*]
+|=======
+|||*% total*
+
+|*3.0 Total:*|*316,262*|100.00%
+
+|src|181,871|57.51%
+
+|junit|100,284|31.71%
+
+|jdtest|9,225|2.92%
+
+|pdtest|24,882|7.87%
+
+|All tests|134,391|42.49%
+|=======
+
+[cols=4*]
+|=====
+|||*% total*|*% change since 3.0*
+
+|*4.0 Total:*|495,566|100.00%|156.69%
+
+|src|261,825|52.83%|143.96%
+
+|junit|172,672|34.84%|172.18%
+
+|jdtest|21,769|4.39%|235.98%
+
+|pdtest|39,300|7.93%|157.95%
+
+|All tests|233,741|47.17%|
+|=======
+|=====
+
+[cols=4*]
+|=======
+|||*% total*|*% change since 4.0*
+
+|*4.1 Total:*|566,127|100.00%|114.24%
+
+|src|297,685|52.58%|113.70%
+
Review Comment:
Delete blank line:
```suggestion
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: pr-unsubscribe@cassandra.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: pr-unsubscribe@cassandra.apache.org
For additional commands, e-mail: pr-help@cassandra.apache.org