Search in sources :

Example 1 with TopicResponse

use of org.apache.kafka.common.message.DescribeProducersResponseData.TopicResponse in project kafka by apache.

the class DescribeProducersRequest method getErrorResponse.

@Override
public DescribeProducersResponse getErrorResponse(int throttleTimeMs, Throwable e) {
    Errors error = Errors.forException(e);
    DescribeProducersResponseData response = new DescribeProducersResponseData();
    for (TopicRequest topicRequest : data.topics()) {
        TopicResponse topicResponse = new TopicResponse().setName(topicRequest.name());
        for (int partitionId : topicRequest.partitionIndexes()) {
            topicResponse.partitions().add(new PartitionResponse().setPartitionIndex(partitionId).setErrorCode(error.code()));
        }
        response.topics().add(topicResponse);
    }
    return new DescribeProducersResponse(response);
}
Also used : Errors(org.apache.kafka.common.protocol.Errors) PartitionResponse(org.apache.kafka.common.message.DescribeProducersResponseData.PartitionResponse) TopicRequest(org.apache.kafka.common.message.DescribeProducersRequestData.TopicRequest) TopicResponse(org.apache.kafka.common.message.DescribeProducersResponseData.TopicResponse) DescribeProducersResponseData(org.apache.kafka.common.message.DescribeProducersResponseData)

Example 2 with TopicResponse

use of org.apache.kafka.common.message.DescribeProducersResponseData.TopicResponse in project kafka by apache.

the class DescribeProducersHandlerTest method describeProducersResponse.

private DescribeProducersResponse describeProducersResponse(Map<TopicPartition, PartitionResponse> partitionResponses) {
    DescribeProducersResponseData response = new DescribeProducersResponseData();
    Map<String, Map<Integer, PartitionResponse>> partitionResponsesByTopic = CollectionUtils.groupPartitionDataByTopic(partitionResponses);
    for (Map.Entry<String, Map<Integer, PartitionResponse>> topicEntry : partitionResponsesByTopic.entrySet()) {
        String topic = topicEntry.getKey();
        Map<Integer, PartitionResponse> topicPartitionResponses = topicEntry.getValue();
        TopicResponse topicResponse = new TopicResponse().setName(topic);
        response.topics().add(topicResponse);
        for (Map.Entry<Integer, PartitionResponse> partitionEntry : topicPartitionResponses.entrySet()) {
            Integer partitionId = partitionEntry.getKey();
            PartitionResponse partitionResponse = partitionEntry.getValue();
            topicResponse.partitions().add(partitionResponse.setPartitionIndex(partitionId));
        }
    }
    return new DescribeProducersResponse(response);
}
Also used : PartitionResponse(org.apache.kafka.common.message.DescribeProducersResponseData.PartitionResponse) TopicResponse(org.apache.kafka.common.message.DescribeProducersResponseData.TopicResponse) Map(java.util.Map) Collections.singletonMap(java.util.Collections.singletonMap) Collections.emptyMap(java.util.Collections.emptyMap) DescribeProducersResponseData(org.apache.kafka.common.message.DescribeProducersResponseData) DescribeProducersResponse(org.apache.kafka.common.requests.DescribeProducersResponse)

Aggregations

DescribeProducersResponseData (org.apache.kafka.common.message.DescribeProducersResponseData)2 PartitionResponse (org.apache.kafka.common.message.DescribeProducersResponseData.PartitionResponse)2 TopicResponse (org.apache.kafka.common.message.DescribeProducersResponseData.TopicResponse)2 Collections.emptyMap (java.util.Collections.emptyMap)1 Collections.singletonMap (java.util.Collections.singletonMap)1 Map (java.util.Map)1 TopicRequest (org.apache.kafka.common.message.DescribeProducersRequestData.TopicRequest)1 Errors (org.apache.kafka.common.protocol.Errors)1 DescribeProducersResponse (org.apache.kafka.common.requests.DescribeProducersResponse)1