* Die Logs der Broker sehen so aus, als ob das Topic im Fehlerfall von
diesen als "nie angelegt" betrachtet wird, weil der für das Löschen
des alten Topics zuständige Broker zu früh stopt und beim Neu-Verteilen
dieser Aufgabe fälschlich das unter dem selben Namen neu erzeugte Topic
gelöscht wird.
* Alle Versuche, dies durch Schreiben in das Topic zuverlässig zu
verhindern, sind ins leere gelaufen.
* Helfen tut allein, nach dem Aufruf des `setup`-Services etwas zu
warten, bis sich die Broker alle einig sind.
while ! [[ $(http 0:8081/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for acks-1..."; sleep 1; done
while ! [[ $(http 0:8082/actuator/health 2> /dev/null) =~ "UP" ]]; do echo "Waiting for acks-all..."; sleep 1; done
+sleep 5
+
# tag::foo[]
echo foo | http -v :8081/acks-1
+echo foo | http -v :8081/acks-1
+echo foo | http -v :8082/acks-all
echo foo | http -v :8082/acks-all
kafkacat -C -b :9092 -t test -o 0 -e -f'p=%p|o=%o|k=%k|v=%s\n'
# end::foo[]
image: juplo/toolbox
command: >
bash -c "
- kafka-topics --bootstrap-server kafka:9092 --describe --topic test
kafka-topics --bootstrap-server kafka:9092 --delete --if-exists --topic test
kafka-topics --bootstrap-server kafka:9092 --create --topic test --partitions 2 --replication-factor 3 --config min.insync.replicas=2
- kafka-topics --bootstrap-server kafka-1:9092 --describe --topic test
- kafka-topics --bootstrap-server kafka-2:9092 --describe --topic test
- kafka-topics --bootstrap-server kafka-3:9092 --describe --topic test
- kafka-topics --bootstrap-server kafka:9092 --describe --topic test | kafkacat -P -b kafka:9092 -t test -X acks=all
- kafkacat -C -b kafka:9092 -t test -o 0 -e
+ kafka-topics --bootstrap-server kafka:9092 --describe --topic test
"
cli: