Skip to content

Commit e9b75d4

Browse files
committed
Raise non-retriable errors from producer _wait_on_metadata
1 parent 2df2cc2 commit e9b75d4

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

kafka/producer/kafka.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -960,9 +960,11 @@ def _wait_on_metadata(self, topic, max_wait_ms):
960960
future.add_both(lambda e, *args: e.set(), metadata_event)
961961
self._sender.wakeup()
962962
metadata_event.wait(timer.timeout_ms / 1000)
963-
if not metadata_event.is_set():
963+
if not future.is_done:
964964
raise Errors.KafkaTimeoutError(
965965
"Failed to update metadata after %.1f secs." % (max_wait_ms / 1000,))
966+
elif future.failed() and not future.retriable():
967+
raise future.exception
966968
elif topic in self._metadata.unauthorized_topics:
967969
raise Errors.TopicAuthorizationFailedError(set([topic]))
968970
else:

0 commit comments

Comments
 (0)