|
19 | 19 |
|
20 | 20 | from confluent_kafka import (KafkaException, ConsumerGroupTopicPartitions,
|
21 | 21 | TopicPartition, ConsumerGroupState, TopicCollection,
|
22 |
| - IsolationLevel) |
| 22 | + IsolationLevel, ElectionType) |
23 | 23 | from confluent_kafka.admin import (AdminClient, NewTopic, NewPartitions, ConfigResource,
|
24 | 24 | ConfigEntry, ConfigSource, AclBinding,
|
25 | 25 | AclBindingFilter, ResourceType, ResourcePatternType,
|
26 | 26 | AclOperation, AclPermissionType, AlterConfigOpType,
|
27 | 27 | ScramMechanism, ScramCredentialInfo,
|
28 | 28 | UserScramCredentialUpsertion, UserScramCredentialDeletion,
|
29 |
| - OffsetSpec, ElectionType) |
| 29 | + OffsetSpec) |
30 | 30 | import sys
|
31 | 31 | import threading
|
32 | 32 | import logging
|
@@ -893,17 +893,24 @@ def example_elect_leaders(a, args):
|
893 | 893 | for topic, partition in zip(args[1::2], args[2::2]):
|
894 | 894 | partitions.append(TopicPartition(topic, int(partition)))
|
895 | 895 |
|
| 896 | + if len(partitions) == 0: |
| 897 | + # When passing None as partitions, election is triggered for |
| 898 | + # all partitions in the cluster |
| 899 | + partitions = None |
| 900 | + |
896 | 901 | f = a.elect_leaders(election_type, partitions)
|
897 | 902 | try:
|
898 | 903 | results = f.result()
|
899 |
| - for partition, exception in results.items(): |
900 |
| - if exception is None: |
| 904 | + print(f"Elect leaders call returned {len(results)} result(s):") |
| 905 | + for partition, error in results.items(): |
| 906 | + if error is None: |
901 | 907 | print(f"Leader Election Successful for topic: '{partition.topic}'" +
|
902 | 908 | f" partition: '{partition.partition}'")
|
903 | 909 | else:
|
904 | 910 | print(
|
905 | 911 | "Leader Election Failed for topic: " +
|
906 |
| - f"'{partition.topic}' partition: '{partition.partition}': {exception}") |
| 912 | + f"'{partition.topic}' partition: '{partition.partition}' " + |
| 913 | + f"error code: {error.code()} error message: {error.str()}") |
907 | 914 | except KafkaException as e:
|
908 | 915 | print(f"Error electing leaders: {e}")
|
909 | 916 |
|
|
0 commit comments