Rückbau auf einen Consumer, der in `onPartitionsRevoked()` nicht committed sumup-adder--rebalance-listener
authorKai Moritz <kai@juplo.de>
Sun, 28 Aug 2022 14:01:22 +0000 (16:01 +0200)
committerKai Moritz <kai@juplo.de>
Tue, 6 Sep 2022 17:14:52 +0000 (19:14 +0200)
commit9fe70ad96d2b5a9ed0581057da54facba859ad1f
tree6303e565a1f6aa83316d5ff6d5b2670d72edba6e
parent9f8bcc8f869626efa0a258b3116582c8354a66d1
Rückbau auf einen Consumer, der in `onPartitionsRevoked()` nicht committed

* Dadurch sollte es bei einem Rebalance i.d.R. zu Fehlern in dem
  mitgeführten Zustand kommen, da die Verarbeitung nur im Zufall an dem
  Offset fortegführt wird, für den der Zustand gespeichert wurde.
* Um das vorherige Verhalten der Implementierung wiederherzustellen,
  müssen insbesondere die commits im Falle eines ordentlichen
  Herunterfahrens und eines Deserialisierungs-Fehlers wieder
  ergänzt werden. Denn ansonsten bestätigt die Implementierung die
  Offsets für die zuletzt erfolgreich verarbeiteten Nachrichten nicht.
* Vorführ-Skript so angepasst, dass man sofort sieht, dass in dieser
  Version schon eine reguläre "Staffelübergabe" - also auch schon ein
  normales Rebalance, das einfach durch das Starten eines zweiten
  Consumers ausgelöst wurde - ein Fehler auftritt.
README.sh
src/main/java/de/juplo/kafka/ApplicationConfiguration.java
src/main/java/de/juplo/kafka/ApplicationRebalanceListener.java
src/main/java/de/juplo/kafka/EndlessConsumer.java