Delivery-Timeout für den REST-Producer herabgesetzt
authorKai Moritz <kai@juplo.de>
Sun, 3 Apr 2022 05:45:15 +0000 (07:45 +0200)
committerKai Moritz <kai@juplo.de>
Sun, 3 Apr 2022 05:50:41 +0000 (07:50 +0200)
* Der Timeout für `delivery.timeout.ms` wurde von 2 Minuten auf 20
  Sekunden heruntergesetzt
* Grund: Die HTTP-Verbindungen der Clients laufen nach 30 Sekunden in
  den Default-Timeout, so dass die Fehler sonst nicht sichtbar werden!
* Achtung: Parallel musste dafür `request.timeout.ms` auf 10 Sekunden
  herabgesetzt werden, da `delivery.timeout.ms` größer oder gleich
  `request.timeout.ms` + `linger.ms` sein muss!
* Die 10s Spiel zwischen `delivery.timeout.ms` und `request.timeout.ms`
  werden für die Übungen benötigt, in denen mit `linger.ms` experimentiert
  werden soll...

src/main/java/de/juplo/kafka/RestProducer.java

index 19f70ba..dea49f0 100644 (file)
@@ -34,6 +34,8 @@ public class RestProducer
     props.put("client.id", properties.getClientId());
     props.put("acks", properties.getAcks());
     props.put("batch.size", properties.getBatchSize());
+    props.put("delivery.timeout.ms", 20000); // 20 Sekunden
+    props.put("request.timeout.ms",  10000); // 10 Sekunden
     props.put("linger.ms", properties.getLingerMs());
     props.put("compression.type", properties.getCompressionType());
     props.put("key.serializer", StringSerializer.class.getName());