Page MenuHomePhabricator

Cassandra upgrades to Debian Bookworm
Open, MediumPublic

Description

Timeline:

2024-08-14: Bullseye becomes deprecated
2025-09-01: Bullseye is officially end-of-life

Clusters:
  • RESTBase
  • AQS
  • sessionstore
  • ml-cache
  • cassandra-dev
Blockers:

RESTBase: It (the service) is co-located on the storage cluster and runs on nodejs 12. Bookworm ships with nodejs 18. At a minimum, restbase needs to be tested/made to support nodejs 18, or (ideally) decommissioned from the storage cluster.

Tasks:
  • Alternative deployment strategy for logstash-logback-encoder jars (see: T357739)
  • Create Cassandra APT repository components for Bookworm (component/cassandra{41,dev})
  • Upgrade to Java 17

See:

https://wikitech.wikimedia.org/wiki/Operating_system_upgrade_policy
https://phabricator.wikimedia.org/tag/restbase_sunsetting/

Event Timeline

Eevans triaged this task as Medium priority.Feb 16 2024, 4:58 PM
Eevans updated the task description. (Show Details)

Officially, Cassandra supports running with Java 11 (https://cassandra.apache.org/doc/4.1/cassandra/getting_started/java11.html), which doesn't ship in Bookworm. I reckon that Java 17 ought to work —we could test it and see how things go— but if we're the only ones then there will always be risk. @MoritzMuehlenhoff, what are our options for Java 11? Would we be able to import it from unstable? What would security support mean?

Officially, Cassandra supports running with Java 11 (https://cassandra.apache.org/doc/4.1/cassandra/getting_started/java11.html), which doesn't ship in Bookworm. I reckon that Java 17 ought to work —we could test it and see how things go— but if we're the only ones then there will always be risk. @MoritzMuehlenhoff, what are our options for Java 11? Would we be able to import it from unstable? What would security support mean?

We can't just import from unstable, it would need to be rebuilt (and that would need to happen for every security update as well), so that's a large chunk of work to commit to. We can however simply give things a try on bullseye before the update: Bullseye ships Java 11 and 17 and cassandra uses the Java profile, so we can switch single nodes of the existing Cassandra clusters to Java 17 on Bullseye to test this.