mirror of
https://github.com/temporalio/temporal.git
synced 2026-08-30 18:41:49 -07:00
Cassandra 3.11 reached EOL in July 2023. Upgrade both development and CI compose files to Cassandra 5.0 for current driver compatibility and feature parity with ScyllaDB. Changes: - develop/docker-compose: cassandra:3.11 -> cassandra:5.0 - develop/github CI compose: cassandra:3.11 -> cassandra:5.0, increase healthcheck retries from 30 to 60 (5.0 is slower to start) - macOS docs: update to 5.0, remove stale ARM JNA workaround that is no longer needed ## What changed? Big change, but: 1. Cassandra 3.11 is End-of-Life. 2. Allowed me separately to change the Golang CQL driver to ScyllaDB's, which doesn't support that EOL Cassandra anymore (my fault too, I removed that support I think). ## Why? If I wanted (and I do) to switch to ScyllaDB's GoCQL driver, I needed to perform this change. ## How did you test it? - [x] built - [x] run locally and tested manually - [x] covered by existing tests - [ ] added new unit test(s) - [ ] added new functional test(s) ## Potential risks I also did not see any performance regression!
110 lines
3.6 KiB
YAML
110 lines
3.6 KiB
YAML
x-healthcheck-defaults: &healthcheck-defaults
|
|
interval: 3s
|
|
timeout: 3s
|
|
retries: 60
|
|
|
|
services:
|
|
cassandra:
|
|
image: cassandra:5.0
|
|
ports:
|
|
- "9042:9042"
|
|
environment:
|
|
CASSANDRA_LISTEN_ADDRESS: 127.0.0.1
|
|
MAX_HEAP_SIZE: "2G"
|
|
HEAP_NEWSIZE: "200M"
|
|
# Increase native transport threads for handling more concurrent connections
|
|
JVM_EXTRA_OPTS: "-Dcassandra.native_transport_max_threads=512"
|
|
healthcheck:
|
|
!!merge <<: *healthcheck-defaults
|
|
test: ["CMD-SHELL", "cqlsh -e 'describe cluster'"]
|
|
|
|
mysql:
|
|
image: mysql:8.0.29-oracle
|
|
ports:
|
|
- "3306:3306"
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: root
|
|
command: --max-connections=500
|
|
volumes:
|
|
- ./mysql-init:/docker-entrypoint-initdb.d
|
|
healthcheck:
|
|
!!merge <<: *healthcheck-defaults
|
|
test: ["CMD-SHELL", "mysqladmin ping -h localhost -uroot -proot"]
|
|
|
|
postgresql:
|
|
image: postgres:13.5
|
|
ports:
|
|
- "5432:5432"
|
|
environment:
|
|
POSTGRES_USER: temporal
|
|
POSTGRES_PASSWORD: temporal
|
|
command: postgres -c max_connections=500
|
|
volumes:
|
|
- ./postgresql-init:/docker-entrypoint-initdb.d
|
|
healthcheck:
|
|
!!merge <<: *healthcheck-defaults
|
|
test: ["CMD-SHELL", "pg_isready -U temporal"]
|
|
|
|
elasticsearch:
|
|
image: elasticsearch:7.10.1
|
|
ports:
|
|
- "9200:9200"
|
|
environment:
|
|
- cluster.routing.allocation.disk.threshold_enabled=true
|
|
- cluster.routing.allocation.disk.watermark.low=512mb
|
|
- cluster.routing.allocation.disk.watermark.high=256mb
|
|
- cluster.routing.allocation.disk.watermark.flood_stage=128mb
|
|
- discovery.type=single-node
|
|
- ES_JAVA_OPTS=-Xms1g -Xmx1g
|
|
healthcheck:
|
|
!!merge <<: *healthcheck-defaults
|
|
test: ["CMD-SHELL", "curl -sf http://localhost:9200/_cluster/health || exit 1"]
|
|
|
|
elasticsearch8:
|
|
image: elasticsearch:8.5.0
|
|
ports:
|
|
- "9200:9200"
|
|
environment:
|
|
- cluster.routing.allocation.disk.threshold_enabled=true
|
|
- cluster.routing.allocation.disk.watermark.low=512mb
|
|
- cluster.routing.allocation.disk.watermark.high=256mb
|
|
- cluster.routing.allocation.disk.watermark.flood_stage=128mb
|
|
- discovery.type=single-node
|
|
- xpack.security.enabled=false
|
|
- ES_JAVA_OPTS=-Xms1g -Xmx1g
|
|
healthcheck:
|
|
!!merge <<: *healthcheck-defaults
|
|
test: ["CMD-SHELL", "curl -sf http://localhost:9200/_cluster/health || exit 1"]
|
|
|
|
opensearch2:
|
|
image: opensearchproject/opensearch:2
|
|
ports:
|
|
- "9200:9200"
|
|
environment:
|
|
- cluster.routing.allocation.disk.threshold_enabled=true
|
|
- cluster.routing.allocation.disk.watermark.low=512mb
|
|
- cluster.routing.allocation.disk.watermark.high=256mb
|
|
- cluster.routing.allocation.disk.watermark.flood_stage=128mb
|
|
- discovery.type=single-node
|
|
- DISABLE_SECURITY_PLUGIN=true
|
|
- OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g
|
|
healthcheck:
|
|
!!merge <<: *healthcheck-defaults
|
|
test: ["CMD-SHELL", "curl -sf http://localhost:9200/_cluster/health || exit 1"]
|
|
|
|
opensearch3:
|
|
image: opensearchproject/opensearch:3
|
|
ports:
|
|
- "9200:9200"
|
|
environment:
|
|
- cluster.routing.allocation.disk.threshold_enabled=true
|
|
- cluster.routing.allocation.disk.watermark.low=512mb
|
|
- cluster.routing.allocation.disk.watermark.high=256mb
|
|
- cluster.routing.allocation.disk.watermark.flood_stage=128mb
|
|
- discovery.type=single-node
|
|
- DISABLE_SECURITY_PLUGIN=true
|
|
- OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g
|
|
healthcheck:
|
|
!!merge <<: *healthcheck-defaults
|
|
test: ["CMD-SHELL", "curl -sf http://localhost:9200/_cluster/health || exit 1"]
|