Der einzige Weg ist, geduldig zu sein...
authorKai Moritz <kai@juplo.de>
Wed, 10 Aug 2022 17:01:04 +0000 (19:01 +0200)
committerKai Moritz <kai@juplo.de>
Wed, 10 Aug 2022 17:01:06 +0000 (19:01 +0200)
* 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.

README.sh
docker-compose.yml

index 3bc7e8a..35f9395 100755 (executable)
--- a/README.sh
+++ b/README.sh
@@ -29,8 +29,12 @@ docker-compose up -d
 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[]
index f3614d5..116cd9a 100644 (file)
@@ -64,14 +64,9 @@ services:
     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: