Search in sources :

Example 1 with MIN_NAMED_TOPOLOGY_VERSION

use of org.apache.kafka.streams.processor.internals.assignment.StreamsAssignmentProtocolVersions.MIN_NAMED_TOPOLOGY_VERSION in project kafka by apache.

the class SubscriptionInfo method setTaskOffsetSumDataFromTaskOffsetSumMap.

// For MIN_NAMED_TOPOLOGY_VERSION > version > MIN_VERSION_OFFSET_SUM_SUBSCRIPTION
private void setTaskOffsetSumDataFromTaskOffsetSumMap(final Map<TaskId, Long> taskOffsetSums) {
    final Map<Integer, List<SubscriptionInfoData.PartitionToOffsetSum>> topicGroupIdToPartitionOffsetSum = new HashMap<>();
    for (final Map.Entry<TaskId, Long> taskEntry : taskOffsetSums.entrySet()) {
        final TaskId task = taskEntry.getKey();
        if (task.topologyName() != null) {
            throw new TaskAssignmentException("Named topologies are not compatible with older protocol versions");
        }
        topicGroupIdToPartitionOffsetSum.computeIfAbsent(task.subtopology(), t -> new ArrayList<>()).add(new SubscriptionInfoData.PartitionToOffsetSum().setPartition(task.partition()).setOffsetSum(taskEntry.getValue()));
    }
    data.setTaskOffsetSums(topicGroupIdToPartitionOffsetSum.entrySet().stream().map(t -> {
        final SubscriptionInfoData.TaskOffsetSum taskOffsetSum = new SubscriptionInfoData.TaskOffsetSum();
        taskOffsetSum.setTopicGroupId(t.getKey());
        taskOffsetSum.setPartitionToOffsetSum(t.getValue());
        return taskOffsetSum;
    }).collect(Collectors.toList()));
}
Also used : TaskAssignmentException(org.apache.kafka.streams.errors.TaskAssignmentException) Uuid(org.apache.kafka.common.Uuid) MessageUtil(org.apache.kafka.common.protocol.MessageUtil) MIN_NAMED_TOPOLOGY_VERSION(org.apache.kafka.streams.processor.internals.assignment.StreamsAssignmentProtocolVersions.MIN_NAMED_TOPOLOGY_VERSION) Logger(org.slf4j.Logger) PartitionToOffsetSum(org.apache.kafka.streams.internals.generated.SubscriptionInfoData.PartitionToOffsetSum) TaskId(org.apache.kafka.streams.processor.TaskId) LATEST_SUPPORTED_VERSION(org.apache.kafka.streams.processor.internals.assignment.StreamsAssignmentProtocolVersions.LATEST_SUPPORTED_VERSION) ByteBufferAccessor(org.apache.kafka.common.protocol.ByteBufferAccessor) LoggerFactory(org.slf4j.LoggerFactory) SubscriptionInfoData(org.apache.kafka.streams.internals.generated.SubscriptionInfoData) Set(java.util.Set) HashMap(java.util.HashMap) UUID(java.util.UUID) TaskAssignmentException(org.apache.kafka.streams.errors.TaskAssignmentException) Collectors(java.util.stream.Collectors) ByteBuffer(java.nio.ByteBuffer) StandardCharsets(java.nio.charset.StandardCharsets) ArrayList(java.util.ArrayList) Task(org.apache.kafka.streams.processor.internals.Task) HashSet(java.util.HashSet) List(java.util.List) TaskOffsetSum(org.apache.kafka.streams.internals.generated.SubscriptionInfoData.TaskOffsetSum) Map(java.util.Map) Collections(java.util.Collections) TaskId(org.apache.kafka.streams.processor.TaskId) TaskOffsetSum(org.apache.kafka.streams.internals.generated.SubscriptionInfoData.TaskOffsetSum) TaskOffsetSum(org.apache.kafka.streams.internals.generated.SubscriptionInfoData.TaskOffsetSum) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) SubscriptionInfoData(org.apache.kafka.streams.internals.generated.SubscriptionInfoData) ArrayList(java.util.ArrayList) List(java.util.List) HashMap(java.util.HashMap) Map(java.util.Map) PartitionToOffsetSum(org.apache.kafka.streams.internals.generated.SubscriptionInfoData.PartitionToOffsetSum)

Aggregations

ByteBuffer (java.nio.ByteBuffer)1 StandardCharsets (java.nio.charset.StandardCharsets)1 ArrayList (java.util.ArrayList)1 Collections (java.util.Collections)1 HashMap (java.util.HashMap)1 HashSet (java.util.HashSet)1 List (java.util.List)1 Map (java.util.Map)1 Set (java.util.Set)1 UUID (java.util.UUID)1 Collectors (java.util.stream.Collectors)1 Uuid (org.apache.kafka.common.Uuid)1 ByteBufferAccessor (org.apache.kafka.common.protocol.ByteBufferAccessor)1 MessageUtil (org.apache.kafka.common.protocol.MessageUtil)1 TaskAssignmentException (org.apache.kafka.streams.errors.TaskAssignmentException)1 SubscriptionInfoData (org.apache.kafka.streams.internals.generated.SubscriptionInfoData)1 PartitionToOffsetSum (org.apache.kafka.streams.internals.generated.SubscriptionInfoData.PartitionToOffsetSum)1 TaskOffsetSum (org.apache.kafka.streams.internals.generated.SubscriptionInfoData.TaskOffsetSum)1 TaskId (org.apache.kafka.streams.processor.TaskId)1 Task (org.apache.kafka.streams.processor.internals.Task)1