use of org.apache.kafka.common.message.WriteTxnMarkersResponseData in project kafka by apache.
the class KafkaAdminClientTest method writeTxnMarkersResponse.
private WriteTxnMarkersResponse writeTxnMarkersResponse(AbortTransactionSpec abortSpec, Errors error) {
WriteTxnMarkersResponseData.WritableTxnMarkerPartitionResult partitionResponse = new WriteTxnMarkersResponseData.WritableTxnMarkerPartitionResult().setPartitionIndex(abortSpec.topicPartition().partition()).setErrorCode(error.code());
WriteTxnMarkersResponseData.WritableTxnMarkerTopicResult topicResponse = new WriteTxnMarkersResponseData.WritableTxnMarkerTopicResult().setName(abortSpec.topicPartition().topic());
topicResponse.partitions().add(partitionResponse);
WriteTxnMarkersResponseData.WritableTxnMarkerResult markerResponse = new WriteTxnMarkersResponseData.WritableTxnMarkerResult().setProducerId(abortSpec.producerId());
markerResponse.topics().add(topicResponse);
WriteTxnMarkersResponseData response = new WriteTxnMarkersResponseData();
response.markers().add(markerResponse);
return new WriteTxnMarkersResponse(response);
}
use of org.apache.kafka.common.message.WriteTxnMarkersResponseData in project kafka by apache.
the class AbortTransactionHandlerTest method testInvalidResponse.
@Test
public void testInvalidResponse() {
AbortTransactionHandler handler = new AbortTransactionHandler(abortSpec, logContext);
WriteTxnMarkersResponseData response = new WriteTxnMarkersResponseData();
assertFailed(KafkaException.class, topicPartition, handler.handleResponse(node, singleton(topicPartition), new WriteTxnMarkersResponse(response)));
WriteTxnMarkersResponseData.WritableTxnMarkerResult markerResponse = new WriteTxnMarkersResponseData.WritableTxnMarkerResult();
response.markers().add(markerResponse);
assertFailed(KafkaException.class, topicPartition, handler.handleResponse(node, singleton(topicPartition), new WriteTxnMarkersResponse(response)));
markerResponse.setProducerId(abortSpec.producerId());
assertFailed(KafkaException.class, topicPartition, handler.handleResponse(node, singleton(topicPartition), new WriteTxnMarkersResponse(response)));
WriteTxnMarkersResponseData.WritableTxnMarkerTopicResult topicResponse = new WriteTxnMarkersResponseData.WritableTxnMarkerTopicResult();
markerResponse.topics().add(topicResponse);
assertFailed(KafkaException.class, topicPartition, handler.handleResponse(node, singleton(topicPartition), new WriteTxnMarkersResponse(response)));
topicResponse.setName(abortSpec.topicPartition().topic());
assertFailed(KafkaException.class, topicPartition, handler.handleResponse(node, singleton(topicPartition), new WriteTxnMarkersResponse(response)));
WriteTxnMarkersResponseData.WritableTxnMarkerPartitionResult partitionResponse = new WriteTxnMarkersResponseData.WritableTxnMarkerPartitionResult();
topicResponse.partitions().add(partitionResponse);
assertFailed(KafkaException.class, topicPartition, handler.handleResponse(node, singleton(topicPartition), new WriteTxnMarkersResponse(response)));
partitionResponse.setPartitionIndex(abortSpec.topicPartition().partition());
topicResponse.setName(abortSpec.topicPartition().topic() + "random");
assertFailed(KafkaException.class, topicPartition, handler.handleResponse(node, singleton(topicPartition), new WriteTxnMarkersResponse(response)));
topicResponse.setName(abortSpec.topicPartition().topic());
markerResponse.setProducerId(abortSpec.producerId() + 1);
assertFailed(KafkaException.class, topicPartition, handler.handleResponse(node, singleton(topicPartition), new WriteTxnMarkersResponse(response)));
}
use of org.apache.kafka.common.message.WriteTxnMarkersResponseData in project kafka by apache.
the class AbortTransactionHandlerTest method testInvalidHandleResponseCall.
@Test
public void testInvalidHandleResponseCall() {
AbortTransactionHandler handler = new AbortTransactionHandler(abortSpec, logContext);
WriteTxnMarkersResponseData response = new WriteTxnMarkersResponseData();
assertThrows(IllegalArgumentException.class, () -> handler.handleResponse(node, emptySet(), new WriteTxnMarkersResponse(response)));
assertThrows(IllegalArgumentException.class, () -> handler.handleResponse(node, mkSet(new TopicPartition("foo", 1)), new WriteTxnMarkersResponse(response)));
assertThrows(IllegalArgumentException.class, () -> handler.handleResponse(node, mkSet(topicPartition, new TopicPartition("foo", 1)), new WriteTxnMarkersResponse(response)));
}
use of org.apache.kafka.common.message.WriteTxnMarkersResponseData in project kafka by apache.
the class AbortTransactionHandlerTest method handleWithError.
private AdminApiHandler.ApiResult<TopicPartition, Void> handleWithError(AbortTransactionSpec abortSpec, Errors error) {
AbortTransactionHandler handler = new AbortTransactionHandler(abortSpec, logContext);
WriteTxnMarkersResponseData.WritableTxnMarkerPartitionResult partitionResponse = new WriteTxnMarkersResponseData.WritableTxnMarkerPartitionResult().setPartitionIndex(abortSpec.topicPartition().partition()).setErrorCode(error.code());
WriteTxnMarkersResponseData.WritableTxnMarkerTopicResult topicResponse = new WriteTxnMarkersResponseData.WritableTxnMarkerTopicResult().setName(abortSpec.topicPartition().topic());
topicResponse.partitions().add(partitionResponse);
WriteTxnMarkersResponseData.WritableTxnMarkerResult markerResponse = new WriteTxnMarkersResponseData.WritableTxnMarkerResult().setProducerId(abortSpec.producerId());
markerResponse.topics().add(topicResponse);
WriteTxnMarkersResponseData response = new WriteTxnMarkersResponseData();
response.markers().add(markerResponse);
return handler.handleResponse(node, singleton(abortSpec.topicPartition()), new WriteTxnMarkersResponse(response));
}
Aggregations