Search in sources :

Example 1 with WriteTxnMarkersResponseData

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);
}
Also used : WriteTxnMarkersResponse(org.apache.kafka.common.requests.WriteTxnMarkersResponse) WriteTxnMarkersResponseData(org.apache.kafka.common.message.WriteTxnMarkersResponseData)

Example 2 with WriteTxnMarkersResponseData

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)));
}
Also used : WriteTxnMarkersResponse(org.apache.kafka.common.requests.WriteTxnMarkersResponse) WriteTxnMarkersResponseData(org.apache.kafka.common.message.WriteTxnMarkersResponseData) Test(org.junit.jupiter.api.Test)

Example 3 with WriteTxnMarkersResponseData

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)));
}
Also used : WriteTxnMarkersResponse(org.apache.kafka.common.requests.WriteTxnMarkersResponse) TopicPartition(org.apache.kafka.common.TopicPartition) WriteTxnMarkersResponseData(org.apache.kafka.common.message.WriteTxnMarkersResponseData) Test(org.junit.jupiter.api.Test)

Example 4 with WriteTxnMarkersResponseData

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));
}
Also used : WriteTxnMarkersResponse(org.apache.kafka.common.requests.WriteTxnMarkersResponse) WriteTxnMarkersResponseData(org.apache.kafka.common.message.WriteTxnMarkersResponseData)

Aggregations

WriteTxnMarkersResponseData (org.apache.kafka.common.message.WriteTxnMarkersResponseData)4 WriteTxnMarkersResponse (org.apache.kafka.common.requests.WriteTxnMarkersResponse)4 Test (org.junit.jupiter.api.Test)2 TopicPartition (org.apache.kafka.common.TopicPartition)1