|
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