use of org.apache.kafka.common.protocol.Errors in project kafka by apache.
the class CreateTopicsRequest method getErrorResponse.
@Override
public AbstractResponse getErrorResponse(Throwable e) {
Map<String, CreateTopicsResponse.Error> topicErrors = new HashMap<>();
for (String topic : topics.keySet()) {
Errors error = Errors.forException(e);
// Avoid populating the error message if it's a generic one
String message = error.message().equals(e.getMessage()) ? null : e.getMessage();
topicErrors.put(topic, new CreateTopicsResponse.Error(error, message));
}
short versionId = version();
switch(versionId) {
case 0:
case 1:
return new CreateTopicsResponse(topicErrors);
default:
throw new IllegalArgumentException(String.format("Version %d is not valid. Valid versions for %s are 0 to %d", versionId, this.getClass().getSimpleName(), ApiKeys.CREATE_TOPICS.latestVersion()));
}
}
use of org.apache.kafka.common.protocol.Errors in project kafka by apache.
the class MetadataRequest method getErrorResponse.
@Override
public AbstractResponse getErrorResponse(Throwable e) {
List<MetadataResponse.TopicMetadata> topicMetadatas = new ArrayList<>();
Errors error = Errors.forException(e);
List<MetadataResponse.PartitionMetadata> partitions = Collections.emptyList();
if (topics != null) {
for (String topic : topics) topicMetadatas.add(new MetadataResponse.TopicMetadata(error, topic, false, partitions));
}
short versionId = version();
switch(versionId) {
case 0:
case 1:
case 2:
return new MetadataResponse(Collections.<Node>emptyList(), null, MetadataResponse.NO_CONTROLLER_ID, topicMetadatas);
default:
throw new IllegalArgumentException(String.format("Version %d is not valid. Valid versions for %s are 0 to %d", versionId, this.getClass().getSimpleName(), ApiKeys.METADATA.latestVersion()));
}
}
use of org.apache.kafka.common.protocol.Errors in project kafka by apache.
the class StopReplicaResponse method toStruct.
@Override
protected Struct toStruct(short version) {
Struct struct = new Struct(ApiKeys.STOP_REPLICA.responseSchema(version));
List<Struct> responseDatas = new ArrayList<>(responses.size());
for (Map.Entry<TopicPartition, Errors> response : responses.entrySet()) {
Struct partitionData = struct.instance(PARTITIONS_KEY_NAME);
TopicPartition partition = response.getKey();
partitionData.set(PARTITIONS_TOPIC_KEY_NAME, partition.topic());
partitionData.set(PARTITIONS_PARTITION_KEY_NAME, partition.partition());
partitionData.set(PARTITIONS_ERROR_CODE_KEY_NAME, response.getValue().code());
responseDatas.add(partitionData);
}
struct.set(PARTITIONS_KEY_NAME, responseDatas.toArray());
struct.set(ERROR_CODE_KEY_NAME, error.code());
return struct;
}
use of org.apache.kafka.common.protocol.Errors in project kafka by apache.
the class LeaderAndIsrRequest method getErrorResponse.
@Override
public AbstractResponse getErrorResponse(Throwable e) {
Map<TopicPartition, Errors> responses = new HashMap<>(partitionStates.size());
for (TopicPartition partition : partitionStates.keySet()) {
responses.put(partition, Errors.forException(e));
}
short versionId = version();
switch(versionId) {
case 0:
return new LeaderAndIsrResponse(Errors.NONE, responses);
default:
throw new IllegalArgumentException(String.format("Version %d is not valid. Valid versions for %s are 0 to %d", versionId, this.getClass().getSimpleName(), ApiKeys.LEADER_AND_ISR.latestVersion()));
}
}
use of org.apache.kafka.common.protocol.Errors in project kafka by apache.
the class StopReplicaRequest method getErrorResponse.
@Override
public AbstractResponse getErrorResponse(Throwable e) {
Map<TopicPartition, Errors> responses = new HashMap<>(partitions.size());
for (TopicPartition partition : partitions) {
responses.put(partition, Errors.forException(e));
}
short versionId = version();
switch(versionId) {
case 0:
return new StopReplicaResponse(Errors.NONE, responses);
default:
throw new IllegalArgumentException(String.format("Version %d is not valid. Valid versions for %s are 0 to %d", versionId, this.getClass().getSimpleName(), ApiKeys.STOP_REPLICA.latestVersion()));
}
}
Aggregations