[HUDI-596] Close KafkaConsumer every time (#1303)
This commit is contained in:
@@ -172,14 +172,15 @@ public class KafkaOffsetGen {
|
||||
public OffsetRange[] getNextOffsetRanges(Option<String> lastCheckpointStr, long sourceLimit) {
|
||||
|
||||
// Obtain current metadata for the topic
|
||||
KafkaConsumer consumer = new KafkaConsumer(kafkaParams);
|
||||
Map<TopicPartition, Long> fromOffsets;
|
||||
Map<TopicPartition, Long> toOffsets;
|
||||
try (KafkaConsumer consumer = new KafkaConsumer(kafkaParams)) {
|
||||
List<PartitionInfo> partitionInfoList;
|
||||
partitionInfoList = consumer.partitionsFor(topicName);
|
||||
Set<TopicPartition> topicPartitions = partitionInfoList.stream()
|
||||
.map(x -> new TopicPartition(x.topic(), x.partition())).collect(Collectors.toSet());
|
||||
|
||||
// Determine the offset ranges to read from
|
||||
Map<TopicPartition, Long> fromOffsets;
|
||||
if (lastCheckpointStr.isPresent()) {
|
||||
fromOffsets = checkupValidOffsets(consumer, lastCheckpointStr, topicPartitions);
|
||||
} else {
|
||||
@@ -198,7 +199,8 @@ public class KafkaOffsetGen {
|
||||
}
|
||||
|
||||
// Obtain the latest offsets.
|
||||
Map<TopicPartition, Long> toOffsets = consumer.endOffsets(topicPartitions);
|
||||
toOffsets = consumer.endOffsets(topicPartitions);
|
||||
}
|
||||
|
||||
// Come up with final set of OffsetRanges to read (account for new partitions, limit number of events)
|
||||
long maxEventsToReadFromKafka = props.getLong(Config.MAX_EVENTS_FROM_KAFKA_SOURCE_PROP,
|
||||
|
||||
Reference in New Issue
Block a user