After a bit of time away, I'm ready to regale you with tales of things you've 
already seen on the dev list and JIRA. ;)

Let's start with calling out that registrations for the Cassandra Summit are 
open. Patrick did a better job than I ever could summarizing this in his email 
poetically titled "Cassandra Summit update for 2023-01-24", which you can find 
here: https://lists.apache.org/thread/7roz6z8nvj9cz8o2jwwo1httl85mwjcs. If you 
haven't registered yet and are in the area or receptive to travel, you should 
seriously consider going - it's always great to be at a conference with other 
people brainstorming, lamenting, and celebrating our shared experiences with 
this software project.

>From a technical perspective, there's 2 things I want to call out. One: I want 
>to draw everyone's attention to is the epic Mick has put together for an 
>effort to make ASF CI not only stable, but also repeatable on other 
>containerized cloud-native environments: 
>https://issues.apache.org/jira/browse/CASSANDRA-18137

There's a lot of context there, but the high level 4 goals are:
1. Reproducible reference ASF CI environment so contributors can clone it.
2. An accepted “test result output” format that will certify a commit 
regardless of CI env.
3. Turnaround times as fast as circleci (cloned environment scales to capacity).
4. Intuitive CI implementation accessible to new contributors.

Ultimately, the ideal best-case would be that we could get away from having 2 
CI systems, one of which is a paid-for service, and have a "reproducible 
runnable CI" deterministic Thing contributors can run to get insight into their 
contributions and their stability. Taking this a logical step further, those of 
us that are currently spending money on a paid-for CI system could potentially 
better spend that money on a shared CI infrastructure that the entire project 
could use and benefit from.

Quite a bit of work has fallen out from that epic and is linked from the 
ticket; please take 5 minutes to scan through the ticket and some of the 
sub-tasks so it's at least on your radar. Stable public CI is something we've 
struggled with for _years_, but we've made huge strides in the past year and my 
intuition tells me there's a light at the end of this tunnel.

Mick also hit up the dev ML w/a thread on this offering more context: 
https://lists.apache.org/thread/fqdvqkjmz6w8c864vw98ymvb1995lcy4

The second thing: The Build Lead role! We need volunteers: 
https://cwiki.apache.org/confluence/display/CASSANDRA/Build+Lead. So the TL;DR 
on this and why you should consider it: it takes 30-60 minutes *for the entire 
week*, it helps us stay on top of our CI infrastructure and test failures, 
you'll receive the undying gratitude of many of us on the project, and you also 
get some insight into interesting dark corners of the CI infra and testing 
system you might otherwise never have known about. You don't need to triage or 
attribute failures in the role unless you really want to; getting them 
reflected in JIRA is the low hanging fruit here.


[New Contributors Getting Started]
(Unassigned) (Starter Tickets): this is the set of filters you want to pull 
from on our project's Kanban board: 
https://issues.apache.org/jira/secure/RapidBoard.jspa?rapidView=484&quickFilter=2162&quickFilter=2160

We have 26 issues in 4.x (22 really; looks like there's 4 either in progress or 
review that need assignee tidied up). 8 issues in 4.0.x, and another 5 floating 
around there.

If any of those catch your fancy, join us in the #cassandra-dev channel on 
https://the-asf.slack.com (reply to me on this email if you need an invite for 
your account), and hit up the @cassandra_mentors alias to reach 13 of us just 
waiting with bated breath to help you get oriented. :)

And hey, if any of these _don't_ catch your fancy but you're still interested 
in the project and are looking for something interesting to get involved with, 
just hop in the slack channel and raise the :batsignal:


[Dev mailing list]
So it's been... a bit. Since I sent the last project status update. Thankfully 
it's the holiday season so we didn't accumulate a crushing load of things I 
have to summarize for us here: 
https://lists.apache.org/list?dev@cassandra.apache.org:dfr=2022-12-19|dto=2023-1-23:

The vote for the Trie-indexed SSTable format passed about a month ago - 
congratulations Branimir and team! 
https://lists.apache.org/thread/d4sr3jkt4xjn86xrf9h708y6s7lc53v5

I sent out an email discussing taking the smallest concievable baby steps in 
formalizing performance testing for the project here: 
https://lists.apache.org/thread/kzbv632tm0j99mg10z24wb8f09z0r81z. It seems like 
the general consensus is that there's _a lot_ of appetite to engage on this 
topic and interesting ideas, and most people aren't all that interested in (nor 
disagreeing with) the bare bones v1 of "get a repeatable test with a repeatable 
runtime env setup and iterate from there". I think the real challenge here will 
be us having discipline in keeping the "community wants to run fast with this" 
and "our reference workloads are going to be simple and boring and minimal" 
axes of this separate. I have faith in us.

Stefan Miklosovic hit up the list about including mockito-inline in our testing 
deps: https://lists.apache.org/thread/tpswxpgdpvj4lfovk4gj9dxyqyjtwv6w. I 
immediately had a vision of stubbed in mocks of all our static state and unit 
tests that tested actual units and weren't integration tests. It was blinding, 
and it was glorious.

Abe Ratnofsky inquired about whether or not the driver donation is still in 
flight for CEP-22: 
https://lists.apache.org/thread/fsc7gzdhtm2lcb268556jqorkm8l6mmq. Jeremy has 
indicated that it is, in fact, still in flight. :)

G1GC is the new default! See: 
https://issues.apache.org/jira/browse/CASSANDRA-18027, and the ML thread here: 
https://lists.apache.org/thread/8y84ncg51y77g302zp6y9dnp83fnw9rl

The topic of downgrading SSTables has come up from Claude and now Jacek: 
https://lists.apache.org/thread/mwkvlno69mzb4thzhvd6gkntdqc6oypk. Not much 
engagement on the ML thread here yet; I'd be interested if there's other 
opinions out there in the community about this as it seems like a key part of 
our "safe to upgrade" story for users.

Benedict Elliott Smith hit up the dev ML about how we handle intra-project 
dependencies: https://lists.apache.org/thread/tdvxhogy4m3hrm08421211kwvf5y1c1n. 
There's a lot of context and nuance on this thread; I'm not going to even 
_attempt_ to summarize anything here. Suffice to say, we're all wrestling with 
determining what the Best Worst Option is for us as a project. As with most 
build tooling (and technology in general for that matter), there's rough edges 
and aspects of solutions that don't quite fit right and are going to be ongoing 
niggling annoyances. Seems like we're narrowing down on a next step and 
direction on that thread.

When and how to merge the feature branch for CEP-15 has come up here: 
https://lists.apache.org/thread/wd8cbc1ox3okxxy2m7322x4bgmrt8068. It's an 
excellent question; this is the first CEP-based work where we're facing this 
question of "do we wait until the entire thing is 'complete' on the feature 
branch to merge it or do we merge it in earlier and then work it on trunk"? 
There's definite tradeoffs to either approach; please hit up the thread if you 
have an opinion on the topic that hasn't yet been voiced.

Looks like we're growing up and we're going to have a Publicity and Marketing 
group: https://lists.apache.org/thread/cd75fx95l827bdf7om9v52zp414vjmv1. Most 
engineers I know aren't that interested in the topic and at best find it mildly 
distasteful, but if you're the rare bird that finds the topic of marketing, 
messaging, and storytelling about technology interesting give this thread a 
read and consider participating in the group!


[Checking in on CI]
https://butler.cassandra.apache.org/#/

It's been a month. So what's going on?

3.0: 14 -> 13
3.11: 24 -> 13
4.0: 2 -> 4
4.1: 5 -> 6
trunk: 3 -> 12

Pretty good on all branches excepting trunk. If we zoom in on trunk a bit: 
https://butler.cassandra.apache.org/#/ci/upstream/compare/Cassandra-trunk/trunk

Lots of timeouts on run 1436 that probably skewed things.


[What's been closed out]
Here's a custom quick filter to give us an overview of 30 days:
https://issues.apache.org/jira/secure/RapidBoard.jspa?rapidView=484&quickFilter=2278

5.0: 2 issues:
- Support for CAS and serial read on Accord (CASSANDRA-18100)
- Strict Serializability verification on Accord (CASSANDRA-17112)

4.0.x: 10 issues:
- Prefer snakeyaml's SafeConstructor over Constructor; not a concern for us 
w/current usage env but no need not to harden the server to it (CASSANDRA-18150)
- A variety of test fixes
- Make it safe to run nodetool cleanup during bootstrap or decommission 
(CASSANDRA-16418)
- Change rat targets to adhere to build.dir property (CASSANDRA-18183) (go go 
gadget ram disks?)
- Fix an IllegalArgumentException in query code paths while upgrading C* 
(CASSANDRA-17507) - looks like it applies to all supported versions.
- A variety of documentation fixes (17742, 17241)
- Add support for python 3.11 in dtests (CASSANDRA-18121) (CASSANDRA-18088)
- Fix inadvertent revert of user credentials on addition of new nodes to 
cluster (CASSANDRA-12525)
- Fix cqlsh formatting duration incorrectly (CASSANDRA-18141)
- Fix sstable loading of keyspaces named snapshots or backups (CASSANDRA-14013)
- generate.sh needs to stop lying with its return code (CASSANDRA-18032)
- Stop leaking 2015 memtable synthetic Epoch (CASSANDRA-18118)
- Augment intellij git window navigation links to Cassandra's JIRA 
(CASSANDRA-18126)

4.x: 11 issues
- Reverted changes in units output in FileUtils#stringifyFileSize 
(CASSANDRA-18139)
- Give clear error when certain nodetool commands are issued before server is 
ready (CASSANDRA-11537)
- The source code must obey the avoid star import checkstyle rule 
(CASSANDRA-18089). IT MUST OBEY. :D
- Use G1GC as default (CASSANDRA-18027)
- CASTest failure fix (CASSANDRA-18164)
- Allow SimpleSeedProvider to resolve multiple IPs per DNS name 
(CASSANDRA-14361)
- Add compaction type output result for nodetool compactionhistory 
(CASSANDRA-18061)
- mockito-inline causes tests to fail beacause 
o.a.c.distributed.mock.nodetool.InternalNodeProbe spies on StorageServiceMBean 
(CASSANDRA-18152)
- Remove ProtocolVersion entirely from the CollectionSerializer ecosystem 
(CASSANDRA-18114). Deleting code makes me happy.
- Streaming progress virtual table lock contention can trigger TCP_USER_TIMEOUT 
and fail streaming (CASSANDRA-18110)

Phew. So the downside to waiting this long is when we close a lot of tickets, 
this last section takes awhile. Thanks for sticking with me to the end folks!

~Josh

Reply via email to