You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Jakob Homan (Jira)" <ji...@apache.org> on 2020/06/03 20:48:00 UTC
[jira] [Created] (KAFKA-10094) In MirrorSourceConnector replace
two-step assignment with single call
Jakob Homan created KAFKA-10094:
-----------------------------------
Summary: In MirrorSourceConnector replace two-step assignment with single call
Key: KAFKA-10094
URL: https://issues.apache.org/jira/browse/KAFKA-10094
Project: Kafka
Issue Type: Improvement
Components: mirrormaker
Reporter: Jakob Homan
Assignee: Mandar Tillu
n.b. This is a newbie ticket designed to be an introduction to contributing for the assignee.
In MirrorSourceConnector::refreshTopicPartitions we have places where we create a new HashSet and then addAll to the set. We can replace both with a direct call to the copy constructor.
{code:java}
void refreshTopicPartitions()
throws InterruptedException, ExecutionException {
knownSourceTopicPartitions = findSourceTopicPartitions();
knownTargetTopicPartitions = findTargetTopicPartitions();
List<TopicPartition> upstreamTargetTopicPartitions = knownTargetTopicPartitions.stream()
.map(x -> new TopicPartition(replicationPolicy.upstreamTopic(x.topic()), x.partition()))
.collect(Collectors.toList());
Set<TopicPartition> newTopicPartitions = new HashSet<>();
newTopicPartitions.addAll(knownSourceTopicPartitions);
newTopicPartitions.removeAll(upstreamTargetTopicPartitions);
Set<TopicPartition> deadTopicPartitions = new HashSet<>();
deadTopicPartitions.addAll(upstreamTargetTopicPartitions);{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)