docker-library / cassandra

Docker Official Image packaging for Cassandra
Apache License 2.0
262 stars 281 forks source link

CLUSTER_NAME part seems wrong #161

Closed jay7x closed 5 years ago

jay7x commented 5 years ago

This code looks wrong for me: https://github.com/docker-library/cassandra/blob/16adc2232c7bdd7a55a0591d987c18325b122298/docker-entrypoint.sh#L54

    if [ -n "${CASSANDRA_NAME:+1}" ]; then
        : ${CASSANDRA_SEEDS:="cassandra"}
    fi
    : ${CASSANDRA_SEEDS:="$CASSANDRA_BROADCAST_ADDRESS"}

CASSANDRA_NAME is not described not used after (but CASSANDRA_CLUSTER_NAME is). CASSANDRA_SEEDS shouldn't be string "cassandra". I guess this is about CASSANDRA_CLUSTER_NAME too.

Could you please check?

P.S. if [[ -z "${CASSANDRA_CLUSTER_NAME}" ]]; then may be easier to read way to check for cluster name (as you're using /bin/bash anyway).

yosifkit commented 5 years ago

CASSANDRA_NAME is the environment variable that appears if you use --link to another container and call the other cassandra. ie:

$ docker run -d --name some-cassandra cassandra:3.11
41806c308986259eab4a875f604188c6288e72d49624de85b2a0956c32d2a3b3
$ docker run -d --name cassandra2 --link some-cassandra:cassandra cassandra:3.11
fc30ae7636b83a11e7eba4b2f177b40c8fb149e1a4911c94278aa9306bb98fdf
$ docker exec some-cassandra nodetool status
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address     Load       Tokens       Owns (effective)  Host ID                               Rack
UN  172.17.0.5  103.68 KiB  256          100.0%            0acfd0a9-d102-4acc-8aa0-8a746522ebfd  rack1
UJ  172.17.0.6  93.54 KiB  256          ?                 04ace2d4-f959-4445-bbb6-4fc240d97865  rack1