Verbesserung
Top-Thema
Detail
Wichtig
Detail
Detail
#25928
Ungültige Konfigurationen für Producer und Consumer
Die Implementierung com.top_logic.kafka.services.common.KafkaCommonClient, auf der sowohl TLKafkaProducer als auch ConsumerDispatcher basieren, übersetzt die typisierte Konfiguration in Kafka-Properties mittels getTypedProperties(), indem alle mit der KafkaClientProperty-Annotation versehenden Properties von ihren Werten her in eine Map<String, Object> gepackt werden.
Wurde für eine solche Property aber weder ein Default- noch expliziter Konfigurationswert eingetragen, so landet in der Map der Wert null. Sowohl KafkaProducer als auch der KafkaConsumer interpretieren diese Werte als vorhanden - auch wenn sie null sind - und versuchen, etwas damit anzufangen. Das führt zu einem vollkommen undefinierten Verhalten.
=== Lösungsvorschlag Die von getTypedProperties() erzeugte Map darf nur Einträge enthalten, deren Wert nicht null ist.
Test
Kein Test.