From 92a49ec194e7dfc737bc5c1e7c0e86168ed08f0e Mon Sep 17 00:00:00 2001 From: Craig Bryant Date: Sun, 5 Nov 2017 21:16:53 -0700 Subject: [PATCH 1/2] Allow kafka container to stay alive after kafka exits This will allow debugging of error conditions and handling problems like a full disk. --- kafka/README.md | 1 + kafka/start.sh | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/kafka/README.md b/kafka/README.md index b3e3eb02f..4a06a4908 100644 --- a/kafka/README.md +++ b/kafka/README.md @@ -68,6 +68,7 @@ Several parameters can be specified using environment variables: | `KAFKA_STACK_SIZE` | `1024k` | JVM stack size | | `LOG_RETENTION_HOURS` | `4` | Number of hours to keep a log file | | `LOG_ROLL_MS` | `900000` | Number of ms before a new log segment is rolled out | +| `STAY_ALIVE_ON_FAILURE` | `false` | If `true`, container stays alive for 2 hours after kafka exits | ### Log Files diff --git a/kafka/start.sh b/kafka/start.sh index f258d974e..655da09f9 100755 --- a/kafka/start.sh +++ b/kafka/start.sh @@ -15,6 +15,8 @@ ZOOKEEPER_WAIT_TIMEOUT=${ZOOKEEPER_WAIT_TIMEOUT:-"3"} ZOOKEEPER_WAIT_DELAY=${ZOOKEEPER_WAIT_DELAY:-"10"} ZOOKEEPER_WAIT_RETRIES=${ZOOKEEPER_WAIT_RETRIES:-"20"} +STAY_ALIVE_ON_FAILURE=${STAY_ALIVE_ON_FAILURE:-"false"} + export SERVER_LOG_LEVEL=${SERVER_LOG_LEVEL:-"INFO"} export REQUEST_LOG_LEVEL=${REQUEST_LOG_LEVEL:-"WARN"} export CONTROLLER_LOG_LEVEL=${CONTROLLER_LOG_LEVEL:-"INFO"} @@ -103,5 +105,19 @@ if [ "$GC_LOG_ENABLED" != "true" ]; then sed "-i.sv" -e "s/-loggc//" /kafka/bin/kafka-server-start.sh fi +echo "Current disk space usage" +# Make this directory configurable if it becomes configurable in server.properties.j2 +df /data + echo "Starting kafka..." -exec /kafka/bin/kafka-server-start.sh "$CONFIG_DEST/server.properties" +EXEC="exec" +if [ "$STAY_ALIVE_ON_FAILURE" = "true" ]; then + EXEC="" +fi +$EXEC /kafka/bin/kafka-server-start.sh "$CONFIG_DEST/server.properties" +RESULT=$? + +# Keep the container alive for debugging or actions like resolving a full disk. This +# sleep will only be reached if STAY_ALIVE_ON_FAILURE is true +sleep 7200 +exit $RESULT From b1634b0965b268efe6b31d505f564d866ba11894 Mon Sep 17 00:00:00 2001 From: Craig Bryant Date: Mon, 6 Nov 2017 09:23:06 -0700 Subject: [PATCH 2/2] Bump kafka version --- kafka/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kafka/build.yml b/kafka/build.yml index ce30c5667..beacbaae8 100644 --- a/kafka/build.yml +++ b/kafka/build.yml @@ -1,6 +1,6 @@ repository: monasca/kafka variants: - - tag: 0.9.0.1-2.11-1.1.5 + - tag: 0.9.0.1-2.11-1.1.6 args: KAFKA_VERSION: "0.9.0.1" SCALA_VERSION: "2.11"